diff --git a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/client.rb b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/client.rb index d97e3f70fcc9..9ad5387b369c 100644 --- a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/client.rb +++ b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/client.rb @@ -254,7 +254,7 @@ def logger # Required. The parent resource of the VpcFlowLogsConfig, # in one of the following formats: # - # - For project-level resourcs: `projects/{project_id}/locations/global` + # - For project-level resources: `projects/{project_id}/locations/global` # # - For organization-level resources: # `organizations/{organization_id}/locations/global` diff --git a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/rest/client.rb b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/rest/client.rb index 75d37c3a6153..1f6768ddb948 100644 --- a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/rest/client.rb +++ b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/rest/client.rb @@ -249,7 +249,7 @@ def logger # Required. The parent resource of the VpcFlowLogsConfig, # in one of the following formats: # - # - For project-level resourcs: `projects/{project_id}/locations/global` + # - For project-level resources: `projects/{project_id}/locations/global` # # - For organization-level resources: # `organizations/{organization_id}/locations/global` diff --git a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/rest/operations.rb b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/rest/operations.rb index 1fa5b31d0396..546b9dc06204 100644 --- a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/rest/operations.rb +++ b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/organization_vpc_flow_logs_service/rest/operations.rb @@ -854,7 +854,7 @@ def self.transcode_list_operations_request request_pb uri_method: :get, uri_template: "/v1/{name}/operations", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/?$}, false] ] ) transcoder.transcode request_pb @@ -882,7 +882,7 @@ def self.transcode_get_operation_request request_pb uri_method: :get, uri_template: "/v1/{name}", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/operations/[^/]+/?$}, false] ] ) transcoder.transcode request_pb @@ -910,7 +910,7 @@ def self.transcode_delete_operation_request request_pb uri_method: :delete, uri_template: "/v1/{name}", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/operations/[^/]+/?$}, false] ] ) transcoder.transcode request_pb @@ -940,7 +940,7 @@ def self.transcode_cancel_operation_request request_pb uri_template: "/v1/{name}:cancel", body: "*", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/operations/[^/]+/?$}, false] ] ) transcoder.transcode request_pb diff --git a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/reachability_service/rest/operations.rb b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/reachability_service/rest/operations.rb index 7afa3189ac5a..0a3b7f537be0 100644 --- a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/reachability_service/rest/operations.rb +++ b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/reachability_service/rest/operations.rb @@ -854,7 +854,7 @@ def self.transcode_list_operations_request request_pb uri_method: :get, uri_template: "/v1/{name}/operations", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/?$}, false] ] ) transcoder.transcode request_pb @@ -882,7 +882,7 @@ def self.transcode_get_operation_request request_pb uri_method: :get, uri_template: "/v1/{name}", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/operations/[^/]+/?$}, false] ] ) transcoder.transcode request_pb @@ -910,7 +910,7 @@ def self.transcode_delete_operation_request request_pb uri_method: :delete, uri_template: "/v1/{name}", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/operations/[^/]+/?$}, false] ] ) transcoder.transcode request_pb @@ -940,7 +940,7 @@ def self.transcode_cancel_operation_request request_pb uri_template: "/v1/{name}:cancel", body: "*", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/operations/[^/]+/?$}, false] ] ) transcoder.transcode request_pb diff --git a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/client.rb b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/client.rb index 09c81d51ac73..3c7b8137904e 100644 --- a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/client.rb +++ b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/client.rb @@ -253,7 +253,7 @@ def logger # Required. The parent resource of the VpcFlowLogsConfig, # in one of the following formats: # - # - For project-level resourcs: `projects/{project_id}/locations/global` + # - For project-level resources: `projects/{project_id}/locations/global` # # - For organization-level resources: # `organizations/{organization_id}/locations/global` diff --git a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/client.rb b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/client.rb index 4e4b56ac01a6..dba3eb5dc703 100644 --- a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/client.rb +++ b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/client.rb @@ -248,7 +248,7 @@ def logger # Required. The parent resource of the VpcFlowLogsConfig, # in one of the following formats: # - # - For project-level resourcs: `projects/{project_id}/locations/global` + # - For project-level resources: `projects/{project_id}/locations/global` # # - For organization-level resources: # `organizations/{organization_id}/locations/global` diff --git a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/operations.rb b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/operations.rb index 173660b284fa..325f42543a3a 100644 --- a/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/operations.rb +++ b/google-cloud-network_management-v1/lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/operations.rb @@ -854,7 +854,7 @@ def self.transcode_list_operations_request request_pb uri_method: :get, uri_template: "/v1/{name}/operations", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/?$}, false] ] ) transcoder.transcode request_pb @@ -882,7 +882,7 @@ def self.transcode_get_operation_request request_pb uri_method: :get, uri_template: "/v1/{name}", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/operations/[^/]+/?$}, false] ] ) transcoder.transcode request_pb @@ -910,7 +910,7 @@ def self.transcode_delete_operation_request request_pb uri_method: :delete, uri_template: "/v1/{name}", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/operations/[^/]+/?$}, false] ] ) transcoder.transcode request_pb @@ -940,7 +940,7 @@ def self.transcode_cancel_operation_request request_pb uri_template: "/v1/{name}:cancel", body: "*", matches: [ - ["name", %r{^organizations/[^/]+/locations/[^/]+/operations/[^/]+/?$}, false] + ["name", %r{^organizations/[^/]+/locations/global/operations/[^/]+/?$}, false] ] ) transcoder.transcode request_pb diff --git a/google-cloud-network_management-v1/lib/google/cloud/networkmanagement/v1/connectivity_test_pb.rb b/google-cloud-network_management-v1/lib/google/cloud/networkmanagement/v1/connectivity_test_pb.rb index 01af3e5b98dd..af52f0fdad6f 100644 --- a/google-cloud-network_management-v1/lib/google/cloud/networkmanagement/v1/connectivity_test_pb.rb +++ b/google-cloud-network_management-v1/lib/google/cloud/networkmanagement/v1/connectivity_test_pb.rb @@ -11,7 +11,7 @@ require 'google/rpc/status_pb' -descriptor_data = "\n9google/cloud/networkmanagement/v1/connectivity_test.proto\x12!google.cloud.networkmanagement.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a-google/cloud/networkmanagement/v1/trace.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xae\x07\n\x10\x43onnectivityTest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12@\n\x06source\x18\x03 \x01(\x0b\x32+.google.cloud.networkmanagement.v1.EndpointB\x03\xe0\x41\x02\x12\x45\n\x0b\x64\x65stination\x18\x04 \x01(\x0b\x32+.google.cloud.networkmanagement.v1.EndpointB\x03\xe0\x41\x02\x12\x10\n\x08protocol\x18\x05 \x01(\t\x12\x18\n\x10related_projects\x18\x06 \x03(\t\x12\x19\n\x0c\x64isplay_name\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12O\n\x06labels\x18\x08 \x03(\x0b\x32?.google.cloud.networkmanagement.v1.ConnectivityTest.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12Y\n\x14reachability_details\x18\x0c \x01(\x0b\x32\x36.google.cloud.networkmanagement.v1.ReachabilityDetailsB\x03\xe0\x41\x03\x12O\n\x0fprobing_details\x18\x0e \x01(\x0b\x32\x31.google.cloud.networkmanagement.v1.ProbingDetailsB\x03\xe0\x41\x03\x12\x12\n\nround_trip\x18\x0f \x01(\x08\x12`\n\x1breturn_reachability_details\x18\x10 \x01(\x0b\x32\x36.google.cloud.networkmanagement.v1.ReachabilityDetailsB\x03\xe0\x41\x03\x12\x1e\n\x16\x62ypass_firewall_checks\x18\x11 \x01(\x08\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:t\xea\x41q\n1networkmanagement.googleapis.com/ConnectivityTest\x12.google.cloud.networkmanagement.v1.ProbingDetails.EdgeLocation\x12\\\n\x0e\x65\x64ge_responses\x18\n \x03(\x0b\x32\x44.google.cloud.networkmanagement.v1.ProbingDetails.SingleEdgeResponse\x12\x1a\n\x12probed_all_devices\x18\x0b \x01(\x08\x1a)\n\x0c\x45\x64geLocation\x12\x19\n\x11metropolitan_area\x18\x01 \x01(\t\x1a\xf1\x02\n\x12SingleEdgeResponse\x12O\n\x06result\x18\x01 \x01(\x0e\x32?.google.cloud.networkmanagement.v1.ProbingDetails.ProbingResult\x12\x18\n\x10sent_probe_count\x18\x02 \x01(\x05\x12\x1e\n\x16successful_probe_count\x18\x03 \x01(\x05\x12O\n\x0fprobing_latency\x18\x04 \x01(\x0b\x32\x36.google.cloud.networkmanagement.v1.LatencyDistribution\x12\x63\n\x1b\x64\x65stination_egress_location\x18\x05 \x01(\x0b\x32>.google.cloud.networkmanagement.v1.ProbingDetails.EdgeLocation\x12\x1a\n\x12\x64\x65stination_router\x18\x06 \x01(\t\"\x80\x01\n\rProbingResult\x12\x1e\n\x1aPROBING_RESULT_UNSPECIFIED\x10\x00\x12\r\n\tREACHABLE\x10\x01\x12\x0f\n\x0bUNREACHABLE\x10\x02\x12\x1d\n\x19REACHABILITY_INCONSISTENT\x10\x03\x12\x10\n\x0cUNDETERMINED\x10\x04\"g\n\x11ProbingAbortCause\x12#\n\x1fPROBING_ABORT_CAUSE_UNSPECIFIED\x10\x00\x12\x15\n\x11PERMISSION_DENIED\x10\x01\x12\x16\n\x12NO_SOURCE_LOCATION\x10\x02\x42\xfd\x01\n%com.google.cloud.networkmanagement.v1B\x0eTestOuterClassP\x01ZScloud.google.com/go/networkmanagement/apiv1/networkmanagementpb;networkmanagementpb\xaa\x02!Google.Cloud.NetworkManagement.V1\xca\x02!Google\\Cloud\\NetworkManagement\\V1\xea\x02$Google::Cloud::NetworkManagement::V1b\x06proto3" +descriptor_data = "\n9google/cloud/networkmanagement/v1/connectivity_test.proto\x12!google.cloud.networkmanagement.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a-google/cloud/networkmanagement/v1/trace.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xae\x07\n\x10\x43onnectivityTest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12@\n\x06source\x18\x03 \x01(\x0b\x32+.google.cloud.networkmanagement.v1.EndpointB\x03\xe0\x41\x02\x12\x45\n\x0b\x64\x65stination\x18\x04 \x01(\x0b\x32+.google.cloud.networkmanagement.v1.EndpointB\x03\xe0\x41\x02\x12\x10\n\x08protocol\x18\x05 \x01(\t\x12\x18\n\x10related_projects\x18\x06 \x03(\t\x12\x19\n\x0c\x64isplay_name\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12O\n\x06labels\x18\x08 \x03(\x0b\x32?.google.cloud.networkmanagement.v1.ConnectivityTest.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12Y\n\x14reachability_details\x18\x0c \x01(\x0b\x32\x36.google.cloud.networkmanagement.v1.ReachabilityDetailsB\x03\xe0\x41\x03\x12O\n\x0fprobing_details\x18\x0e \x01(\x0b\x32\x31.google.cloud.networkmanagement.v1.ProbingDetailsB\x03\xe0\x41\x03\x12\x12\n\nround_trip\x18\x0f \x01(\x08\x12`\n\x1breturn_reachability_details\x18\x10 \x01(\x0b\x32\x36.google.cloud.networkmanagement.v1.ReachabilityDetailsB\x03\xe0\x41\x03\x12\x1e\n\x16\x62ypass_firewall_checks\x18\x11 \x01(\x08\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:t\xea\x41q\n1networkmanagement.googleapis.com/ConnectivityTest\x12.google.cloud.networkmanagement.v1.ProbingDetails.EdgeLocation\x12\\\n\x0e\x65\x64ge_responses\x18\n \x03(\x0b\x32\x44.google.cloud.networkmanagement.v1.ProbingDetails.SingleEdgeResponse\x12\x1a\n\x12probed_all_devices\x18\x0b \x01(\x08\x1a)\n\x0c\x45\x64geLocation\x12\x19\n\x11metropolitan_area\x18\x01 \x01(\t\x1a\xf1\x02\n\x12SingleEdgeResponse\x12O\n\x06result\x18\x01 \x01(\x0e\x32?.google.cloud.networkmanagement.v1.ProbingDetails.ProbingResult\x12\x18\n\x10sent_probe_count\x18\x02 \x01(\x05\x12\x1e\n\x16successful_probe_count\x18\x03 \x01(\x05\x12O\n\x0fprobing_latency\x18\x04 \x01(\x0b\x32\x36.google.cloud.networkmanagement.v1.LatencyDistribution\x12\x63\n\x1b\x64\x65stination_egress_location\x18\x05 \x01(\x0b\x32>.google.cloud.networkmanagement.v1.ProbingDetails.EdgeLocation\x12\x1a\n\x12\x64\x65stination_router\x18\x06 \x01(\t\"\x80\x01\n\rProbingResult\x12\x1e\n\x1aPROBING_RESULT_UNSPECIFIED\x10\x00\x12\r\n\tREACHABLE\x10\x01\x12\x0f\n\x0bUNREACHABLE\x10\x02\x12\x1d\n\x19REACHABILITY_INCONSISTENT\x10\x03\x12\x10\n\x0cUNDETERMINED\x10\x04\"g\n\x11ProbingAbortCause\x12#\n\x1fPROBING_ABORT_CAUSE_UNSPECIFIED\x10\x00\x12\x15\n\x11PERMISSION_DENIED\x10\x01\x12\x16\n\x12NO_SOURCE_LOCATION\x10\x02\x42\xfd\x01\n%com.google.cloud.networkmanagement.v1B\x0eTestOuterClassP\x01ZScloud.google.com/go/networkmanagement/apiv1/networkmanagementpb;networkmanagementpb\xaa\x02!Google.Cloud.NetworkManagement.V1\xca\x02!Google\\Cloud\\NetworkManagement\\V1\xea\x02$Google::Cloud::NetworkManagement::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/google-cloud-network_management-v1/lib/google/cloud/networkmanagement/v1/trace_pb.rb b/google-cloud-network_management-v1/lib/google/cloud/networkmanagement/v1/trace_pb.rb index f4d9baabcc56..dfd343ca8c0b 100644 --- a/google-cloud-network_management-v1/lib/google/cloud/networkmanagement/v1/trace_pb.rb +++ b/google-cloud-network_management-v1/lib/google/cloud/networkmanagement/v1/trace_pb.rb @@ -8,7 +8,7 @@ require 'google/api/field_info_pb' -descriptor_data = "\n-google/cloud/networkmanagement/v1/trace.proto\x12!google.cloud.networkmanagement.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\"\xa1\x01\n\x05Trace\x12\x46\n\rendpoint_info\x18\x01 \x01(\x0b\x32/.google.cloud.networkmanagement.v1.EndpointInfo\x12\x36\n\x05steps\x18\x02 \x03(\x0b\x32\'.google.cloud.networkmanagement.v1.Step\x12\x18\n\x10\x66orward_trace_id\x18\x04 \x01(\x05\"\xbd\x1c\n\x04Step\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12<\n\x05state\x18\x02 \x01(\x0e\x32-.google.cloud.networkmanagement.v1.Step.State\x12\x13\n\x0b\x63\x61uses_drop\x18\x03 \x01(\x08\x12\x12\n\nproject_id\x18\x04 \x01(\t\x12\x43\n\x08instance\x18\x05 \x01(\x0b\x32/.google.cloud.networkmanagement.v1.InstanceInfoH\x00\x12\x43\n\x08\x66irewall\x18\x06 \x01(\x0b\x32/.google.cloud.networkmanagement.v1.FirewallInfoH\x00\x12=\n\x05route\x18\x07 \x01(\x0b\x32,.google.cloud.networkmanagement.v1.RouteInfoH\x00\x12\x43\n\x08\x65ndpoint\x18\x08 \x01(\x0b\x32/.google.cloud.networkmanagement.v1.EndpointInfoH\x00\x12N\n\x0egoogle_service\x18\x18 \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.GoogleServiceInfoH\x00\x12P\n\x0f\x66orwarding_rule\x18\t \x01(\x0b\x32\x35.google.cloud.networkmanagement.v1.ForwardingRuleInfoH\x00\x12L\n\rhybrid_subnet\x18$ \x01(\x0b\x32\x33.google.cloud.networkmanagement.v1.HybridSubnetInfoH\x00\x12H\n\x0bvpn_gateway\x18\n \x01(\x0b\x32\x31.google.cloud.networkmanagement.v1.VpnGatewayInfoH\x00\x12\x46\n\nvpn_tunnel\x18\x0b \x01(\x0b\x32\x30.google.cloud.networkmanagement.v1.VpnTunnelInfoH\x00\x12`\n\x17interconnect_attachment\x18# \x01(\x0b\x32=.google.cloud.networkmanagement.v1.InterconnectAttachmentInfoH\x00\x12L\n\rvpc_connector\x18\x15 \x01(\x0b\x32\x33.google.cloud.networkmanagement.v1.VpcConnectorInfoH\x00\x12h\n\x1c\x64irect_vpc_egress_connection\x18! \x01(\x0b\x32@.google.cloud.networkmanagement.v1.DirectVpcEgressConnectionInfoH\x00\x12m\n\x1eserverless_external_connection\x18\" \x01(\x0b\x32\x43.google.cloud.networkmanagement.v1.ServerlessExternalConnectionInfoH\x00\x12\x41\n\x07\x64\x65liver\x18\x0c \x01(\x0b\x32..google.cloud.networkmanagement.v1.DeliverInfoH\x00\x12\x41\n\x07\x66orward\x18\r \x01(\x0b\x32..google.cloud.networkmanagement.v1.ForwardInfoH\x00\x12=\n\x05\x61\x62ort\x18\x0e \x01(\x0b\x32,.google.cloud.networkmanagement.v1.AbortInfoH\x00\x12;\n\x04\x64rop\x18\x0f \x01(\x0b\x32+.google.cloud.networkmanagement.v1.DropInfoH\x00\x12P\n\rload_balancer\x18\x10 \x01(\x0b\x32\x33.google.cloud.networkmanagement.v1.LoadBalancerInfoB\x02\x18\x01H\x00\x12\x41\n\x07network\x18\x11 \x01(\x0b\x32..google.cloud.networkmanagement.v1.NetworkInfoH\x00\x12\x46\n\ngke_master\x18\x12 \x01(\x0b\x32\x30.google.cloud.networkmanagement.v1.GKEMasterInfoH\x00\x12U\n\x12\x63loud_sql_instance\x18\x13 \x01(\x0b\x32\x37.google.cloud.networkmanagement.v1.CloudSQLInstanceInfoH\x00\x12N\n\x0eredis_instance\x18\x1e \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.RedisInstanceInfoH\x00\x12L\n\rredis_cluster\x18\x1f \x01(\x0b\x32\x33.google.cloud.networkmanagement.v1.RedisClusterInfoH\x00\x12N\n\x0e\x63loud_function\x18\x14 \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.CloudFunctionInfoH\x00\x12U\n\x12\x61pp_engine_version\x18\x16 \x01(\x0b\x32\x37.google.cloud.networkmanagement.v1.AppEngineVersionInfoH\x00\x12U\n\x12\x63loud_run_revision\x18\x17 \x01(\x0b\x32\x37.google.cloud.networkmanagement.v1.CloudRunRevisionInfoH\x00\x12\x39\n\x03nat\x18\x19 \x01(\x0b\x32*.google.cloud.networkmanagement.v1.NatInfoH\x00\x12R\n\x10proxy_connection\x18\x1a \x01(\x0b\x32\x36.google.cloud.networkmanagement.v1.ProxyConnectionInfoH\x00\x12`\n\x1aload_balancer_backend_info\x18\x1b \x01(\x0b\x32:.google.cloud.networkmanagement.v1.LoadBalancerBackendInfoH\x00\x12N\n\x0estorage_bucket\x18\x1c \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.StorageBucketInfoH\x00\x12N\n\x0eserverless_neg\x18\x1d \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.ServerlessNegInfoH\x00\"\xaf\x08\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x17\n\x13START_FROM_INSTANCE\x10\x01\x12\x17\n\x13START_FROM_INTERNET\x10\x02\x12\x1d\n\x19START_FROM_GOOGLE_SERVICE\x10\x1b\x12\x1e\n\x1aSTART_FROM_PRIVATE_NETWORK\x10\x03\x12\x19\n\x15START_FROM_GKE_MASTER\x10\x15\x12!\n\x1dSTART_FROM_CLOUD_SQL_INSTANCE\x10\x16\x12\x1d\n\x19START_FROM_REDIS_INSTANCE\x10 \x12\x1c\n\x18START_FROM_REDIS_CLUSTER\x10!\x12\x1d\n\x19START_FROM_CLOUD_FUNCTION\x10\x17\x12!\n\x1dSTART_FROM_APP_ENGINE_VERSION\x10\x19\x12!\n\x1dSTART_FROM_CLOUD_RUN_REVISION\x10\x1a\x12\x1d\n\x19START_FROM_STORAGE_BUCKET\x10\x1d\x12$\n START_FROM_PSC_PUBLISHED_SERVICE\x10\x1e\x12\x1d\n\x19START_FROM_SERVERLESS_NEG\x10\x1f\x12\x1f\n\x1b\x41PPLY_INGRESS_FIREWALL_RULE\x10\x04\x12\x1e\n\x1a\x41PPLY_EGRESS_FIREWALL_RULE\x10\x05\x12\x0f\n\x0b\x41PPLY_ROUTE\x10\x06\x12\x19\n\x15\x41PPLY_FORWARDING_RULE\x10\x07\x12!\n\x1d\x41NALYZE_LOAD_BALANCER_BACKEND\x10\x1c\x12\x15\n\x11SPOOFING_APPROVED\x10\x08\x12\x16\n\x12\x41RRIVE_AT_INSTANCE\x10\t\x12(\n ARRIVE_AT_INTERNAL_LOAD_BALANCER\x10\n\x1a\x02\x08\x01\x12(\n ARRIVE_AT_EXTERNAL_LOAD_BALANCER\x10\x0b\x1a\x02\x08\x01\x12\x1b\n\x17\x41RRIVE_AT_HYBRID_SUBNET\x10&\x12\x19\n\x15\x41RRIVE_AT_VPN_GATEWAY\x10\x0c\x12\x18\n\x14\x41RRIVE_AT_VPN_TUNNEL\x10\r\x12%\n!ARRIVE_AT_INTERCONNECT_ATTACHMENT\x10%\x12\x1b\n\x17\x41RRIVE_AT_VPC_CONNECTOR\x10\x18\x12 \n\x1c\x44IRECT_VPC_EGRESS_CONNECTION\x10#\x12\"\n\x1eSERVERLESS_EXTERNAL_CONNECTION\x10$\x12\x07\n\x03NAT\x10\x0e\x12\x14\n\x10PROXY_CONNECTION\x10\x0f\x12\x0b\n\x07\x44\x45LIVER\x10\x10\x12\x08\n\x04\x44ROP\x10\x11\x12\x0b\n\x07\x46ORWARD\x10\x12\x12\t\n\x05\x41\x42ORT\x10\x13\x12\x1d\n\x19VIEWER_PERMISSION_MISSING\x10\x14\x42\x0b\n\tstep_info\"\xf7\x02\n\x0cInstanceInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x11\n\tinterface\x18\x03 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x04 \x01(\t\x12\x13\n\x0binternal_ip\x18\x05 \x01(\t\x12\x13\n\x0b\x65xternal_ip\x18\x06 \x01(\t\x12\x14\n\x0cnetwork_tags\x18\x07 \x03(\t\x12\x1b\n\x0fservice_account\x18\x08 \x01(\tB\x02\x18\x01\x12\"\n\x1apsc_network_attachment_uri\x18\t \x01(\t\x12\x13\n\x07running\x18\n \x01(\x08\x42\x02\x18\x01\x12\x46\n\x06status\x18\x0b \x01(\x0e\x32\x36.google.cloud.networkmanagement.v1.InstanceInfo.Status\">\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\x0f\n\x0bNOT_RUNNING\x10\x02\"v\n\x0bNetworkInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x1a\n\x12matched_subnet_uri\x18\x05 \x01(\t\x12\x18\n\x10matched_ip_range\x18\x04 \x01(\t\x12\x0e\n\x06region\x18\x06 \x01(\t\"\xd4\x06\n\x0c\x46irewallInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x04 \x01(\t\x12\x10\n\x08priority\x18\x05 \x01(\x05\x12\x13\n\x0bnetwork_uri\x18\x06 \x01(\t\x12\x13\n\x0btarget_tags\x18\x07 \x03(\t\x12\x1f\n\x17target_service_accounts\x18\x08 \x03(\t\x12\x0e\n\x06policy\x18\t \x01(\t\x12\x12\n\npolicy_uri\x18\x0b \x01(\t\x12\\\n\x12\x66irewall_rule_type\x18\n \x01(\x0e\x32@.google.cloud.networkmanagement.v1.FirewallInfo.FirewallRuleType\x12\x17\n\x0fpolicy_priority\x18\x0c \x01(\x05\x12O\n\x0btarget_type\x18\r \x01(\x0e\x32:.google.cloud.networkmanagement.v1.FirewallInfo.TargetType\"\xe1\x02\n\x10\x46irewallRuleType\x12\"\n\x1e\x46IREWALL_RULE_TYPE_UNSPECIFIED\x10\x00\x12%\n!HIERARCHICAL_FIREWALL_POLICY_RULE\x10\x01\x12\x15\n\x11VPC_FIREWALL_RULE\x10\x02\x12\x1d\n\x19IMPLIED_VPC_FIREWALL_RULE\x10\x03\x12/\n+SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE\x10\x04\x12 \n\x1cNETWORK_FIREWALL_POLICY_RULE\x10\x05\x12)\n%NETWORK_REGIONAL_FIREWALL_POLICY_RULE\x10\x06\x12$\n UNSUPPORTED_FIREWALL_POLICY_RULE\x10\x64\x12\x12\n\x0eTRACKING_STATE\x10\x65\x12\x14\n\x10\x41NALYSIS_SKIPPED\x10\x66\"Q\n\nTargetType\x12\x1b\n\x17TARGET_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tINSTANCES\x10\x01\x12\x17\n\x13INTERNAL_MANAGED_LB\x10\x02\"\xec\x0b\n\tRouteInfo\x12J\n\nroute_type\x18\x08 \x01(\x0e\x32\x36.google.cloud.networkmanagement.v1.RouteInfo.RouteType\x12O\n\rnext_hop_type\x18\t \x01(\x0e\x32\x38.google.cloud.networkmanagement.v1.RouteInfo.NextHopType\x12P\n\x0broute_scope\x18\x0e \x01(\x0e\x32\x37.google.cloud.networkmanagement.v1.RouteInfo.RouteScopeB\x02\x18\x01\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x13 \x01(\t\x12\x15\n\rdest_ip_range\x18\x03 \x01(\t\x12\x14\n\x08next_hop\x18\x04 \x01(\tB\x02\x18\x01\x12\x13\n\x0bnetwork_uri\x18\x05 \x01(\t\x12\x10\n\x08priority\x18\x06 \x01(\x05\x12\x15\n\rinstance_tags\x18\x07 \x03(\t\x12\x14\n\x0csrc_ip_range\x18\n \x01(\t\x12\x18\n\x10\x64\x65st_port_ranges\x18\x0b \x03(\t\x12\x17\n\x0fsrc_port_ranges\x18\x0c \x03(\t\x12\x11\n\tprotocols\x18\r \x03(\t\x12\x18\n\x0bncc_hub_uri\x18\x0f \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rncc_spoke_uri\x18\x10 \x01(\tH\x01\x88\x01\x01\x12/\n\"advertised_route_source_router_uri\x18\x11 \x01(\tH\x02\x88\x01\x01\x12.\n\x1d\x61\x64vertised_route_next_hop_uri\x18\x12 \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x14\n\x0cnext_hop_uri\x18\x14 \x01(\t\x12\x1c\n\x14next_hop_network_uri\x18\x15 \x01(\t\x12\x1d\n\x15originating_route_uri\x18\x16 \x01(\t\x12&\n\x1eoriginating_route_display_name\x18\x17 \x01(\t\x12\x19\n\x11ncc_hub_route_uri\x18\x18 \x01(\t\"\xab\x01\n\tRouteType\x12\x1a\n\x16ROUTE_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06SUBNET\x10\x01\x12\n\n\x06STATIC\x10\x02\x12\x0b\n\x07\x44YNAMIC\x10\x03\x12\x12\n\x0ePEERING_SUBNET\x10\x04\x12\x12\n\x0ePEERING_STATIC\x10\x05\x12\x13\n\x0fPEERING_DYNAMIC\x10\x06\x12\x10\n\x0cPOLICY_BASED\x10\x07\x12\x0e\n\nADVERTISED\x10\x65\"\xea\x02\n\x0bNextHopType\x12\x1d\n\x19NEXT_HOP_TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bNEXT_HOP_IP\x10\x01\x12\x15\n\x11NEXT_HOP_INSTANCE\x10\x02\x12\x14\n\x10NEXT_HOP_NETWORK\x10\x03\x12\x14\n\x10NEXT_HOP_PEERING\x10\x04\x12\x19\n\x15NEXT_HOP_INTERCONNECT\x10\x05\x12\x17\n\x13NEXT_HOP_VPN_TUNNEL\x10\x06\x12\x18\n\x14NEXT_HOP_VPN_GATEWAY\x10\x07\x12\x1d\n\x19NEXT_HOP_INTERNET_GATEWAY\x10\x08\x12\x16\n\x12NEXT_HOP_BLACKHOLE\x10\t\x12\x10\n\x0cNEXT_HOP_ILB\x10\n\x12\x1d\n\x19NEXT_HOP_ROUTER_APPLIANCE\x10\x0b\x12\x14\n\x10NEXT_HOP_NCC_HUB\x10\x0c\x12\x1c\n\x18SECURE_WEB_PROXY_GATEWAY\x10\r\"C\n\nRouteScope\x12\x1b\n\x17ROUTE_SCOPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07NETWORK\x10\x01\x12\x0b\n\x07NCC_HUB\x10\x02\x42\x0e\n\x0c_ncc_hub_uriB\x10\n\x0e_ncc_spoke_uriB%\n#_advertised_route_source_router_uriB \n\x1e_advertised_route_next_hop_uri\"\xda\x02\n\x11GoogleServiceInfo\x12\x11\n\tsource_ip\x18\x01 \x01(\t\x12\x63\n\x13google_service_type\x18\x02 \x01(\x0e\x32\x46.google.cloud.networkmanagement.v1.GoogleServiceInfo.GoogleServiceType\"\xcc\x01\n\x11GoogleServiceType\x12#\n\x1fGOOGLE_SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03IAP\x10\x01\x12$\n GFE_PROXY_OR_HEALTH_CHECK_PROBER\x10\x02\x12\r\n\tCLOUD_DNS\x10\x03\x12\x0e\n\nGOOGLE_API\x10\x04\x12\x12\n\x0eGOOGLE_API_PSC\x10\x05\x12\x15\n\x11GOOGLE_API_VPC_SC\x10\x06\x12\x19\n\x15SERVERLESS_VPC_ACCESS\x10\x07\"\x8e\x02\n\x12\x46orwardingRuleInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x18\n\x10matched_protocol\x18\x03 \x01(\t\x12\x1a\n\x12matched_port_range\x18\x06 \x01(\t\x12\x0b\n\x03vip\x18\x04 \x01(\t\x12\x0e\n\x06target\x18\x05 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x07 \x01(\t\x12\x0e\n\x06region\x18\x08 \x01(\t\x12\x1a\n\x12load_balancer_name\x18\t \x01(\t\x12\"\n\x1apsc_service_attachment_uri\x18\n \x01(\t\x12\x1d\n\x15psc_google_api_target\x18\x0b \x01(\t\"\xc2\x04\n\x10LoadBalancerInfo\x12`\n\x12load_balancer_type\x18\x01 \x01(\x0e\x32\x44.google.cloud.networkmanagement.v1.LoadBalancerInfo.LoadBalancerType\x12\x1c\n\x10health_check_uri\x18\x02 \x01(\tB\x02\x18\x01\x12H\n\x08\x62\x61\x63kends\x18\x03 \x03(\x0b\x32\x36.google.cloud.networkmanagement.v1.LoadBalancerBackend\x12U\n\x0c\x62\x61\x63kend_type\x18\x04 \x01(\x0e\x32?.google.cloud.networkmanagement.v1.LoadBalancerInfo.BackendType\x12\x13\n\x0b\x62\x61\x63kend_uri\x18\x05 \x01(\t\"\x8f\x01\n\x10LoadBalancerType\x12\"\n\x1eLOAD_BALANCER_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10INTERNAL_TCP_UDP\x10\x01\x12\x13\n\x0fNETWORK_TCP_UDP\x10\x02\x12\x0e\n\nHTTP_PROXY\x10\x03\x12\r\n\tTCP_PROXY\x10\x04\x12\r\n\tSSL_PROXY\x10\x05\"f\n\x0b\x42\x61\x63kendType\x12\x1c\n\x18\x42\x41\x43KEND_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x42\x41\x43KEND_SERVICE\x10\x01\x12\x0f\n\x0bTARGET_POOL\x10\x02\x12\x13\n\x0fTARGET_INSTANCE\x10\x03\"\xf6\x02\n\x13LoadBalancerBackend\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12t\n\x1bhealth_check_firewall_state\x18\x03 \x01(\x0e\x32O.google.cloud.networkmanagement.v1.LoadBalancerBackend.HealthCheckFirewallState\x12,\n$health_check_allowing_firewall_rules\x18\x04 \x03(\t\x12,\n$health_check_blocking_firewall_rules\x18\x05 \x03(\t\"j\n\x18HealthCheckFirewallState\x12+\n\'HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED\x10\x00\x12\x0e\n\nCONFIGURED\x10\x01\x12\x11\n\rMISCONFIGURED\x10\x02\"E\n\x10HybridSubnetInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\"\x84\x01\n\x0eVpnGatewayInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x03 \x01(\t\x12\x12\n\nip_address\x18\x04 \x01(\t\x12\x16\n\x0evpn_tunnel_uri\x18\x05 \x01(\t\x12\x0e\n\x06region\x18\x06 \x01(\t\"\xee\x02\n\rVpnTunnelInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x16\n\x0esource_gateway\x18\x03 \x01(\t\x12\x16\n\x0eremote_gateway\x18\x04 \x01(\t\x12\x19\n\x11remote_gateway_ip\x18\x05 \x01(\t\x12\x19\n\x11source_gateway_ip\x18\x06 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x07 \x01(\t\x12\x0e\n\x06region\x18\x08 \x01(\t\x12R\n\x0crouting_type\x18\t \x01(\x0e\x32<.google.cloud.networkmanagement.v1.VpnTunnelInfo.RoutingType\"[\n\x0bRoutingType\x12\x1c\n\x18ROUTING_TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bROUTE_BASED\x10\x01\x12\x10\n\x0cPOLICY_BASED\x10\x02\x12\x0b\n\x07\x44YNAMIC\x10\x03\"\xeb\x02\n\x1aInterconnectAttachmentInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x18\n\x10interconnect_uri\x18\x03 \x01(\t\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x18\n\x10\x63loud_router_uri\x18\x05 \x01(\t\x12P\n\x04type\x18\x06 \x01(\x0e\x32\x42.google.cloud.networkmanagement.v1.InterconnectAttachmentInfo.Type\x12\x32\n l2_attachment_matched_ip_address\x18\x07 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\"`\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\r\n\tDEDICATED\x10\x01\x12\x0b\n\x07PARTNER\x10\x02\x12\x14\n\x10PARTNER_PROVIDER\x10\x03\x12\x10\n\x0cL2_DEDICATED\x10\x04\"\xd1\x01\n\x0c\x45ndpointInfo\x12\x11\n\tsource_ip\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65stination_ip\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x12\x18\n\x10\x64\x65stination_port\x18\x05 \x01(\x05\x12\x1a\n\x12source_network_uri\x18\x06 \x01(\t\x12\x1f\n\x17\x64\x65stination_network_uri\x18\x07 \x01(\t\x12\x18\n\x10source_agent_uri\x18\x08 \x01(\t\"\xc7\x06\n\x0b\x44\x65liverInfo\x12\x45\n\x06target\x18\x01 \x01(\x0e\x32\x35.google.cloud.networkmanagement.v1.DeliverInfo.Target\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x1c\n\nip_address\x18\x03 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x16\n\x0estorage_bucket\x18\x04 \x01(\t\x12\x1d\n\x15psc_google_api_target\x18\x05 \x01(\t\x12]\n\x13google_service_type\x18\x06 \x01(\x0e\x32@.google.cloud.networkmanagement.v1.DeliverInfo.GoogleServiceType\"\xf7\x02\n\x06Target\x12\x16\n\x12TARGET_UNSPECIFIED\x10\x00\x12\x0c\n\x08INSTANCE\x10\x01\x12\x0c\n\x08INTERNET\x10\x02\x12\x0e\n\nGOOGLE_API\x10\x03\x12\x0e\n\nGKE_MASTER\x10\x04\x12\x16\n\x12\x43LOUD_SQL_INSTANCE\x10\x05\x12\x19\n\x15PSC_PUBLISHED_SERVICE\x10\x06\x12\x12\n\x0ePSC_GOOGLE_API\x10\x07\x12\x0e\n\nPSC_VPC_SC\x10\x08\x12\x12\n\x0eSERVERLESS_NEG\x10\t\x12\x12\n\x0eSTORAGE_BUCKET\x10\n\x12\x13\n\x0fPRIVATE_NETWORK\x10\x0b\x12\x12\n\x0e\x43LOUD_FUNCTION\x10\x0c\x12\x16\n\x12\x41PP_ENGINE_VERSION\x10\r\x12\x16\n\x12\x43LOUD_RUN_REVISION\x10\x0e\x12\x1a\n\x16GOOGLE_MANAGED_SERVICE\x10\x0f\x12\x12\n\x0eREDIS_INSTANCE\x10\x10\x12\x11\n\rREDIS_CLUSTER\x10\x11\"\xac\x01\n\x11GoogleServiceType\x12#\n\x1fGOOGLE_SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03IAP\x10\x01\x12$\n GFE_PROXY_OR_HEALTH_CHECK_PROBER\x10\x02\x12\r\n\tCLOUD_DNS\x10\x03\x12\x19\n\x15PRIVATE_GOOGLE_ACCESS\x10\x04\x12\x19\n\x15SERVERLESS_VPC_ACCESS\x10\x05\"\x89\x03\n\x0b\x46orwardInfo\x12\x45\n\x06target\x18\x01 \x01(\x0e\x32\x35.google.cloud.networkmanagement.v1.ForwardInfo.Target\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x1c\n\nip_address\x18\x03 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\"\xfe\x01\n\x06Target\x12\x16\n\x12TARGET_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPEERING_VPC\x10\x01\x12\x0f\n\x0bVPN_GATEWAY\x10\x02\x12\x10\n\x0cINTERCONNECT\x10\x03\x12\x12\n\nGKE_MASTER\x10\x04\x1a\x02\x08\x01\x12\"\n\x1eIMPORTED_CUSTOM_ROUTE_NEXT_HOP\x10\x05\x12\x1a\n\x12\x43LOUD_SQL_INSTANCE\x10\x06\x1a\x02\x08\x01\x12\x13\n\x0f\x41NOTHER_PROJECT\x10\x07\x12\x0b\n\x07NCC_HUB\x10\x08\x12\x14\n\x10ROUTER_APPLIANCE\x10\t\x12\x1c\n\x18SECURE_WEB_PROXY_GATEWAY\x10\n\"\xc6\x0b\n\tAbortInfo\x12\x41\n\x05\x63\x61use\x18\x01 \x01(\x0e\x32\x32.google.cloud.networkmanagement.v1.AbortInfo.Cause\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x1c\n\nip_address\x18\x04 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12#\n\x1bprojects_missing_permission\x18\x03 \x03(\t\"\x9c\n\n\x05\x43\x61use\x12\x15\n\x11\x43\x41USE_UNSPECIFIED\x10\x00\x12\x17\n\x0fUNKNOWN_NETWORK\x10\x01\x1a\x02\x08\x01\x12\x17\n\x0fUNKNOWN_PROJECT\x10\x03\x1a\x02\x08\x01\x12\x16\n\x0eNO_EXTERNAL_IP\x10\x07\x1a\x02\x08\x01\x12\x1e\n\x16UNINTENDED_DESTINATION\x10\x08\x1a\x02\x08\x01\x12!\n\x19SOURCE_ENDPOINT_NOT_FOUND\x10\x0b\x1a\x02\x08\x01\x12!\n\x19MISMATCHED_SOURCE_NETWORK\x10\x0c\x1a\x02\x08\x01\x12&\n\x1e\x44\x45STINATION_ENDPOINT_NOT_FOUND\x10\r\x1a\x02\x08\x01\x12&\n\x1eMISMATCHED_DESTINATION_NETWORK\x10\x0e\x1a\x02\x08\x01\x12\x0e\n\nUNKNOWN_IP\x10\x02\x12%\n!GOOGLE_MANAGED_SERVICE_UNKNOWN_IP\x10 \x12+\n\'SOURCE_IP_ADDRESS_NOT_IN_SOURCE_NETWORK\x10\x17\x12\x15\n\x11PERMISSION_DENIED\x10\x04\x12*\n&PERMISSION_DENIED_NO_CLOUD_NAT_CONFIGS\x10\x1c\x12-\n)PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS\x10\x1d\x12-\n)PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS\x10$\x12\x16\n\x12NO_SOURCE_LOCATION\x10\x05\x12\x14\n\x10INVALID_ARGUMENT\x10\x06\x12\x12\n\x0eTRACE_TOO_LONG\x10\t\x12\x12\n\x0eINTERNAL_ERROR\x10\n\x12\x0f\n\x0bUNSUPPORTED\x10\x0f\x12\x19\n\x15MISMATCHED_IP_VERSION\x10\x10\x12&\n\"GKE_KONNECTIVITY_PROXY_UNSUPPORTED\x10\x11\x12\x1d\n\x19RESOURCE_CONFIG_NOT_FOUND\x10\x12\x12 \n\x1cVM_INSTANCE_CONFIG_NOT_FOUND\x10\x18\x12\x1c\n\x18NETWORK_CONFIG_NOT_FOUND\x10\x19\x12\x1d\n\x19\x46IREWALL_CONFIG_NOT_FOUND\x10\x1a\x12\x1a\n\x16ROUTE_CONFIG_NOT_FOUND\x10\x1b\x12\x31\n-GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT\x10\x13\x12-\n)GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT\x10\'\x12$\n SOURCE_PSC_CLOUD_SQL_UNSUPPORTED\x10\x14\x12$\n SOURCE_REDIS_CLUSTER_UNSUPPORTED\x10\"\x12%\n!SOURCE_REDIS_INSTANCE_UNSUPPORTED\x10#\x12&\n\"SOURCE_FORWARDING_RULE_UNSUPPORTED\x10\x15\x12\x1b\n\x17NON_ROUTABLE_IP_ADDRESS\x10\x16\x12+\n\'UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT\x10\x1e\x12-\n)UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG\x10\x1f\x12\x1b\n\x17NO_SERVERLESS_IP_RANGES\x10%\x12 \n\x1cIP_VERSION_PROTOCOL_MISMATCH\x10(\"\xcb \n\x08\x44ropInfo\x12@\n\x05\x63\x61use\x18\x01 \x01(\x0e\x32\x31.google.cloud.networkmanagement.v1.DropInfo.Cause\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x11\n\tsource_ip\x18\x03 \x01(\t\x12\x16\n\x0e\x64\x65stination_ip\x18\x04 \x01(\t\x12\x0e\n\x06region\x18\x05 \x01(\t\x12\x1f\n\x17source_geolocation_code\x18\x06 \x01(\t\x12$\n\x1c\x64\x65stination_geolocation_code\x18\x07 \x01(\t\"\xe4\x1e\n\x05\x43\x61use\x12\x15\n\x11\x43\x41USE_UNSPECIFIED\x10\x00\x12\x1c\n\x18UNKNOWN_EXTERNAL_ADDRESS\x10\x01\x12\x19\n\x15\x46OREIGN_IP_DISALLOWED\x10\x02\x12\x11\n\rFIREWALL_RULE\x10\x03\x12\x0c\n\x08NO_ROUTE\x10\x04\x12\x13\n\x0fROUTE_BLACKHOLE\x10\x05\x12\x17\n\x13ROUTE_WRONG_NETWORK\x10\x06\x12*\n&ROUTE_NEXT_HOP_IP_ADDRESS_NOT_RESOLVED\x10*\x12%\n!ROUTE_NEXT_HOP_RESOURCE_NOT_FOUND\x10+\x12)\n%ROUTE_NEXT_HOP_INSTANCE_WRONG_NETWORK\x10\x31\x12*\n&ROUTE_NEXT_HOP_INSTANCE_NON_PRIMARY_IP\x10\x32\x12.\n*ROUTE_NEXT_HOP_FORWARDING_RULE_IP_MISMATCH\x10\x33\x12-\n)ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED\x10\x34\x12/\n+ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID\x10\x35\x12\x32\n.NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS\x10,\x12>\n:NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS\x10\x62\x12&\n\"VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH\x10-\x12\'\n#VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH\x10.\x12\x1f\n\x1bPRIVATE_TRAFFIC_TO_INTERNET\x10\x07\x12$\n PRIVATE_GOOGLE_ACCESS_DISALLOWED\x10\x08\x12\x34\n0PRIVATE_GOOGLE_ACCESS_VIA_VPN_TUNNEL_UNSUPPORTED\x10/\x12\x17\n\x13NO_EXTERNAL_ADDRESS\x10\t\x12\x1c\n\x18UNKNOWN_INTERNAL_ADDRESS\x10\n\x12\x1c\n\x18\x46ORWARDING_RULE_MISMATCH\x10\x0b\x12 \n\x1c\x46ORWARDING_RULE_NO_INSTANCES\x10\x0c\x12\x38\n4FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK\x10\r\x12:\n6INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS\x10U\x12\x18\n\x14INSTANCE_NOT_RUNNING\x10\x0e\x12\x1b\n\x17GKE_CLUSTER_NOT_RUNNING\x10\x1b\x12\"\n\x1e\x43LOUD_SQL_INSTANCE_NOT_RUNNING\x10\x1c\x12\x1e\n\x1aREDIS_INSTANCE_NOT_RUNNING\x10\x44\x12\x1d\n\x19REDIS_CLUSTER_NOT_RUNNING\x10\x45\x12\x18\n\x14TRAFFIC_TYPE_BLOCKED\x10\x0f\x12\"\n\x1eGKE_MASTER_UNAUTHORIZED_ACCESS\x10\x10\x12*\n&CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS\x10\x11\x12\x1e\n\x1a\x44ROPPED_INSIDE_GKE_SERVICE\x10\x12\x12$\n DROPPED_INSIDE_CLOUD_SQL_SERVICE\x10\x13\x12%\n!GOOGLE_MANAGED_SERVICE_NO_PEERING\x10\x14\x12*\n&GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT\x10&\x12\x1c\n\x18GKE_PSC_ENDPOINT_MISSING\x10$\x12$\n CLOUD_SQL_INSTANCE_NO_IP_ADDRESS\x10\x15\x12%\n!GKE_CONTROL_PLANE_REGION_MISMATCH\x10\x1e\x12\x33\n/PUBLIC_GKE_CONTROL_PLANE_TO_PRIVATE_DESTINATION\x10\x1f\x12\x1e\n\x1aGKE_CONTROL_PLANE_NO_ROUTE\x10 \x12:\n6CLOUD_SQL_INSTANCE_NOT_CONFIGURED_FOR_EXTERNAL_TRAFFIC\x10!\x12\x34\n0PUBLIC_CLOUD_SQL_INSTANCE_TO_PRIVATE_DESTINATION\x10\"\x12\x1f\n\x1b\x43LOUD_SQL_INSTANCE_NO_ROUTE\x10#\x12 \n\x1c\x43LOUD_SQL_CONNECTOR_REQUIRED\x10?\x12\x1d\n\x19\x43LOUD_FUNCTION_NOT_ACTIVE\x10\x16\x12\x19\n\x15VPC_CONNECTOR_NOT_SET\x10\x17\x12\x1d\n\x19VPC_CONNECTOR_NOT_RUNNING\x10\x18\x12,\n(VPC_CONNECTOR_SERVERLESS_TRAFFIC_BLOCKED\x10<\x12.\n*VPC_CONNECTOR_HEALTH_CHECK_TRAFFIC_BLOCKED\x10=\x12#\n\x1f\x46ORWARDING_RULE_REGION_MISMATCH\x10\x19\x12\x1f\n\x1bPSC_CONNECTION_NOT_ACCEPTED\x10\x1a\x12-\n)PSC_ENDPOINT_ACCESSED_FROM_PEERED_NETWORK\x10)\x12.\n*PSC_NEG_PRODUCER_ENDPOINT_NO_GLOBAL_ACCESS\x10\x30\x12\x33\n/PSC_NEG_PRODUCER_FORWARDING_RULE_MULTIPLE_PORTS\x10\x36\x12!\n\x1d\x43LOUD_SQL_PSC_NEG_UNSUPPORTED\x10:\x12-\n)NO_NAT_SUBNETS_FOR_PSC_SERVICE_ATTACHMENT\x10\x39\x12#\n\x1fPSC_TRANSITIVITY_NOT_PROPAGATED\x10@\x12(\n$HYBRID_NEG_NON_DYNAMIC_ROUTE_MATCHED\x10\x37\x12.\n*HYBRID_NEG_NON_LOCAL_DYNAMIC_ROUTE_MATCHED\x10\x38\x12 \n\x1c\x43LOUD_RUN_REVISION_NOT_READY\x10\x1d\x12\'\n#DROPPED_INSIDE_PSC_SERVICE_PRODUCER\x10%\x12%\n!LOAD_BALANCER_HAS_NO_PROXY_SUBNET\x10\'\x12\x1a\n\x16\x43LOUD_NAT_NO_ADDRESSES\x10(\x12\x10\n\x0cROUTING_LOOP\x10;\x12)\n%DROPPED_INSIDE_GOOGLE_MANAGED_SERVICE\x10>\x12)\n%LOAD_BALANCER_BACKEND_INVALID_NETWORK\x10\x41\x12*\n&BACKEND_SERVICE_NAMED_PORT_NOT_DEFINED\x10\x42\x12\'\n#DESTINATION_IS_PRIVATE_NAT_IP_RANGE\x10\x43\x12)\n%DROPPED_INSIDE_REDIS_INSTANCE_SERVICE\x10\x46\x12#\n\x1fREDIS_INSTANCE_UNSUPPORTED_PORT\x10G\x12/\n+REDIS_INSTANCE_CONNECTING_FROM_PUPI_ADDRESS\x10H\x12\x32\n.REDIS_INSTANCE_NO_ROUTE_TO_DESTINATION_NETWORK\x10I\x12!\n\x1dREDIS_INSTANCE_NO_EXTERNAL_IP\x10J\x12\'\n#REDIS_INSTANCE_UNSUPPORTED_PROTOCOL\x10N\x12(\n$DROPPED_INSIDE_REDIS_CLUSTER_SERVICE\x10K\x12\"\n\x1eREDIS_CLUSTER_UNSUPPORTED_PORT\x10L\x12 \n\x1cREDIS_CLUSTER_NO_EXTERNAL_IP\x10M\x12&\n\"REDIS_CLUSTER_UNSUPPORTED_PROTOCOL\x10O\x12*\n&NO_ADVERTISED_ROUTE_TO_GCP_DESTINATION\x10P\x12*\n&NO_TRAFFIC_SELECTOR_TO_GCP_DESTINATION\x10Q\x12\x35\n1NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION\x10R\x12+\n\'PRIVATE_NAT_TO_PSC_ENDPOINT_UNSUPPORTED\x10S\x12\"\n\x1ePSC_PORT_MAPPING_PORT_MISMATCH\x10V\x12\x37\n3PSC_PORT_MAPPING_WITHOUT_PSC_CONNECTION_UNSUPPORTED\x10W\x12\x33\n/UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION\x10X\x12\x37\n3TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED\x10Y\x12\x1d\n\x19NO_MATCHING_NAT64_GATEWAY\x10Z\x12-\n)LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH\x10`\x12\x32\n.NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION\x10\x61\x12\"\n\x1e\x43LOUD_NAT_PROTOCOL_UNSUPPORTED\x10\x63\x12(\n$L2_INTERCONNECT_UNSUPPORTED_PROTOCOL\x10\x64\x12$\n L2_INTERCONNECT_UNSUPPORTED_PORT\x10\x65\x12+\n\'L2_INTERCONNECT_DESTINATION_IP_MISMATCH\x10\x66\x12.\n*NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED\x10h\x12!\n\x1dHYBRID_SUBNET_REGION_MISMATCH\x10i\"\x81\x01\n\rGKEMasterInfo\x12\x13\n\x0b\x63luster_uri\x18\x02 \x01(\t\x12\x1b\n\x13\x63luster_network_uri\x18\x04 \x01(\t\x12\x13\n\x0binternal_ip\x18\x05 \x01(\t\x12\x13\n\x0b\x65xternal_ip\x18\x06 \x01(\t\x12\x14\n\x0c\x64ns_endpoint\x18\x07 \x01(\t\"\x88\x01\n\x14\x43loudSQLInstanceInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x04 \x01(\t\x12\x13\n\x0binternal_ip\x18\x05 \x01(\t\x12\x13\n\x0b\x65xternal_ip\x18\x06 \x01(\t\x12\x0e\n\x06region\x18\x07 \x01(\t\"\x92\x01\n\x11RedisInstanceInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x03 \x01(\t\x12\x1b\n\x13primary_endpoint_ip\x18\x04 \x01(\t\x12\x18\n\x10read_endpoint_ip\x18\x05 \x01(\t\x12\x0e\n\x06region\x18\x06 \x01(\t\"\xbe\x01\n\x10RedisClusterInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x03 \x01(\t\x12/\n\x1d\x64iscovery_endpoint_ip_address\x18\x04 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12/\n\x1dsecondary_endpoint_ip_address\x18\x05 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x10\n\x08location\x18\x06 \x01(\t\"\\\n\x11\x43loudFunctionInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x10\n\x08location\x18\x03 \x01(\t\x12\x12\n\nversion_id\x18\x04 \x01(\x03\"`\n\x14\x43loudRunRevisionInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x10\n\x08location\x18\x04 \x01(\t\x12\x13\n\x0bservice_uri\x18\x05 \x01(\t\"_\n\x14\x41ppEngineVersionInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x0f\n\x07runtime\x18\x03 \x01(\t\x12\x13\n\x0b\x65nvironment\x18\x04 \x01(\t\"G\n\x10VpcConnectorInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x10\n\x08location\x18\x03 \x01(\t\"\xa8\x01\n\x1d\x44irectVpcEgressConnectionInfo\x12\x13\n\x0bnetwork_uri\x18\x01 \x01(\t\x12\x16\n\x0esubnetwork_uri\x18\x02 \x01(\t\x12#\n\x11selected_ip_range\x18\x03 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12%\n\x13selected_ip_address\x18\x04 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x0e\n\x06region\x18\x05 \x01(\t\"I\n ServerlessExternalConnectionInfo\x12%\n\x13selected_ip_address\x18\x01 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\"\x8d\x04\n\x07NatInfo\x12=\n\x04type\x18\x01 \x01(\x0e\x32/.google.cloud.networkmanagement.v1.NatInfo.Type\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x03 \x01(\t\x12\x15\n\rold_source_ip\x18\x04 \x01(\t\x12\x15\n\rnew_source_ip\x18\x05 \x01(\t\x12\x1a\n\x12old_destination_ip\x18\x06 \x01(\t\x12\x1a\n\x12new_destination_ip\x18\x07 \x01(\t\x12\x17\n\x0fold_source_port\x18\x08 \x01(\x05\x12\x17\n\x0fnew_source_port\x18\t \x01(\x05\x12\x1c\n\x14old_destination_port\x18\n \x01(\x05\x12\x1c\n\x14new_destination_port\x18\x0b \x01(\x05\x12\x12\n\nrouter_uri\x18\x0c \x01(\t\x12\x18\n\x10nat_gateway_name\x18\r \x01(\t\"\x99\x01\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14INTERNAL_TO_EXTERNAL\x10\x01\x12\x18\n\x14\x45XTERNAL_TO_INTERNAL\x10\x02\x12\r\n\tCLOUD_NAT\x10\x03\x12\x1b\n\x17PRIVATE_SERVICE_CONNECT\x10\x04\x12\x1b\n\x17GKE_POD_IP_MASQUERADING\x10\x05\"\xa4\x02\n\x13ProxyConnectionInfo\x12\x10\n\x08protocol\x18\x01 \x01(\t\x12\x15\n\rold_source_ip\x18\x02 \x01(\t\x12\x15\n\rnew_source_ip\x18\x03 \x01(\t\x12\x1a\n\x12old_destination_ip\x18\x04 \x01(\t\x12\x1a\n\x12new_destination_ip\x18\x05 \x01(\t\x12\x17\n\x0fold_source_port\x18\x06 \x01(\x05\x12\x17\n\x0fnew_source_port\x18\x07 \x01(\x05\x12\x1c\n\x14old_destination_port\x18\x08 \x01(\x05\x12\x1c\n\x14new_destination_port\x18\t \x01(\x05\x12\x12\n\nsubnet_uri\x18\n \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x0b \x01(\t\"\xf2\x04\n\x17LoadBalancerBackendInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cinstance_uri\x18\x02 \x01(\t\x12\x1b\n\x13\x62\x61\x63kend_service_uri\x18\x03 \x01(\t\x12\x1a\n\x12instance_group_uri\x18\x04 \x01(\t\x12\"\n\x1anetwork_endpoint_group_uri\x18\x05 \x01(\t\x12\x1a\n\x12\x62\x61\x63kend_bucket_uri\x18\x08 \x01(\t\x12\"\n\x1apsc_service_attachment_uri\x18\t \x01(\t\x12\x1d\n\x15psc_google_api_target\x18\n \x01(\t\x12\x18\n\x10health_check_uri\x18\x06 \x01(\t\x12\x8c\x01\n#health_check_firewalls_config_state\x18\x07 \x01(\x0e\x32Z.google.cloud.networkmanagement.v1.LoadBalancerBackendInfo.HealthCheckFirewallsConfigStateB\x03\xe0\x41\x03\"\xcd\x01\n\x1fHealthCheckFirewallsConfigState\x12\x33\n/HEALTH_CHECK_FIREWALLS_CONFIG_STATE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46IREWALLS_CONFIGURED\x10\x01\x12\"\n\x1e\x46IREWALLS_PARTIALLY_CONFIGURED\x10\x02\x12\x1c\n\x18\x46IREWALLS_NOT_CONFIGURED\x10\x03\x12\x19\n\x15\x46IREWALLS_UNSUPPORTED\x10\x04\"#\n\x11StorageBucketInfo\x12\x0e\n\x06\x62ucket\x18\x01 \x01(\t\"$\n\x11ServerlessNegInfo\x12\x0f\n\x07neg_uri\x18\x01 \x01(\t*\xf6\x02\n\x10LoadBalancerType\x12\"\n\x1eLOAD_BALANCER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cHTTPS_ADVANCED_LOAD_BALANCER\x10\x01\x12\x17\n\x13HTTPS_LOAD_BALANCER\x10\x02\x12 \n\x1cREGIONAL_HTTPS_LOAD_BALANCER\x10\x03\x12 \n\x1cINTERNAL_HTTPS_LOAD_BALANCER\x10\x04\x12\x1b\n\x17SSL_PROXY_LOAD_BALANCER\x10\x05\x12\x1b\n\x17TCP_PROXY_LOAD_BALANCER\x10\x06\x12$\n INTERNAL_TCP_PROXY_LOAD_BALANCER\x10\x07\x12\x19\n\x15NETWORK_LOAD_BALANCER\x10\x08\x12 \n\x1cLEGACY_NETWORK_LOAD_BALANCER\x10\t\x12\"\n\x1eTCP_UDP_INTERNAL_LOAD_BALANCER\x10\nB\xf9\x01\n%com.google.cloud.networkmanagement.v1B\nTraceProtoP\x01ZScloud.google.com/go/networkmanagement/apiv1/networkmanagementpb;networkmanagementpb\xaa\x02!Google.Cloud.NetworkManagement.V1\xca\x02!Google\\Cloud\\NetworkManagement\\V1\xea\x02$Google::Cloud::NetworkManagement::V1b\x06proto3" +descriptor_data = "\n-google/cloud/networkmanagement/v1/trace.proto\x12!google.cloud.networkmanagement.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\"\xa1\x01\n\x05Trace\x12\x46\n\rendpoint_info\x18\x01 \x01(\x0b\x32/.google.cloud.networkmanagement.v1.EndpointInfo\x12\x36\n\x05steps\x18\x02 \x03(\x0b\x32\'.google.cloud.networkmanagement.v1.Step\x12\x18\n\x10\x66orward_trace_id\x18\x04 \x01(\x05\"\x9a\x1e\n\x04Step\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12<\n\x05state\x18\x02 \x01(\x0e\x32-.google.cloud.networkmanagement.v1.Step.State\x12\x13\n\x0b\x63\x61uses_drop\x18\x03 \x01(\x08\x12\x12\n\nproject_id\x18\x04 \x01(\t\x12\x43\n\x08instance\x18\x05 \x01(\x0b\x32/.google.cloud.networkmanagement.v1.InstanceInfoH\x00\x12\x43\n\x08\x66irewall\x18\x06 \x01(\x0b\x32/.google.cloud.networkmanagement.v1.FirewallInfoH\x00\x12=\n\x05route\x18\x07 \x01(\x0b\x32,.google.cloud.networkmanagement.v1.RouteInfoH\x00\x12\x43\n\x08\x65ndpoint\x18\x08 \x01(\x0b\x32/.google.cloud.networkmanagement.v1.EndpointInfoH\x00\x12N\n\x0egoogle_service\x18\x18 \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.GoogleServiceInfoH\x00\x12P\n\x0f\x66orwarding_rule\x18\t \x01(\x0b\x32\x35.google.cloud.networkmanagement.v1.ForwardingRuleInfoH\x00\x12L\n\rhybrid_subnet\x18$ \x01(\x0b\x32\x33.google.cloud.networkmanagement.v1.HybridSubnetInfoH\x00\x12H\n\x0bvpn_gateway\x18\n \x01(\x0b\x32\x31.google.cloud.networkmanagement.v1.VpnGatewayInfoH\x00\x12\x46\n\nvpn_tunnel\x18\x0b \x01(\x0b\x32\x30.google.cloud.networkmanagement.v1.VpnTunnelInfoH\x00\x12`\n\x17interconnect_attachment\x18# \x01(\x0b\x32=.google.cloud.networkmanagement.v1.InterconnectAttachmentInfoH\x00\x12L\n\rvpc_connector\x18\x15 \x01(\x0b\x32\x33.google.cloud.networkmanagement.v1.VpcConnectorInfoH\x00\x12h\n\x1c\x64irect_vpc_egress_connection\x18! \x01(\x0b\x32@.google.cloud.networkmanagement.v1.DirectVpcEgressConnectionInfoH\x00\x12m\n\x1eserverless_external_connection\x18\" \x01(\x0b\x32\x43.google.cloud.networkmanagement.v1.ServerlessExternalConnectionInfoH\x00\x12\x41\n\x07\x64\x65liver\x18\x0c \x01(\x0b\x32..google.cloud.networkmanagement.v1.DeliverInfoH\x00\x12\x41\n\x07\x66orward\x18\r \x01(\x0b\x32..google.cloud.networkmanagement.v1.ForwardInfoH\x00\x12=\n\x05\x61\x62ort\x18\x0e \x01(\x0b\x32,.google.cloud.networkmanagement.v1.AbortInfoH\x00\x12;\n\x04\x64rop\x18\x0f \x01(\x0b\x32+.google.cloud.networkmanagement.v1.DropInfoH\x00\x12P\n\rload_balancer\x18\x10 \x01(\x0b\x32\x33.google.cloud.networkmanagement.v1.LoadBalancerInfoB\x02\x18\x01H\x00\x12\x41\n\x07network\x18\x11 \x01(\x0b\x32..google.cloud.networkmanagement.v1.NetworkInfoH\x00\x12\x46\n\ngke_master\x18\x12 \x01(\x0b\x32\x30.google.cloud.networkmanagement.v1.GKEMasterInfoH\x00\x12@\n\x07gke_pod\x18% \x01(\x0b\x32-.google.cloud.networkmanagement.v1.GkePodInfoH\x00\x12_\n\x17ip_masquerading_skipped\x18& \x01(\x0b\x32<.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfoH\x00\x12U\n\x12\x63loud_sql_instance\x18\x13 \x01(\x0b\x32\x37.google.cloud.networkmanagement.v1.CloudSQLInstanceInfoH\x00\x12N\n\x0eredis_instance\x18\x1e \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.RedisInstanceInfoH\x00\x12L\n\rredis_cluster\x18\x1f \x01(\x0b\x32\x33.google.cloud.networkmanagement.v1.RedisClusterInfoH\x00\x12N\n\x0e\x63loud_function\x18\x14 \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.CloudFunctionInfoH\x00\x12U\n\x12\x61pp_engine_version\x18\x16 \x01(\x0b\x32\x37.google.cloud.networkmanagement.v1.AppEngineVersionInfoH\x00\x12U\n\x12\x63loud_run_revision\x18\x17 \x01(\x0b\x32\x37.google.cloud.networkmanagement.v1.CloudRunRevisionInfoH\x00\x12\x39\n\x03nat\x18\x19 \x01(\x0b\x32*.google.cloud.networkmanagement.v1.NatInfoH\x00\x12R\n\x10proxy_connection\x18\x1a \x01(\x0b\x32\x36.google.cloud.networkmanagement.v1.ProxyConnectionInfoH\x00\x12`\n\x1aload_balancer_backend_info\x18\x1b \x01(\x0b\x32:.google.cloud.networkmanagement.v1.LoadBalancerBackendInfoH\x00\x12N\n\x0estorage_bucket\x18\x1c \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.StorageBucketInfoH\x00\x12N\n\x0eserverless_neg\x18\x1d \x01(\x0b\x32\x34.google.cloud.networkmanagement.v1.ServerlessNegInfoH\x00\"\xe9\x08\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x17\n\x13START_FROM_INSTANCE\x10\x01\x12\x17\n\x13START_FROM_INTERNET\x10\x02\x12\x1d\n\x19START_FROM_GOOGLE_SERVICE\x10\x1b\x12\x1e\n\x1aSTART_FROM_PRIVATE_NETWORK\x10\x03\x12\x19\n\x15START_FROM_GKE_MASTER\x10\x15\x12!\n\x1dSTART_FROM_CLOUD_SQL_INSTANCE\x10\x16\x12\x16\n\x12START_FROM_GKE_POD\x10\'\x12\x1d\n\x19START_FROM_REDIS_INSTANCE\x10 \x12\x1c\n\x18START_FROM_REDIS_CLUSTER\x10!\x12\x1d\n\x19START_FROM_CLOUD_FUNCTION\x10\x17\x12!\n\x1dSTART_FROM_APP_ENGINE_VERSION\x10\x19\x12!\n\x1dSTART_FROM_CLOUD_RUN_REVISION\x10\x1a\x12\x1d\n\x19START_FROM_STORAGE_BUCKET\x10\x1d\x12$\n START_FROM_PSC_PUBLISHED_SERVICE\x10\x1e\x12\x1d\n\x19START_FROM_SERVERLESS_NEG\x10\x1f\x12\x1f\n\x1b\x41PPLY_INGRESS_FIREWALL_RULE\x10\x04\x12\x1e\n\x1a\x41PPLY_EGRESS_FIREWALL_RULE\x10\x05\x12\x0f\n\x0b\x41PPLY_ROUTE\x10\x06\x12\x19\n\x15\x41PPLY_FORWARDING_RULE\x10\x07\x12!\n\x1d\x41NALYZE_LOAD_BALANCER_BACKEND\x10\x1c\x12\x15\n\x11SPOOFING_APPROVED\x10\x08\x12\x16\n\x12\x41RRIVE_AT_INSTANCE\x10\t\x12(\n ARRIVE_AT_INTERNAL_LOAD_BALANCER\x10\n\x1a\x02\x08\x01\x12(\n ARRIVE_AT_EXTERNAL_LOAD_BALANCER\x10\x0b\x1a\x02\x08\x01\x12\x1b\n\x17\x41RRIVE_AT_HYBRID_SUBNET\x10&\x12\x19\n\x15\x41RRIVE_AT_VPN_GATEWAY\x10\x0c\x12\x18\n\x14\x41RRIVE_AT_VPN_TUNNEL\x10\r\x12%\n!ARRIVE_AT_INTERCONNECT_ATTACHMENT\x10%\x12\x1b\n\x17\x41RRIVE_AT_VPC_CONNECTOR\x10\x18\x12 \n\x1c\x44IRECT_VPC_EGRESS_CONNECTION\x10#\x12\"\n\x1eSERVERLESS_EXTERNAL_CONNECTION\x10$\x12\x07\n\x03NAT\x10\x0e\x12 \n\x1cSKIP_GKE_POD_IP_MASQUERADING\x10(\x12\x14\n\x10PROXY_CONNECTION\x10\x0f\x12\x0b\n\x07\x44\x45LIVER\x10\x10\x12\x08\n\x04\x44ROP\x10\x11\x12\x0b\n\x07\x46ORWARD\x10\x12\x12\t\n\x05\x41\x42ORT\x10\x13\x12\x1d\n\x19VIEWER_PERMISSION_MISSING\x10\x14\x42\x0b\n\tstep_info\"\xf7\x02\n\x0cInstanceInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x11\n\tinterface\x18\x03 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x04 \x01(\t\x12\x13\n\x0binternal_ip\x18\x05 \x01(\t\x12\x13\n\x0b\x65xternal_ip\x18\x06 \x01(\t\x12\x14\n\x0cnetwork_tags\x18\x07 \x03(\t\x12\x1b\n\x0fservice_account\x18\x08 \x01(\tB\x02\x18\x01\x12\"\n\x1apsc_network_attachment_uri\x18\t \x01(\t\x12\x13\n\x07running\x18\n \x01(\x08\x42\x02\x18\x01\x12\x46\n\x06status\x18\x0b \x01(\x0e\x32\x36.google.cloud.networkmanagement.v1.InstanceInfo.Status\">\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\x0f\n\x0bNOT_RUNNING\x10\x02\"v\n\x0bNetworkInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x1a\n\x12matched_subnet_uri\x18\x05 \x01(\t\x12\x18\n\x10matched_ip_range\x18\x04 \x01(\t\x12\x0e\n\x06region\x18\x06 \x01(\t\"\xaf\x07\n\x0c\x46irewallInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x04 \x01(\t\x12\x10\n\x08priority\x18\x05 \x01(\x05\x12\x13\n\x0bnetwork_uri\x18\x06 \x01(\t\x12\x13\n\x0btarget_tags\x18\x07 \x03(\t\x12\x1f\n\x17target_service_accounts\x18\x08 \x03(\t\x12\x0e\n\x06policy\x18\t \x01(\t\x12\x12\n\npolicy_uri\x18\x0b \x01(\t\x12\\\n\x12\x66irewall_rule_type\x18\n \x01(\x0e\x32@.google.cloud.networkmanagement.v1.FirewallInfo.FirewallRuleType\x12\x17\n\x0fpolicy_priority\x18\x0c \x01(\x05\x12O\n\x0btarget_type\x18\r \x01(\x0e\x32:.google.cloud.networkmanagement.v1.FirewallInfo.TargetType\"\xbc\x03\n\x10\x46irewallRuleType\x12\"\n\x1e\x46IREWALL_RULE_TYPE_UNSPECIFIED\x10\x00\x12%\n!HIERARCHICAL_FIREWALL_POLICY_RULE\x10\x01\x12\x15\n\x11VPC_FIREWALL_RULE\x10\x02\x12\x1d\n\x19IMPLIED_VPC_FIREWALL_RULE\x10\x03\x12/\n+SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE\x10\x04\x12 \n\x1cNETWORK_FIREWALL_POLICY_RULE\x10\x05\x12)\n%NETWORK_REGIONAL_FIREWALL_POLICY_RULE\x10\x06\x12\'\n#SYSTEM_NETWORK_FIREWALL_POLICY_RULE\x10\x07\x12\x30\n,SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE\x10\x08\x12$\n UNSUPPORTED_FIREWALL_POLICY_RULE\x10\x64\x12\x12\n\x0eTRACKING_STATE\x10\x65\x12\x14\n\x10\x41NALYSIS_SKIPPED\x10\x66\"Q\n\nTargetType\x12\x1b\n\x17TARGET_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tINSTANCES\x10\x01\x12\x17\n\x13INTERNAL_MANAGED_LB\x10\x02\"\xec\x0b\n\tRouteInfo\x12J\n\nroute_type\x18\x08 \x01(\x0e\x32\x36.google.cloud.networkmanagement.v1.RouteInfo.RouteType\x12O\n\rnext_hop_type\x18\t \x01(\x0e\x32\x38.google.cloud.networkmanagement.v1.RouteInfo.NextHopType\x12P\n\x0broute_scope\x18\x0e \x01(\x0e\x32\x37.google.cloud.networkmanagement.v1.RouteInfo.RouteScopeB\x02\x18\x01\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x13 \x01(\t\x12\x15\n\rdest_ip_range\x18\x03 \x01(\t\x12\x14\n\x08next_hop\x18\x04 \x01(\tB\x02\x18\x01\x12\x13\n\x0bnetwork_uri\x18\x05 \x01(\t\x12\x10\n\x08priority\x18\x06 \x01(\x05\x12\x15\n\rinstance_tags\x18\x07 \x03(\t\x12\x14\n\x0csrc_ip_range\x18\n \x01(\t\x12\x18\n\x10\x64\x65st_port_ranges\x18\x0b \x03(\t\x12\x17\n\x0fsrc_port_ranges\x18\x0c \x03(\t\x12\x11\n\tprotocols\x18\r \x03(\t\x12\x18\n\x0bncc_hub_uri\x18\x0f \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rncc_spoke_uri\x18\x10 \x01(\tH\x01\x88\x01\x01\x12/\n\"advertised_route_source_router_uri\x18\x11 \x01(\tH\x02\x88\x01\x01\x12.\n\x1d\x61\x64vertised_route_next_hop_uri\x18\x12 \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x14\n\x0cnext_hop_uri\x18\x14 \x01(\t\x12\x1c\n\x14next_hop_network_uri\x18\x15 \x01(\t\x12\x1d\n\x15originating_route_uri\x18\x16 \x01(\t\x12&\n\x1eoriginating_route_display_name\x18\x17 \x01(\t\x12\x19\n\x11ncc_hub_route_uri\x18\x18 \x01(\t\"\xab\x01\n\tRouteType\x12\x1a\n\x16ROUTE_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06SUBNET\x10\x01\x12\n\n\x06STATIC\x10\x02\x12\x0b\n\x07\x44YNAMIC\x10\x03\x12\x12\n\x0ePEERING_SUBNET\x10\x04\x12\x12\n\x0ePEERING_STATIC\x10\x05\x12\x13\n\x0fPEERING_DYNAMIC\x10\x06\x12\x10\n\x0cPOLICY_BASED\x10\x07\x12\x0e\n\nADVERTISED\x10\x65\"\xea\x02\n\x0bNextHopType\x12\x1d\n\x19NEXT_HOP_TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bNEXT_HOP_IP\x10\x01\x12\x15\n\x11NEXT_HOP_INSTANCE\x10\x02\x12\x14\n\x10NEXT_HOP_NETWORK\x10\x03\x12\x14\n\x10NEXT_HOP_PEERING\x10\x04\x12\x19\n\x15NEXT_HOP_INTERCONNECT\x10\x05\x12\x17\n\x13NEXT_HOP_VPN_TUNNEL\x10\x06\x12\x18\n\x14NEXT_HOP_VPN_GATEWAY\x10\x07\x12\x1d\n\x19NEXT_HOP_INTERNET_GATEWAY\x10\x08\x12\x16\n\x12NEXT_HOP_BLACKHOLE\x10\t\x12\x10\n\x0cNEXT_HOP_ILB\x10\n\x12\x1d\n\x19NEXT_HOP_ROUTER_APPLIANCE\x10\x0b\x12\x14\n\x10NEXT_HOP_NCC_HUB\x10\x0c\x12\x1c\n\x18SECURE_WEB_PROXY_GATEWAY\x10\r\"C\n\nRouteScope\x12\x1b\n\x17ROUTE_SCOPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07NETWORK\x10\x01\x12\x0b\n\x07NCC_HUB\x10\x02\x42\x0e\n\x0c_ncc_hub_uriB\x10\n\x0e_ncc_spoke_uriB%\n#_advertised_route_source_router_uriB \n\x1e_advertised_route_next_hop_uri\"\xda\x02\n\x11GoogleServiceInfo\x12\x11\n\tsource_ip\x18\x01 \x01(\t\x12\x63\n\x13google_service_type\x18\x02 \x01(\x0e\x32\x46.google.cloud.networkmanagement.v1.GoogleServiceInfo.GoogleServiceType\"\xcc\x01\n\x11GoogleServiceType\x12#\n\x1fGOOGLE_SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03IAP\x10\x01\x12$\n GFE_PROXY_OR_HEALTH_CHECK_PROBER\x10\x02\x12\r\n\tCLOUD_DNS\x10\x03\x12\x0e\n\nGOOGLE_API\x10\x04\x12\x12\n\x0eGOOGLE_API_PSC\x10\x05\x12\x15\n\x11GOOGLE_API_VPC_SC\x10\x06\x12\x19\n\x15SERVERLESS_VPC_ACCESS\x10\x07\"\x8e\x02\n\x12\x46orwardingRuleInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x18\n\x10matched_protocol\x18\x03 \x01(\t\x12\x1a\n\x12matched_port_range\x18\x06 \x01(\t\x12\x0b\n\x03vip\x18\x04 \x01(\t\x12\x0e\n\x06target\x18\x05 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x07 \x01(\t\x12\x0e\n\x06region\x18\x08 \x01(\t\x12\x1a\n\x12load_balancer_name\x18\t \x01(\t\x12\"\n\x1apsc_service_attachment_uri\x18\n \x01(\t\x12\x1d\n\x15psc_google_api_target\x18\x0b \x01(\t\"\xc2\x04\n\x10LoadBalancerInfo\x12`\n\x12load_balancer_type\x18\x01 \x01(\x0e\x32\x44.google.cloud.networkmanagement.v1.LoadBalancerInfo.LoadBalancerType\x12\x1c\n\x10health_check_uri\x18\x02 \x01(\tB\x02\x18\x01\x12H\n\x08\x62\x61\x63kends\x18\x03 \x03(\x0b\x32\x36.google.cloud.networkmanagement.v1.LoadBalancerBackend\x12U\n\x0c\x62\x61\x63kend_type\x18\x04 \x01(\x0e\x32?.google.cloud.networkmanagement.v1.LoadBalancerInfo.BackendType\x12\x13\n\x0b\x62\x61\x63kend_uri\x18\x05 \x01(\t\"\x8f\x01\n\x10LoadBalancerType\x12\"\n\x1eLOAD_BALANCER_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10INTERNAL_TCP_UDP\x10\x01\x12\x13\n\x0fNETWORK_TCP_UDP\x10\x02\x12\x0e\n\nHTTP_PROXY\x10\x03\x12\r\n\tTCP_PROXY\x10\x04\x12\r\n\tSSL_PROXY\x10\x05\"f\n\x0b\x42\x61\x63kendType\x12\x1c\n\x18\x42\x41\x43KEND_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x42\x41\x43KEND_SERVICE\x10\x01\x12\x0f\n\x0bTARGET_POOL\x10\x02\x12\x13\n\x0fTARGET_INSTANCE\x10\x03\"\xf6\x02\n\x13LoadBalancerBackend\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12t\n\x1bhealth_check_firewall_state\x18\x03 \x01(\x0e\x32O.google.cloud.networkmanagement.v1.LoadBalancerBackend.HealthCheckFirewallState\x12,\n$health_check_allowing_firewall_rules\x18\x04 \x03(\t\x12,\n$health_check_blocking_firewall_rules\x18\x05 \x03(\t\"j\n\x18HealthCheckFirewallState\x12+\n\'HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED\x10\x00\x12\x0e\n\nCONFIGURED\x10\x01\x12\x11\n\rMISCONFIGURED\x10\x02\"E\n\x10HybridSubnetInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\"\x84\x01\n\x0eVpnGatewayInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x03 \x01(\t\x12\x12\n\nip_address\x18\x04 \x01(\t\x12\x16\n\x0evpn_tunnel_uri\x18\x05 \x01(\t\x12\x0e\n\x06region\x18\x06 \x01(\t\"\xee\x02\n\rVpnTunnelInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x16\n\x0esource_gateway\x18\x03 \x01(\t\x12\x16\n\x0eremote_gateway\x18\x04 \x01(\t\x12\x19\n\x11remote_gateway_ip\x18\x05 \x01(\t\x12\x19\n\x11source_gateway_ip\x18\x06 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x07 \x01(\t\x12\x0e\n\x06region\x18\x08 \x01(\t\x12R\n\x0crouting_type\x18\t \x01(\x0e\x32<.google.cloud.networkmanagement.v1.VpnTunnelInfo.RoutingType\"[\n\x0bRoutingType\x12\x1c\n\x18ROUTING_TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bROUTE_BASED\x10\x01\x12\x10\n\x0cPOLICY_BASED\x10\x02\x12\x0b\n\x07\x44YNAMIC\x10\x03\"\xeb\x02\n\x1aInterconnectAttachmentInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x18\n\x10interconnect_uri\x18\x03 \x01(\t\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x18\n\x10\x63loud_router_uri\x18\x05 \x01(\t\x12P\n\x04type\x18\x06 \x01(\x0e\x32\x42.google.cloud.networkmanagement.v1.InterconnectAttachmentInfo.Type\x12\x32\n l2_attachment_matched_ip_address\x18\x07 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\"`\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\r\n\tDEDICATED\x10\x01\x12\x0b\n\x07PARTNER\x10\x02\x12\x14\n\x10PARTNER_PROVIDER\x10\x03\x12\x10\n\x0cL2_DEDICATED\x10\x04\"\xd1\x01\n\x0c\x45ndpointInfo\x12\x11\n\tsource_ip\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65stination_ip\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x12\x18\n\x10\x64\x65stination_port\x18\x05 \x01(\x05\x12\x1a\n\x12source_network_uri\x18\x06 \x01(\t\x12\x1f\n\x17\x64\x65stination_network_uri\x18\x07 \x01(\t\x12\x18\n\x10source_agent_uri\x18\x08 \x01(\t\"\xd4\x06\n\x0b\x44\x65liverInfo\x12\x45\n\x06target\x18\x01 \x01(\x0e\x32\x35.google.cloud.networkmanagement.v1.DeliverInfo.Target\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x1c\n\nip_address\x18\x03 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x16\n\x0estorage_bucket\x18\x04 \x01(\t\x12\x1d\n\x15psc_google_api_target\x18\x05 \x01(\t\x12]\n\x13google_service_type\x18\x06 \x01(\x0e\x32@.google.cloud.networkmanagement.v1.DeliverInfo.GoogleServiceType\"\x84\x03\n\x06Target\x12\x16\n\x12TARGET_UNSPECIFIED\x10\x00\x12\x0c\n\x08INSTANCE\x10\x01\x12\x0c\n\x08INTERNET\x10\x02\x12\x0e\n\nGOOGLE_API\x10\x03\x12\x0e\n\nGKE_MASTER\x10\x04\x12\x16\n\x12\x43LOUD_SQL_INSTANCE\x10\x05\x12\x19\n\x15PSC_PUBLISHED_SERVICE\x10\x06\x12\x12\n\x0ePSC_GOOGLE_API\x10\x07\x12\x0e\n\nPSC_VPC_SC\x10\x08\x12\x12\n\x0eSERVERLESS_NEG\x10\t\x12\x12\n\x0eSTORAGE_BUCKET\x10\n\x12\x13\n\x0fPRIVATE_NETWORK\x10\x0b\x12\x12\n\x0e\x43LOUD_FUNCTION\x10\x0c\x12\x16\n\x12\x41PP_ENGINE_VERSION\x10\r\x12\x16\n\x12\x43LOUD_RUN_REVISION\x10\x0e\x12\x1a\n\x16GOOGLE_MANAGED_SERVICE\x10\x0f\x12\x12\n\x0eREDIS_INSTANCE\x10\x10\x12\x11\n\rREDIS_CLUSTER\x10\x11\x12\x0b\n\x07GKE_POD\x10\x13\"\xac\x01\n\x11GoogleServiceType\x12#\n\x1fGOOGLE_SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03IAP\x10\x01\x12$\n GFE_PROXY_OR_HEALTH_CHECK_PROBER\x10\x02\x12\r\n\tCLOUD_DNS\x10\x03\x12\x19\n\x15PRIVATE_GOOGLE_ACCESS\x10\x04\x12\x19\n\x15SERVERLESS_VPC_ACCESS\x10\x05\"\x89\x03\n\x0b\x46orwardInfo\x12\x45\n\x06target\x18\x01 \x01(\x0e\x32\x35.google.cloud.networkmanagement.v1.ForwardInfo.Target\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x1c\n\nip_address\x18\x03 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\"\xfe\x01\n\x06Target\x12\x16\n\x12TARGET_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPEERING_VPC\x10\x01\x12\x0f\n\x0bVPN_GATEWAY\x10\x02\x12\x10\n\x0cINTERCONNECT\x10\x03\x12\x12\n\nGKE_MASTER\x10\x04\x1a\x02\x08\x01\x12\"\n\x1eIMPORTED_CUSTOM_ROUTE_NEXT_HOP\x10\x05\x12\x1a\n\x12\x43LOUD_SQL_INSTANCE\x10\x06\x1a\x02\x08\x01\x12\x13\n\x0f\x41NOTHER_PROJECT\x10\x07\x12\x0b\n\x07NCC_HUB\x10\x08\x12\x14\n\x10ROUTER_APPLIANCE\x10\t\x12\x1c\n\x18SECURE_WEB_PROXY_GATEWAY\x10\n\"\x85\r\n\tAbortInfo\x12\x41\n\x05\x63\x61use\x18\x01 \x01(\x0e\x32\x32.google.cloud.networkmanagement.v1.AbortInfo.Cause\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x1c\n\nip_address\x18\x04 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12#\n\x1bprojects_missing_permission\x18\x03 \x03(\t\"\xdb\x0b\n\x05\x43\x61use\x12\x15\n\x11\x43\x41USE_UNSPECIFIED\x10\x00\x12\x17\n\x0fUNKNOWN_NETWORK\x10\x01\x1a\x02\x08\x01\x12\x17\n\x0fUNKNOWN_PROJECT\x10\x03\x1a\x02\x08\x01\x12\x16\n\x0eNO_EXTERNAL_IP\x10\x07\x1a\x02\x08\x01\x12\x1e\n\x16UNINTENDED_DESTINATION\x10\x08\x1a\x02\x08\x01\x12!\n\x19SOURCE_ENDPOINT_NOT_FOUND\x10\x0b\x1a\x02\x08\x01\x12!\n\x19MISMATCHED_SOURCE_NETWORK\x10\x0c\x1a\x02\x08\x01\x12&\n\x1e\x44\x45STINATION_ENDPOINT_NOT_FOUND\x10\r\x1a\x02\x08\x01\x12&\n\x1eMISMATCHED_DESTINATION_NETWORK\x10\x0e\x1a\x02\x08\x01\x12\x0e\n\nUNKNOWN_IP\x10\x02\x12%\n!GOOGLE_MANAGED_SERVICE_UNKNOWN_IP\x10 \x12+\n\'SOURCE_IP_ADDRESS_NOT_IN_SOURCE_NETWORK\x10\x17\x12\x15\n\x11PERMISSION_DENIED\x10\x04\x12*\n&PERMISSION_DENIED_NO_CLOUD_NAT_CONFIGS\x10\x1c\x12-\n)PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS\x10\x1d\x12-\n)PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS\x10$\x12\x16\n\x12NO_SOURCE_LOCATION\x10\x05\x12\"\n\x1eNO_SOURCE_GCP_NETWORK_LOCATION\x10*\x12&\n\"NO_SOURCE_NON_GCP_NETWORK_LOCATION\x10+\x12\x1f\n\x1bNO_SOURCE_INTERNET_LOCATION\x10,\x12\x14\n\x10INVALID_ARGUMENT\x10\x06\x12\x12\n\x0eTRACE_TOO_LONG\x10\t\x12\x12\n\x0eINTERNAL_ERROR\x10\n\x12\x0f\n\x0bUNSUPPORTED\x10\x0f\x12\x19\n\x15MISMATCHED_IP_VERSION\x10\x10\x12&\n\"GKE_KONNECTIVITY_PROXY_UNSUPPORTED\x10\x11\x12\x1d\n\x19RESOURCE_CONFIG_NOT_FOUND\x10\x12\x12 \n\x1cVM_INSTANCE_CONFIG_NOT_FOUND\x10\x18\x12\x1c\n\x18NETWORK_CONFIG_NOT_FOUND\x10\x19\x12\x1d\n\x19\x46IREWALL_CONFIG_NOT_FOUND\x10\x1a\x12\x1a\n\x16ROUTE_CONFIG_NOT_FOUND\x10\x1b\x12\x31\n-GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT\x10\x13\x12-\n)GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT\x10\'\x12$\n SOURCE_PSC_CLOUD_SQL_UNSUPPORTED\x10\x14\x12)\n%SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED\x10-\x12$\n SOURCE_REDIS_CLUSTER_UNSUPPORTED\x10\"\x12%\n!SOURCE_REDIS_INSTANCE_UNSUPPORTED\x10#\x12&\n\"SOURCE_FORWARDING_RULE_UNSUPPORTED\x10\x15\x12\x1b\n\x17NON_ROUTABLE_IP_ADDRESS\x10\x16\x12+\n\'UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT\x10\x1e\x12-\n)UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG\x10\x1f\x12\x1b\n\x17NO_SERVERLESS_IP_RANGES\x10%\x12 \n\x1cIP_VERSION_PROTOCOL_MISMATCH\x10(\x12%\n!GKE_POD_UNKNOWN_ENDPOINT_LOCATION\x10)\"\xda!\n\x08\x44ropInfo\x12@\n\x05\x63\x61use\x18\x01 \x01(\x0e\x32\x31.google.cloud.networkmanagement.v1.DropInfo.Cause\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x11\n\tsource_ip\x18\x03 \x01(\t\x12\x16\n\x0e\x64\x65stination_ip\x18\x04 \x01(\t\x12\x0e\n\x06region\x18\x05 \x01(\t\x12\x1f\n\x17source_geolocation_code\x18\x06 \x01(\t\x12$\n\x1c\x64\x65stination_geolocation_code\x18\x07 \x01(\t\"\xf3\x1f\n\x05\x43\x61use\x12\x15\n\x11\x43\x41USE_UNSPECIFIED\x10\x00\x12\x1c\n\x18UNKNOWN_EXTERNAL_ADDRESS\x10\x01\x12\x19\n\x15\x46OREIGN_IP_DISALLOWED\x10\x02\x12\x11\n\rFIREWALL_RULE\x10\x03\x12\x0c\n\x08NO_ROUTE\x10\x04\x12\x13\n\x0fROUTE_BLACKHOLE\x10\x05\x12\x17\n\x13ROUTE_WRONG_NETWORK\x10\x06\x12*\n&ROUTE_NEXT_HOP_IP_ADDRESS_NOT_RESOLVED\x10*\x12%\n!ROUTE_NEXT_HOP_RESOURCE_NOT_FOUND\x10+\x12)\n%ROUTE_NEXT_HOP_INSTANCE_WRONG_NETWORK\x10\x31\x12*\n&ROUTE_NEXT_HOP_INSTANCE_NON_PRIMARY_IP\x10\x32\x12.\n*ROUTE_NEXT_HOP_FORWARDING_RULE_IP_MISMATCH\x10\x33\x12-\n)ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED\x10\x34\x12/\n+ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID\x10\x35\x12\x32\n.NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS\x10,\x12\x32\n.NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS\x10m\x12>\n:NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS\x10\x62\x12&\n\"VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH\x10-\x12\'\n#VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH\x10.\x12\x1f\n\x1bPRIVATE_TRAFFIC_TO_INTERNET\x10\x07\x12$\n PRIVATE_GOOGLE_ACCESS_DISALLOWED\x10\x08\x12\x34\n0PRIVATE_GOOGLE_ACCESS_VIA_VPN_TUNNEL_UNSUPPORTED\x10/\x12\x17\n\x13NO_EXTERNAL_ADDRESS\x10\t\x12\x1c\n\x18UNKNOWN_INTERNAL_ADDRESS\x10\n\x12\x1c\n\x18\x46ORWARDING_RULE_MISMATCH\x10\x0b\x12 \n\x1c\x46ORWARDING_RULE_NO_INSTANCES\x10\x0c\x12\x38\n4FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK\x10\r\x12:\n6INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS\x10U\x12\x18\n\x14INSTANCE_NOT_RUNNING\x10\x0e\x12\x1b\n\x17GKE_CLUSTER_NOT_RUNNING\x10\x1b\x12\x17\n\x13GKE_POD_NOT_RUNNING\x10g\x12\"\n\x1e\x43LOUD_SQL_INSTANCE_NOT_RUNNING\x10\x1c\x12\x1e\n\x1aREDIS_INSTANCE_NOT_RUNNING\x10\x44\x12\x1d\n\x19REDIS_CLUSTER_NOT_RUNNING\x10\x45\x12\x18\n\x14TRAFFIC_TYPE_BLOCKED\x10\x0f\x12\"\n\x1eGKE_MASTER_UNAUTHORIZED_ACCESS\x10\x10\x12*\n&CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS\x10\x11\x12\x1e\n\x1a\x44ROPPED_INSIDE_GKE_SERVICE\x10\x12\x12$\n DROPPED_INSIDE_CLOUD_SQL_SERVICE\x10\x13\x12%\n!GOOGLE_MANAGED_SERVICE_NO_PEERING\x10\x14\x12*\n&GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT\x10&\x12\x1c\n\x18GKE_PSC_ENDPOINT_MISSING\x10$\x12$\n CLOUD_SQL_INSTANCE_NO_IP_ADDRESS\x10\x15\x12%\n!GKE_CONTROL_PLANE_REGION_MISMATCH\x10\x1e\x12\x33\n/PUBLIC_GKE_CONTROL_PLANE_TO_PRIVATE_DESTINATION\x10\x1f\x12\x1e\n\x1aGKE_CONTROL_PLANE_NO_ROUTE\x10 \x12:\n6CLOUD_SQL_INSTANCE_NOT_CONFIGURED_FOR_EXTERNAL_TRAFFIC\x10!\x12\x34\n0PUBLIC_CLOUD_SQL_INSTANCE_TO_PRIVATE_DESTINATION\x10\"\x12\x1f\n\x1b\x43LOUD_SQL_INSTANCE_NO_ROUTE\x10#\x12 \n\x1c\x43LOUD_SQL_CONNECTOR_REQUIRED\x10?\x12\x1d\n\x19\x43LOUD_FUNCTION_NOT_ACTIVE\x10\x16\x12\x19\n\x15VPC_CONNECTOR_NOT_SET\x10\x17\x12\x1d\n\x19VPC_CONNECTOR_NOT_RUNNING\x10\x18\x12,\n(VPC_CONNECTOR_SERVERLESS_TRAFFIC_BLOCKED\x10<\x12.\n*VPC_CONNECTOR_HEALTH_CHECK_TRAFFIC_BLOCKED\x10=\x12#\n\x1f\x46ORWARDING_RULE_REGION_MISMATCH\x10\x19\x12\x1f\n\x1bPSC_CONNECTION_NOT_ACCEPTED\x10\x1a\x12-\n)PSC_ENDPOINT_ACCESSED_FROM_PEERED_NETWORK\x10)\x12.\n*PSC_NEG_PRODUCER_ENDPOINT_NO_GLOBAL_ACCESS\x10\x30\x12\x33\n/PSC_NEG_PRODUCER_FORWARDING_RULE_MULTIPLE_PORTS\x10\x36\x12!\n\x1d\x43LOUD_SQL_PSC_NEG_UNSUPPORTED\x10:\x12-\n)NO_NAT_SUBNETS_FOR_PSC_SERVICE_ATTACHMENT\x10\x39\x12#\n\x1fPSC_TRANSITIVITY_NOT_PROPAGATED\x10@\x12(\n$HYBRID_NEG_NON_DYNAMIC_ROUTE_MATCHED\x10\x37\x12.\n*HYBRID_NEG_NON_LOCAL_DYNAMIC_ROUTE_MATCHED\x10\x38\x12 \n\x1c\x43LOUD_RUN_REVISION_NOT_READY\x10\x1d\x12\'\n#DROPPED_INSIDE_PSC_SERVICE_PRODUCER\x10%\x12%\n!LOAD_BALANCER_HAS_NO_PROXY_SUBNET\x10\'\x12\x1a\n\x16\x43LOUD_NAT_NO_ADDRESSES\x10(\x12\x10\n\x0cROUTING_LOOP\x10;\x12)\n%DROPPED_INSIDE_GOOGLE_MANAGED_SERVICE\x10>\x12)\n%LOAD_BALANCER_BACKEND_INVALID_NETWORK\x10\x41\x12*\n&BACKEND_SERVICE_NAMED_PORT_NOT_DEFINED\x10\x42\x12\'\n#DESTINATION_IS_PRIVATE_NAT_IP_RANGE\x10\x43\x12)\n%DROPPED_INSIDE_REDIS_INSTANCE_SERVICE\x10\x46\x12#\n\x1fREDIS_INSTANCE_UNSUPPORTED_PORT\x10G\x12/\n+REDIS_INSTANCE_CONNECTING_FROM_PUPI_ADDRESS\x10H\x12\x32\n.REDIS_INSTANCE_NO_ROUTE_TO_DESTINATION_NETWORK\x10I\x12!\n\x1dREDIS_INSTANCE_NO_EXTERNAL_IP\x10J\x12\'\n#REDIS_INSTANCE_UNSUPPORTED_PROTOCOL\x10N\x12(\n$DROPPED_INSIDE_REDIS_CLUSTER_SERVICE\x10K\x12\"\n\x1eREDIS_CLUSTER_UNSUPPORTED_PORT\x10L\x12 \n\x1cREDIS_CLUSTER_NO_EXTERNAL_IP\x10M\x12&\n\"REDIS_CLUSTER_UNSUPPORTED_PROTOCOL\x10O\x12*\n&NO_ADVERTISED_ROUTE_TO_GCP_DESTINATION\x10P\x12*\n&NO_TRAFFIC_SELECTOR_TO_GCP_DESTINATION\x10Q\x12\x35\n1NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION\x10R\x12+\n\'PRIVATE_NAT_TO_PSC_ENDPOINT_UNSUPPORTED\x10S\x12\"\n\x1ePSC_PORT_MAPPING_PORT_MISMATCH\x10V\x12\x37\n3PSC_PORT_MAPPING_WITHOUT_PSC_CONNECTION_UNSUPPORTED\x10W\x12\x33\n/UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION\x10X\x12\x37\n3TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED\x10Y\x12\x1d\n\x19NO_MATCHING_NAT64_GATEWAY\x10Z\x12$\n NO_CONFIGURED_PRIVATE_NAT64_RULE\x10k\x12-\n)LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH\x10`\x12\x32\n.NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION\x10\x61\x12\"\n\x1e\x43LOUD_NAT_PROTOCOL_UNSUPPORTED\x10\x63\x12(\n$L2_INTERCONNECT_UNSUPPORTED_PROTOCOL\x10\x64\x12$\n L2_INTERCONNECT_UNSUPPORTED_PORT\x10\x65\x12+\n\'L2_INTERCONNECT_DESTINATION_IP_MISMATCH\x10\x66\x12.\n*NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED\x10h\x12!\n\x1dHYBRID_SUBNET_REGION_MISMATCH\x10i\x12\x1a\n\x16HYBRID_SUBNET_NO_ROUTE\x10j\"\x81\x01\n\rGKEMasterInfo\x12\x13\n\x0b\x63luster_uri\x18\x02 \x01(\t\x12\x1b\n\x13\x63luster_network_uri\x18\x04 \x01(\t\x12\x13\n\x0binternal_ip\x18\x05 \x01(\t\x12\x13\n\x0b\x65xternal_ip\x18\x06 \x01(\t\x12\x14\n\x0c\x64ns_endpoint\x18\x07 \x01(\t\"P\n\nGkePodInfo\x12\x0f\n\x07pod_uri\x18\x01 \x01(\t\x12\x1c\n\nip_address\x18\x02 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x13\n\x0bnetwork_uri\x18\x03 \x01(\t\"\xbf\x03\n\x19IpMasqueradingSkippedInfo\x12S\n\x06reason\x18\x01 \x01(\x0e\x32\x43.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason\x12\x1c\n\x14non_masquerade_range\x18\x02 \x01(\t\"\xae\x02\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x35\n1DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE\x10\x01\x12\x32\n.DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE\x10\x02\x12\x1c\n\x18\x44\x45STINATION_ON_SAME_NODE\x10\x03\x12\x19\n\x15\x44\x45\x46\x41ULT_SNAT_DISABLED\x10\x04\x12\x1c\n\x18NO_MASQUERADING_FOR_IPV6\x10\x05\x12#\n\x1fPOD_USES_NODE_NETWORK_NAMESPACE\x10\x06\x12%\n!NO_MASQUERADING_FOR_RETURN_PACKET\x10\x07\"\x88\x01\n\x14\x43loudSQLInstanceInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x04 \x01(\t\x12\x13\n\x0binternal_ip\x18\x05 \x01(\t\x12\x13\n\x0b\x65xternal_ip\x18\x06 \x01(\t\x12\x0e\n\x06region\x18\x07 \x01(\t\"\x92\x01\n\x11RedisInstanceInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x03 \x01(\t\x12\x1b\n\x13primary_endpoint_ip\x18\x04 \x01(\t\x12\x18\n\x10read_endpoint_ip\x18\x05 \x01(\t\x12\x0e\n\x06region\x18\x06 \x01(\t\"\xbe\x01\n\x10RedisClusterInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x03 \x01(\t\x12/\n\x1d\x64iscovery_endpoint_ip_address\x18\x04 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12/\n\x1dsecondary_endpoint_ip_address\x18\x05 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x10\n\x08location\x18\x06 \x01(\t\"\\\n\x11\x43loudFunctionInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x10\n\x08location\x18\x03 \x01(\t\x12\x12\n\nversion_id\x18\x04 \x01(\x03\"`\n\x14\x43loudRunRevisionInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x10\n\x08location\x18\x04 \x01(\t\x12\x13\n\x0bservice_uri\x18\x05 \x01(\t\"_\n\x14\x41ppEngineVersionInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x0f\n\x07runtime\x18\x03 \x01(\t\x12\x13\n\x0b\x65nvironment\x18\x04 \x01(\t\"G\n\x10VpcConnectorInfo\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x10\n\x08location\x18\x03 \x01(\t\"\xa8\x01\n\x1d\x44irectVpcEgressConnectionInfo\x12\x13\n\x0bnetwork_uri\x18\x01 \x01(\t\x12\x16\n\x0esubnetwork_uri\x18\x02 \x01(\t\x12#\n\x11selected_ip_range\x18\x03 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12%\n\x13selected_ip_address\x18\x04 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x0e\n\x06region\x18\x05 \x01(\t\"I\n ServerlessExternalConnectionInfo\x12%\n\x13selected_ip_address\x18\x01 \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x04\"\x91\x06\n\x07NatInfo\x12=\n\x04type\x18\x01 \x01(\x0e\x32/.google.cloud.networkmanagement.v1.NatInfo.Type\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x03 \x01(\t\x12\x15\n\rold_source_ip\x18\x04 \x01(\t\x12\x15\n\rnew_source_ip\x18\x05 \x01(\t\x12\x1a\n\x12old_destination_ip\x18\x06 \x01(\t\x12\x1a\n\x12new_destination_ip\x18\x07 \x01(\t\x12\x17\n\x0fold_source_port\x18\x08 \x01(\x05\x12\x17\n\x0fnew_source_port\x18\t \x01(\x05\x12\x1c\n\x14old_destination_port\x18\n \x01(\x05\x12\x1c\n\x14new_destination_port\x18\x0b \x01(\x05\x12\x12\n\nrouter_uri\x18\x0c \x01(\t\x12\x18\n\x10nat_gateway_name\x18\r \x01(\t\x12^\n\x16\x63loud_nat_gateway_type\x18\x0e \x01(\x0e\x32>.google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType\"\x99\x01\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14INTERNAL_TO_EXTERNAL\x10\x01\x12\x18\n\x14\x45XTERNAL_TO_INTERNAL\x10\x02\x12\r\n\tCLOUD_NAT\x10\x03\x12\x1b\n\x17PRIVATE_SERVICE_CONNECT\x10\x04\x12\x1b\n\x17GKE_POD_IP_MASQUERADING\x10\x05\"\xa1\x01\n\x13\x43loudNatGatewayType\x12&\n\"CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cPUBLIC_NAT44\x10\x01\x12\x10\n\x0cPUBLIC_NAT64\x10\x02\x12\x13\n\x0fPRIVATE_NAT_NCC\x10\x03\x12\x16\n\x12PRIVATE_NAT_HYBRID\x10\x04\x12\x11\n\rPRIVATE_NAT64\x10\x05\"\xa4\x02\n\x13ProxyConnectionInfo\x12\x10\n\x08protocol\x18\x01 \x01(\t\x12\x15\n\rold_source_ip\x18\x02 \x01(\t\x12\x15\n\rnew_source_ip\x18\x03 \x01(\t\x12\x1a\n\x12old_destination_ip\x18\x04 \x01(\t\x12\x1a\n\x12new_destination_ip\x18\x05 \x01(\t\x12\x17\n\x0fold_source_port\x18\x06 \x01(\x05\x12\x17\n\x0fnew_source_port\x18\x07 \x01(\x05\x12\x1c\n\x14old_destination_port\x18\x08 \x01(\x05\x12\x1c\n\x14new_destination_port\x18\t \x01(\x05\x12\x12\n\nsubnet_uri\x18\n \x01(\t\x12\x13\n\x0bnetwork_uri\x18\x0b \x01(\t\"\xf2\x04\n\x17LoadBalancerBackendInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cinstance_uri\x18\x02 \x01(\t\x12\x1b\n\x13\x62\x61\x63kend_service_uri\x18\x03 \x01(\t\x12\x1a\n\x12instance_group_uri\x18\x04 \x01(\t\x12\"\n\x1anetwork_endpoint_group_uri\x18\x05 \x01(\t\x12\x1a\n\x12\x62\x61\x63kend_bucket_uri\x18\x08 \x01(\t\x12\"\n\x1apsc_service_attachment_uri\x18\t \x01(\t\x12\x1d\n\x15psc_google_api_target\x18\n \x01(\t\x12\x18\n\x10health_check_uri\x18\x06 \x01(\t\x12\x8c\x01\n#health_check_firewalls_config_state\x18\x07 \x01(\x0e\x32Z.google.cloud.networkmanagement.v1.LoadBalancerBackendInfo.HealthCheckFirewallsConfigStateB\x03\xe0\x41\x03\"\xcd\x01\n\x1fHealthCheckFirewallsConfigState\x12\x33\n/HEALTH_CHECK_FIREWALLS_CONFIG_STATE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46IREWALLS_CONFIGURED\x10\x01\x12\"\n\x1e\x46IREWALLS_PARTIALLY_CONFIGURED\x10\x02\x12\x1c\n\x18\x46IREWALLS_NOT_CONFIGURED\x10\x03\x12\x19\n\x15\x46IREWALLS_UNSUPPORTED\x10\x04\"#\n\x11StorageBucketInfo\x12\x0e\n\x06\x62ucket\x18\x01 \x01(\t\"$\n\x11ServerlessNegInfo\x12\x0f\n\x07neg_uri\x18\x01 \x01(\t*\xf6\x02\n\x10LoadBalancerType\x12\"\n\x1eLOAD_BALANCER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cHTTPS_ADVANCED_LOAD_BALANCER\x10\x01\x12\x17\n\x13HTTPS_LOAD_BALANCER\x10\x02\x12 \n\x1cREGIONAL_HTTPS_LOAD_BALANCER\x10\x03\x12 \n\x1cINTERNAL_HTTPS_LOAD_BALANCER\x10\x04\x12\x1b\n\x17SSL_PROXY_LOAD_BALANCER\x10\x05\x12\x1b\n\x17TCP_PROXY_LOAD_BALANCER\x10\x06\x12$\n INTERNAL_TCP_PROXY_LOAD_BALANCER\x10\x07\x12\x19\n\x15NETWORK_LOAD_BALANCER\x10\x08\x12 \n\x1cLEGACY_NETWORK_LOAD_BALANCER\x10\t\x12\"\n\x1eTCP_UDP_INTERNAL_LOAD_BALANCER\x10\nB\xf9\x01\n%com.google.cloud.networkmanagement.v1B\nTraceProtoP\x01ZScloud.google.com/go/networkmanagement/apiv1/networkmanagementpb;networkmanagementpb\xaa\x02!Google.Cloud.NetworkManagement.V1\xca\x02!Google\\Cloud\\NetworkManagement\\V1\xea\x02$Google::Cloud::NetworkManagement::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -76,6 +76,9 @@ module V1 DropInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.DropInfo").msgclass DropInfo::Cause = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.DropInfo.Cause").enummodule GKEMasterInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.GKEMasterInfo").msgclass + GkePodInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.GkePodInfo").msgclass + IpMasqueradingSkippedInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo").msgclass + IpMasqueradingSkippedInfo::Reason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason").enummodule CloudSQLInstanceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.CloudSQLInstanceInfo").msgclass RedisInstanceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.RedisInstanceInfo").msgclass RedisClusterInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.RedisClusterInfo").msgclass @@ -87,6 +90,7 @@ module V1 ServerlessExternalConnectionInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.ServerlessExternalConnectionInfo").msgclass NatInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.NatInfo").msgclass NatInfo::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.NatInfo.Type").enummodule + NatInfo::CloudNatGatewayType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType").enummodule ProxyConnectionInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.ProxyConnectionInfo").msgclass LoadBalancerBackendInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.LoadBalancerBackendInfo").msgclass LoadBalancerBackendInfo::HealthCheckFirewallsConfigState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkmanagement.v1.LoadBalancerBackendInfo.HealthCheckFirewallsConfigState").enummodule diff --git a/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/connectivity_test.rb b/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/connectivity_test.rb index 0aca542e480c..47822e6d7b9f 100644 --- a/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/connectivity_test.rb +++ b/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/connectivity_test.rb @@ -158,6 +158,10 @@ class LabelsEntry # @return [::String] # A [Redis Cluster](https://cloud.google.com/memorystore/docs/cluster) URI. # Applicable only to destination endpoint. + # @!attribute [rw] gke_pod + # @return [::String] + # A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) + # URI. # @!attribute [rw] cloud_function # @return [::Google::Cloud::NetworkManagement::V1::Endpoint::CloudFunctionEndpoint] # A [Cloud Function](https://cloud.google.com/functions). Applicable only to @@ -174,23 +178,18 @@ class LabelsEntry # Applicable only to source endpoint. # @!attribute [rw] network # @return [::String] - # A VPC network URI. + # A VPC network URI. For source endpoints, used according to the + # `network_type`. For destination endpoints, used only when the source is an + # external IP address endpoint, and the destination is an internal IP address + # endpoint. # @!attribute [rw] network_type # @return [::Google::Cloud::NetworkManagement::V1::Endpoint::NetworkType] - # Type of the network where the endpoint is located. - # Applicable only to source endpoint, as destination network type can be - # inferred from the source. + # For source endpoints, type of the network where the endpoint is located. + # Not relevant for destination endpoints. # @!attribute [rw] project_id # @return [::String] - # Project ID where the endpoint is located. - # The project ID can be derived from the URI if you provide a endpoint or - # network URI. - # The following are two cases where you may need to provide the project ID: - # 1. Only the IP address is specified, and the IP address is within a Google - # Cloud project. - # 2. When you are using Shared VPC and the IP address that you provide is - # from the service project. In this case, the network that the IP address - # resides in is defined in the host project. + # For source endpoints, endpoint project ID. Used according to the + # `network_type`. Not relevant for destination endpoints. class Endpoint include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -232,21 +231,37 @@ class CloudRunRevisionEndpoint extend ::Google::Protobuf::MessageExts::ClassMethods end - # The type definition of an endpoint's network. Use one of the - # following choices: + # The type of the network of the IP address endpoint. Relevant for the source + # IP address endpoints. module NetworkType - # Default type if unspecified. + # Unspecified. The test will analyze all possible IP address locations. + # This might take longer and produce inaccurate or ambiguous results, so + # prefer specifying an explicit network type. + # + # The `project_id` field should be set to the project where the GCP + # endpoint is located, or where the non-GCP endpoint should be reachable + # from (via routes to non-GCP networks). The project might also be inferred + # from the Connectivity Test project or other projects referenced in the + # request. NETWORK_TYPE_UNSPECIFIED = 0 - # A network hosted within Google Cloud. - # To receive more detailed output, specify the URI for the source or - # destination network. + # A VPC network. Should be used for internal IP addresses in VPC networks. + # The `network` field should be set to the URI of this network. Only + # endpoints within this network will be considered. GCP_NETWORK = 1 - # A network hosted outside of Google Cloud. - # This can be an on-premises network, an internet resource or a network - # hosted by another cloud provider. + # A non-GCP network (for example, an on-premises network or another cloud + # provider network). Should be used for internal IP addresses outside of + # Google Cloud. The `network` field should be set to the URI of the VPC + # network containing a corresponding Cloud VPN tunnel, Cloud Interconnect + # VLAN attachment, or a router appliance instance. Only endpoints reachable + # from the provided VPC network via the routes to non-GCP networks will be + # considered. NON_GCP_NETWORK = 2 + + # Internet. Should be used for internet-routable external IP addresses or + # IP addresses for global Google APIs and services. + INTERNET = 3 end # Type of the target of a forwarding rule. diff --git a/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/trace.rb b/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/trace.rb index 29617697f6d2..579edf1e472c 100644 --- a/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/trace.rb +++ b/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/trace.rb @@ -74,17 +74,17 @@ class Trace # @return [::Google::Cloud::NetworkManagement::V1::InstanceInfo] # Display information of a Compute Engine instance. # - # Note: The following fields are mutually exclusive: `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] firewall # @return [::Google::Cloud::NetworkManagement::V1::FirewallInfo] # Display information of a Compute Engine firewall rule. # - # Note: The following fields are mutually exclusive: `firewall`, `instance`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `firewall`, `instance`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] route # @return [::Google::Cloud::NetworkManagement::V1::RouteInfo] # Display information of a Compute Engine route. # - # Note: The following fields are mutually exclusive: `route`, `instance`, `firewall`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `route`, `instance`, `firewall`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] endpoint # @return [::Google::Cloud::NetworkManagement::V1::EndpointInfo] # Display information of the source and destination under analysis. @@ -92,145 +92,156 @@ class Trace # initial input, as it might be modified by state like NAT, # or Connection Proxy. # - # Note: The following fields are mutually exclusive: `endpoint`, `instance`, `firewall`, `route`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `endpoint`, `instance`, `firewall`, `route`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] google_service # @return [::Google::Cloud::NetworkManagement::V1::GoogleServiceInfo] # Display information of a Google service # - # Note: The following fields are mutually exclusive: `google_service`, `instance`, `firewall`, `route`, `endpoint`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `google_service`, `instance`, `firewall`, `route`, `endpoint`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] forwarding_rule # @return [::Google::Cloud::NetworkManagement::V1::ForwardingRuleInfo] # Display information of a Compute Engine forwarding rule. # - # Note: The following fields are mutually exclusive: `forwarding_rule`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `forwarding_rule`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] hybrid_subnet # @return [::Google::Cloud::NetworkManagement::V1::HybridSubnetInfo] # Display information of a hybrid subnet. # - # Note: The following fields are mutually exclusive: `hybrid_subnet`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `hybrid_subnet`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] vpn_gateway # @return [::Google::Cloud::NetworkManagement::V1::VpnGatewayInfo] # Display information of a Compute Engine VPN gateway. # - # Note: The following fields are mutually exclusive: `vpn_gateway`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `vpn_gateway`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] vpn_tunnel # @return [::Google::Cloud::NetworkManagement::V1::VpnTunnelInfo] # Display information of a Compute Engine VPN tunnel. # - # Note: The following fields are mutually exclusive: `vpn_tunnel`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `vpn_tunnel`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] interconnect_attachment # @return [::Google::Cloud::NetworkManagement::V1::InterconnectAttachmentInfo] # Display information of an interconnect attachment. # - # Note: The following fields are mutually exclusive: `interconnect_attachment`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `interconnect_attachment`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] vpc_connector # @return [::Google::Cloud::NetworkManagement::V1::VpcConnectorInfo] # Display information of a VPC connector. # - # Note: The following fields are mutually exclusive: `vpc_connector`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `vpc_connector`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] direct_vpc_egress_connection # @return [::Google::Cloud::NetworkManagement::V1::DirectVpcEgressConnectionInfo] # Display information of a serverless direct VPC egress connection. # - # Note: The following fields are mutually exclusive: `direct_vpc_egress_connection`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `direct_vpc_egress_connection`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] serverless_external_connection # @return [::Google::Cloud::NetworkManagement::V1::ServerlessExternalConnectionInfo] # Display information of a serverless public (external) connection. # - # Note: The following fields are mutually exclusive: `serverless_external_connection`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `serverless_external_connection`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] deliver # @return [::Google::Cloud::NetworkManagement::V1::DeliverInfo] # Display information of the final state "deliver" and reason. # - # Note: The following fields are mutually exclusive: `deliver`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `deliver`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] forward # @return [::Google::Cloud::NetworkManagement::V1::ForwardInfo] # Display information of the final state "forward" and reason. # - # Note: The following fields are mutually exclusive: `forward`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `forward`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] abort # @return [::Google::Cloud::NetworkManagement::V1::AbortInfo] # Display information of the final state "abort" and reason. # - # Note: The following fields are mutually exclusive: `abort`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `abort`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] drop # @return [::Google::Cloud::NetworkManagement::V1::DropInfo] # Display information of the final state "drop" and reason. # - # Note: The following fields are mutually exclusive: `drop`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `drop`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] load_balancer # @deprecated This field is deprecated and may be removed in the next major version update. # @return [::Google::Cloud::NetworkManagement::V1::LoadBalancerInfo] # Display information of the load balancers. Deprecated in favor of the # `load_balancer_backend_info` field, not used in new tests. # - # Note: The following fields are mutually exclusive: `load_balancer`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `load_balancer`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] network # @return [::Google::Cloud::NetworkManagement::V1::NetworkInfo] # Display information of a Google Cloud network. # - # Note: The following fields are mutually exclusive: `network`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `network`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] gke_master # @return [::Google::Cloud::NetworkManagement::V1::GKEMasterInfo] # Display information of a Google Kubernetes Engine cluster master. # - # Note: The following fields are mutually exclusive: `gke_master`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `gke_master`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] gke_pod + # @return [::Google::Cloud::NetworkManagement::V1::GkePodInfo] + # Display information of a Google Kubernetes Engine Pod. + # + # Note: The following fields are mutually exclusive: `gke_pod`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] ip_masquerading_skipped + # @return [::Google::Cloud::NetworkManagement::V1::IpMasqueradingSkippedInfo] + # Display information of the reason why GKE Pod IP masquerading was + # skipped. + # + # Note: The following fields are mutually exclusive: `ip_masquerading_skipped`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] cloud_sql_instance # @return [::Google::Cloud::NetworkManagement::V1::CloudSQLInstanceInfo] # Display information of a Cloud SQL instance. # - # Note: The following fields are mutually exclusive: `cloud_sql_instance`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `cloud_sql_instance`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] redis_instance # @return [::Google::Cloud::NetworkManagement::V1::RedisInstanceInfo] # Display information of a Redis Instance. # - # Note: The following fields are mutually exclusive: `redis_instance`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `redis_instance`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] redis_cluster # @return [::Google::Cloud::NetworkManagement::V1::RedisClusterInfo] # Display information of a Redis Cluster. # - # Note: The following fields are mutually exclusive: `redis_cluster`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `redis_cluster`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] cloud_function # @return [::Google::Cloud::NetworkManagement::V1::CloudFunctionInfo] # Display information of a Cloud Function. # - # Note: The following fields are mutually exclusive: `cloud_function`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `cloud_function`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] app_engine_version # @return [::Google::Cloud::NetworkManagement::V1::AppEngineVersionInfo] # Display information of an App Engine service version. # - # Note: The following fields are mutually exclusive: `app_engine_version`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `app_engine_version`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] cloud_run_revision # @return [::Google::Cloud::NetworkManagement::V1::CloudRunRevisionInfo] # Display information of a Cloud Run revision. # - # Note: The following fields are mutually exclusive: `cloud_run_revision`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `cloud_run_revision`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] nat # @return [::Google::Cloud::NetworkManagement::V1::NatInfo] # Display information of a NAT. # - # Note: The following fields are mutually exclusive: `nat`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `nat`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] proxy_connection # @return [::Google::Cloud::NetworkManagement::V1::ProxyConnectionInfo] # Display information of a ProxyConnection. # - # Note: The following fields are mutually exclusive: `proxy_connection`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `proxy_connection`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `load_balancer_backend_info`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] load_balancer_backend_info # @return [::Google::Cloud::NetworkManagement::V1::LoadBalancerBackendInfo] # Display information of a specific load balancer backend. # - # Note: The following fields are mutually exclusive: `load_balancer_backend_info`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `load_balancer_backend_info`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `storage_bucket`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] storage_bucket # @return [::Google::Cloud::NetworkManagement::V1::StorageBucketInfo] # Display information of a Storage Bucket. Used only for return traces. # - # Note: The following fields are mutually exclusive: `storage_bucket`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `storage_bucket`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `serverless_neg`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] serverless_neg # @return [::Google::Cloud::NetworkManagement::V1::ServerlessNegInfo] # Display information of a Serverless network endpoint group backend. Used # only for return traces. # - # Note: The following fields are mutually exclusive: `serverless_neg`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `serverless_neg`, `instance`, `firewall`, `route`, `endpoint`, `google_service`, `forwarding_rule`, `hybrid_subnet`, `vpn_gateway`, `vpn_tunnel`, `interconnect_attachment`, `vpc_connector`, `direct_vpc_egress_connection`, `serverless_external_connection`, `deliver`, `forward`, `abort`, `drop`, `load_balancer`, `network`, `gke_master`, `gke_pod`, `ip_masquerading_skipped`, `cloud_sql_instance`, `redis_instance`, `redis_cluster`, `cloud_function`, `app_engine_version`, `cloud_run_revision`, `nat`, `proxy_connection`, `load_balancer_backend_info`, `storage_bucket`. If a field in that set is populated, all other fields in the set will automatically be cleared. class Step include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -267,6 +278,10 @@ module State # A CloudSQLInstanceInfo is populated with starting instance information. START_FROM_CLOUD_SQL_INSTANCE = 22 + # Initial state: packet originating from a Google Kubernetes Engine Pod. + # A GkePodInfo is populated with starting Pod information. + START_FROM_GKE_POD = 39 + # Initial state: packet originating from a Redis instance. # A RedisInstanceInfo is populated with starting instance information. START_FROM_REDIS_INSTANCE = 32 @@ -357,6 +372,10 @@ module State # with the translation information. NAT = 14 + # Transition state: GKE Pod IP masquerading is skipped. The + # `ip_masquerading_skipped` field is populated with the reason. + SKIP_GKE_POD_IP_MASQUERADING = 40 + # Transition state: original connection is terminated and a new proxied # connection is initiated. PROXY_CONNECTION = 15 @@ -537,16 +556,22 @@ module FirewallRuleType # rules](https://cloud.google.com/functions/docs/networking/connecting-vpc#restrict-access). SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE = 4 - # Global network firewall policy rule. + # User-defined global network firewall policy rule. # For details, see [Network firewall # policies](https://cloud.google.com/vpc/docs/network-firewall-policies). NETWORK_FIREWALL_POLICY_RULE = 5 - # Regional network firewall policy rule. + # User-defined regional network firewall policy rule. # For details, see [Regional network firewall # policies](https://cloud.google.com/firewall/docs/regional-firewall-policies). NETWORK_REGIONAL_FIREWALL_POLICY_RULE = 6 + # System-defined global network firewall policy rule. + SYSTEM_NETWORK_FIREWALL_POLICY_RULE = 7 + + # System-defined regional network firewall policy rule. + SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE = 8 + # Firewall policy rule containing attributes not yet supported in # Connectivity tests. Firewall analysis is skipped if such a rule can # potentially be matched. Please see the [list of unsupported @@ -1217,6 +1242,9 @@ module Target # Target is a Redis Cluster. REDIS_CLUSTER = 17 + + # Target is a GKE Pod. + GKE_POD = 19 end # Recognized type of a Google Service. @@ -1385,10 +1413,23 @@ module Cause # required to run the test. PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS = 36 - # Aborted because no valid source or destination endpoint is derived from - # the input test request. + # Aborted because no valid source or destination endpoint can be derived + # from the test request. NO_SOURCE_LOCATION = 5 + # Aborted because the source IP address is not contained within the subnet + # ranges of the provided VPC network. + NO_SOURCE_GCP_NETWORK_LOCATION = 42 + + # Aborted because the source IP address is not contained within the + # destination ranges of the routes towards non-GCP networks in the provided + # VPC network. + NO_SOURCE_NON_GCP_NETWORK_LOCATION = 43 + + # Aborted because the source IP address can't be resolved as an Internet + # IP address. + NO_SOURCE_INTERNET_LOCATION = 44 + # Aborted because the source or destination endpoint specified in # the request is invalid. Some examples: # - The request might contain malformed resource URI, project ID, or IP @@ -1444,6 +1485,11 @@ module Cause # not supported. SOURCE_PSC_CLOUD_SQL_UNSUPPORTED = 20 + # Aborted because tests with the external database as a source are not + # supported. In such replication scenarios, the connection is initiated by + # the Cloud SQL replica instance. + SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED = 45 + # Aborted because tests with a Redis Cluster as a source are not supported. SOURCE_REDIS_CLUSTER_UNSUPPORTED = 34 @@ -1473,6 +1519,11 @@ module Cause # Aborted because the used protocol is not supported for the used IP # version. IP_VERSION_PROTOCOL_MISMATCH = 40 + + # Aborted because selected GKE Pod endpoint location is unknown. This is + # often the case for "Pending" Pods, which don't have assigned IP addresses + # yet. + GKE_POD_UNKNOWN_ENDPOINT_LOCATION = 41 end end @@ -1554,10 +1605,12 @@ module Cause # rule of the internal passthrough load balancer). ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID = 53 - # Packet is sent from the Internet or Google service to the private IPv6 - # address. + # Packet is sent from the Internet to the private IPv6 address. NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS = 44 + # Packet is sent from the Internet to the private IPv4 address. + NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS = 109 + # Packet is sent from the external IPv6 source address of an instance to # the private IPv6 address of an instance. NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS = 98 @@ -1615,6 +1668,9 @@ module Cause # Packet sent from or to a GKE cluster that is not in running state. GKE_CLUSTER_NOT_RUNNING = 27 + # Packet sent from or to a GKE Pod that is not in running state. + GKE_POD_NOT_RUNNING = 103 + # Packet sent from or to a Cloud SQL instance that is not in running state. CLOUD_SQL_INSTANCE_NOT_RUNNING = 28 @@ -1866,6 +1922,10 @@ module Cause # dropped due to no matching NAT gateway in the subnet. NO_MATCHING_NAT64_GATEWAY = 90 + # Packet is dropped due to matching a Private NAT64 gateway with no rules + # for source IPv6 addresses. + NO_CONFIGURED_PRIVATE_NAT64_RULE = 107 + # Packet is dropped due to being sent to a backend of a passthrough load # balancer that doesn't use the same IP version as the frontend. LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH = 96 @@ -1898,6 +1958,10 @@ module Cause # from the region of the next hop of the route matched within this hybrid # subnet. HYBRID_SUBNET_REGION_MISMATCH = 105 + + # Packet is dropped because no matching route was found in the hybrid + # subnet. + HYBRID_SUBNET_NO_ROUTE = 106 end end @@ -1923,6 +1987,73 @@ class GKEMasterInfo extend ::Google::Protobuf::MessageExts::ClassMethods end + # For display only. Metadata associated with a Google Kubernetes Engine (GKE) + # Pod. + # @!attribute [rw] pod_uri + # @return [::String] + # URI of a GKE Pod. + # For Pods in regional Clusters, the URI format is: + # `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` + # For Pods in zonal Clusters, the URI format is: + # `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` + # @!attribute [rw] ip_address + # @return [::String] + # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address + # relevant to the trace. + # @!attribute [rw] network_uri + # @return [::String] + # URI of the network containing the GKE Pod. + class GkePodInfo + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # For display only. Contains information about why IP masquerading was skipped + # for the packet. + # @!attribute [rw] reason + # @return [::Google::Cloud::NetworkManagement::V1::IpMasqueradingSkippedInfo::Reason] + # Reason why IP masquerading was not applied. + # @!attribute [rw] non_masquerade_range + # @return [::String] + # The matched non-masquerade IP range. Only set if reason is + # DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or + # DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE. + class IpMasqueradingSkippedInfo + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Reason why IP masquerading was skipped. + module Reason + # Unused default value. + REASON_UNSPECIFIED = 0 + + # Masquerading not applied because destination IP is in one of configured + # non-masquerade ranges. + DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE = 1 + + # Masquerading not applied because destination IP is in one of default + # non-masquerade ranges. + DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE = 2 + + # Masquerading not applied because destination is on the same Node. + DESTINATION_ON_SAME_NODE = 3 + + # Masquerading not applied because ip-masq-agent doesn't exist and default + # SNAT is disabled. + DEFAULT_SNAT_DISABLED = 4 + + # Masquerading not applied because the packet's IP version is IPv6. + NO_MASQUERADING_FOR_IPV6 = 5 + + # Masquerading not applied because the source Pod uses the host Node's + # network namespace, including the Node's IP address. + POD_USES_NODE_NETWORK_NAMESPACE = 6 + + # Masquerading not applied because the packet is a return packet. + NO_MASQUERADING_FOR_RETURN_PACKET = 7 + end + end + # For display only. Metadata associated with a Cloud SQL instance. # @!attribute [rw] display_name # @return [::String] @@ -2141,6 +2272,9 @@ class ServerlessExternalConnectionInfo # @!attribute [rw] nat_gateway_name # @return [::String] # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT. + # @!attribute [rw] cloud_nat_gateway_type + # @return [::Google::Cloud::NetworkManagement::V1::NatInfo::CloudNatGatewayType] + # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT. class NatInfo include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -2165,6 +2299,27 @@ module Type # GKE Pod IP address masquerading. GKE_POD_IP_MASQUERADING = 5 end + + # Types of Cloud NAT gateway. + module CloudNatGatewayType + # Type is unspecified. + CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED = 0 + + # Public NAT gateway. + PUBLIC_NAT44 = 1 + + # Public NAT64 gateway. + PUBLIC_NAT64 = 2 + + # Private NAT gateway for NCC. + PRIVATE_NAT_NCC = 3 + + # Private NAT gateway for hybrid connectivity. + PRIVATE_NAT_HYBRID = 4 + + # Private NAT64 gateway. + PRIVATE_NAT64 = 5 + end end # For display only. Metadata associated with ProxyConnection. diff --git a/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/vpc_flow_logs.rb b/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/vpc_flow_logs.rb index 6d47da0f5c0c..a397835e97f5 100644 --- a/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/vpc_flow_logs.rb +++ b/google-cloud-network_management-v1/proto_docs/google/cloud/networkmanagement/v1/vpc_flow_logs.rb @@ -27,7 +27,7 @@ module V1 # Required. The parent resource of the VpcFlowLogsConfig, # in one of the following formats: # - # - For project-level resourcs: `projects/{project_id}/locations/global` + # - For project-level resources: `projects/{project_id}/locations/global` # # - For organization-level resources: # `organizations/{organization_id}/locations/global`