diff --git a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/connectivity_test.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/connectivity_test.proto index f6eebf5378e..f73063521d6 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/connectivity_test.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/connectivity_test.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -116,21 +116,37 @@ message ConnectivityTest { // Source or destination of the Connectivity Test. message Endpoint { - // 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. enum 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; } // Type of the target of a forwarding rule. @@ -233,6 +249,10 @@ message Endpoint { // Applicable only to destination endpoint. string redis_cluster = 18; + // A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) + // URI. + string gke_pod = 21; + // A [Cloud Function](https://cloud.google.com/functions). Applicable only to // source endpoint. CloudFunctionEndpoint cloud_function = 10; @@ -247,23 +267,18 @@ message Endpoint { // Applicable only to source endpoint. CloudRunRevisionEndpoint cloud_run_revision = 12; - // 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. string network = 4; - // 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. NetworkType network_type = 5; - // 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. string project_id = 6; } diff --git a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/reachability.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/reachability.proto index 21c3bbceeb0..749d3acb4bf 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/reachability.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/reachability.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/trace.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/trace.proto index 30d411b36c4..0b2c9fc66d3 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/trace.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/trace.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -94,6 +94,10 @@ message Step { // 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; @@ -184,6 +188,10 @@ message Step { // 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; @@ -288,6 +296,13 @@ message Step { // Display information of a Google Kubernetes Engine cluster master. GKEMasterInfo gke_master = 18; + // Display information of a Google Kubernetes Engine Pod. + GkePodInfo gke_pod = 37; + + // Display information of the reason why GKE Pod IP masquerading was + // skipped. + IpMasqueradingSkippedInfo ip_masquerading_skipped = 38; + // Display information of a Cloud SQL instance. CloudSQLInstanceInfo cloud_sql_instance = 19; @@ -421,16 +436,22 @@ message FirewallInfo { // 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 @@ -1094,6 +1115,9 @@ message DeliverInfo { // Target is a Redis Cluster. REDIS_CLUSTER = 17; + + // Target is a GKE Pod. + GKE_POD = 19; } // Recognized type of a Google Service. @@ -1263,10 +1287,23 @@ message AbortInfo { // 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 @@ -1322,6 +1359,11 @@ message AbortInfo { // 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; @@ -1351,6 +1393,11 @@ message AbortInfo { // 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; } // Causes that the analysis is aborted. @@ -1421,10 +1468,12 @@ message DropInfo { // 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; @@ -1482,6 +1531,9 @@ message DropInfo { // 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; @@ -1733,6 +1785,10 @@ message DropInfo { // 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; @@ -1765,6 +1821,10 @@ message DropInfo { // 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; } // Cause that the packet is dropped. @@ -1808,6 +1868,67 @@ message GKEMasterInfo { string dns_endpoint = 7; } +// For display only. Metadata associated with a Google Kubernetes Engine (GKE) +// Pod. +message GkePodInfo { + // 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}` + string pod_uri = 1; + + // IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address + // relevant to the trace. + string ip_address = 2 [(google.api.field_info).format = IPV4_OR_IPV6]; + + // URI of the network containing the GKE Pod. + string network_uri = 3; +} + +// For display only. Contains information about why IP masquerading was skipped +// for the packet. +message IpMasqueradingSkippedInfo { + // Reason why IP masquerading was skipped. + enum 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; + } + + // Reason why IP masquerading was not applied. + Reason reason = 1; + + // 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. + string non_masquerade_range = 2; +} + // For display only. Metadata associated with a Cloud SQL instance. message CloudSQLInstanceInfo { // Name of a Cloud SQL instance. @@ -1984,6 +2105,27 @@ message NatInfo { GKE_POD_IP_MASQUERADING = 5; } + // Types of Cloud NAT gateway. + enum 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; + } + // Type of NAT. Type type = 1; @@ -2024,6 +2166,9 @@ message NatInfo { // The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT. string nat_gateway_name = 13; + + // Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT. + CloudNatGatewayType cloud_nat_gateway_type = 14; } // For display only. Metadata associated with ProxyConnection. diff --git a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/vpc_flow_logs.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/vpc_flow_logs.proto index f2ff4a3488a..6de1fcd8261 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/vpc_flow_logs.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/vpc_flow_logs.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -252,7 +252,7 @@ message ListVpcFlowLogsConfigsRequest { // 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/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/vpc_flow_logs_config.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/vpc_flow_logs_config.proto index 36c65735ff1..a0f698af1de 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/vpc_flow_logs_config.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1/vpc_flow_logs_config.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/connectivity_test.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/connectivity_test.proto index ffb3abd6500..56119b41302 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/connectivity_test.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/connectivity_test.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -116,21 +116,37 @@ message ConnectivityTest { // Source or destination of the Connectivity Test. message Endpoint { - // 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. enum 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; } // Type of the target of a forwarding rule. @@ -233,6 +249,10 @@ message Endpoint { // Applicable only to destination endpoint. string redis_cluster = 18; + // A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) + // URI. + string gke_pod = 21; + // A [Cloud Function](https://cloud.google.com/functions). Applicable only to // source endpoint. CloudFunctionEndpoint cloud_function = 10; @@ -247,23 +267,18 @@ message Endpoint { // Applicable only to source endpoint. CloudRunRevisionEndpoint cloud_run_revision = 12; - // 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. string network = 4; - // 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. NetworkType network_type = 5; - // 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. string project_id = 6; } diff --git a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/reachability.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/reachability.proto index 01cb0a7c1cc..cee36bf710f 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/reachability.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/reachability.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/trace.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/trace.proto index d7f6ff052f5..9dde226c1a9 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/trace.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/trace.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -94,6 +94,10 @@ message Step { // 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; @@ -188,6 +192,10 @@ message Step { // 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; @@ -292,6 +300,13 @@ message Step { // Display information of a Google Kubernetes Engine cluster master. GKEMasterInfo gke_master = 18; + // Display information of a Google Kubernetes Engine Pod. + GkePodInfo gke_pod = 37; + + // Display information of the reason why GKE Pod IP masquerading was + // skipped. + IpMasqueradingSkippedInfo ip_masquerading_skipped = 38; + // Display information of a Cloud SQL instance. CloudSQLInstanceInfo cloud_sql_instance = 19; @@ -425,16 +440,22 @@ message FirewallInfo { // 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 @@ -1098,6 +1119,9 @@ message DeliverInfo { // Target is a Redis Cluster. REDIS_CLUSTER = 17; + + // Target is a GKE Pod. + GKE_POD = 19; } // Recognized type of a Google Service. @@ -1265,10 +1289,23 @@ message AbortInfo { // 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 @@ -1324,6 +1361,11 @@ message AbortInfo { // 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; @@ -1353,6 +1395,11 @@ message AbortInfo { // 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; } // Causes that the analysis is aborted. @@ -1423,10 +1470,12 @@ message DropInfo { // 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; @@ -1484,6 +1533,9 @@ message DropInfo { // 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; @@ -1735,6 +1787,10 @@ message DropInfo { // 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; @@ -1767,6 +1823,10 @@ message DropInfo { // 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; } // Cause that the packet is dropped. @@ -1810,6 +1870,67 @@ message GKEMasterInfo { string dns_endpoint = 7; } +// For display only. Metadata associated with a Google Kubernetes Engine (GKE) +// Pod. +message GkePodInfo { + // 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}` + string pod_uri = 1; + + // IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address + // relevant to the trace. + string ip_address = 2 [(google.api.field_info).format = IPV4_OR_IPV6]; + + // URI of the network containing the GKE Pod. + string network_uri = 3; +} + +// For display only. Contains information about why IP masquerading was skipped +// for the packet. +message IpMasqueradingSkippedInfo { + // Reason why IP masquerading was skipped. + enum 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; + } + + // Reason why IP masquerading was not applied. + Reason reason = 1; + + // 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. + string non_masquerade_range = 2; +} + // For display only. Metadata associated with a Cloud SQL instance. message CloudSQLInstanceInfo { // Name of a Cloud SQL instance. @@ -1986,6 +2107,27 @@ message NatInfo { GKE_POD_IP_MASQUERADING = 5; } + // Types of Cloud NAT gateway. + enum 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; + } + // Type of NAT. Type type = 1; @@ -2026,6 +2168,9 @@ message NatInfo { // The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT. string nat_gateway_name = 13; + + // Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT. + CloudNatGatewayType cloud_nat_gateway_type = 14; } // For display only. Metadata associated with ProxyConnection. diff --git a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/vpc_flow_logs.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/vpc_flow_logs.proto index de0fce9b18a..4df79f0fec7 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/vpc_flow_logs.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/vpc_flow_logs.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -252,7 +252,7 @@ message ListVpcFlowLogsConfigsRequest { // 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/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/vpc_flow_logs_config.proto b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/vpc_flow_logs_config.proto index e54d845d564..b553a364f32 100644 --- a/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/vpc_flow_logs_config.proto +++ b/packages/google-cloud-networkmanagement/protos/google/cloud/networkmanagement/v1beta1/vpc_flow_logs_config.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-networkmanagement/protos/protos.d.ts b/packages/google-cloud-networkmanagement/protos/protos.d.ts index a81e215c801..c504a1f6317 100644 --- a/packages/google-cloud-networkmanagement/protos/protos.d.ts +++ b/packages/google-cloud-networkmanagement/protos/protos.d.ts @@ -246,6 +246,9 @@ export namespace google { /** Endpoint redisCluster */ redisCluster?: (string|null); + /** Endpoint gkePod */ + gkePod?: (string|null); + /** Endpoint cloudFunction */ cloudFunction?: (google.cloud.networkmanagement.v1.Endpoint.ICloudFunctionEndpoint|null); @@ -310,6 +313,9 @@ export namespace google { /** Endpoint redisCluster. */ public redisCluster: string; + /** Endpoint gkePod. */ + public gkePod: string; + /** Endpoint cloudFunction. */ public cloudFunction?: (google.cloud.networkmanagement.v1.Endpoint.ICloudFunctionEndpoint|null); @@ -412,7 +418,8 @@ export namespace google { enum NetworkType { NETWORK_TYPE_UNSPECIFIED = 0, GCP_NETWORK = 1, - NON_GCP_NETWORK = 2 + NON_GCP_NETWORK = 2, + INTERNET = 3 } /** ForwardingRuleTarget enum. */ @@ -1633,6 +1640,12 @@ export namespace google { /** Step gkeMaster */ gkeMaster?: (google.cloud.networkmanagement.v1.IGKEMasterInfo|null); + /** Step gkePod */ + gkePod?: (google.cloud.networkmanagement.v1.IGkePodInfo|null); + + /** Step ipMasqueradingSkipped */ + ipMasqueradingSkipped?: (google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo|null); + /** Step cloudSqlInstance */ cloudSqlInstance?: (google.cloud.networkmanagement.v1.ICloudSQLInstanceInfo|null); @@ -1748,6 +1761,12 @@ export namespace google { /** Step gkeMaster. */ public gkeMaster?: (google.cloud.networkmanagement.v1.IGKEMasterInfo|null); + /** Step gkePod. */ + public gkePod?: (google.cloud.networkmanagement.v1.IGkePodInfo|null); + + /** Step ipMasqueradingSkipped. */ + public ipMasqueradingSkipped?: (google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo|null); + /** Step cloudSqlInstance. */ public cloudSqlInstance?: (google.cloud.networkmanagement.v1.ICloudSQLInstanceInfo|null); @@ -1782,7 +1801,7 @@ export namespace google { public serverlessNeg?: (google.cloud.networkmanagement.v1.IServerlessNegInfo|null); /** Step stepInfo. */ - public stepInfo?: ("instance"|"firewall"|"route"|"endpoint"|"googleService"|"forwardingRule"|"hybridSubnet"|"vpnGateway"|"vpnTunnel"|"interconnectAttachment"|"vpcConnector"|"directVpcEgressConnection"|"serverlessExternalConnection"|"deliver"|"forward"|"abort"|"drop"|"loadBalancer"|"network"|"gkeMaster"|"cloudSqlInstance"|"redisInstance"|"redisCluster"|"cloudFunction"|"appEngineVersion"|"cloudRunRevision"|"nat"|"proxyConnection"|"loadBalancerBackendInfo"|"storageBucket"|"serverlessNeg"); + public stepInfo?: ("instance"|"firewall"|"route"|"endpoint"|"googleService"|"forwardingRule"|"hybridSubnet"|"vpnGateway"|"vpnTunnel"|"interconnectAttachment"|"vpcConnector"|"directVpcEgressConnection"|"serverlessExternalConnection"|"deliver"|"forward"|"abort"|"drop"|"loadBalancer"|"network"|"gkeMaster"|"gkePod"|"ipMasqueradingSkipped"|"cloudSqlInstance"|"redisInstance"|"redisCluster"|"cloudFunction"|"appEngineVersion"|"cloudRunRevision"|"nat"|"proxyConnection"|"loadBalancerBackendInfo"|"storageBucket"|"serverlessNeg"); /** * Creates a new Step instance using the specified properties. @@ -1873,6 +1892,7 @@ export namespace google { START_FROM_PRIVATE_NETWORK = 3, START_FROM_GKE_MASTER = 21, START_FROM_CLOUD_SQL_INSTANCE = 22, + START_FROM_GKE_POD = 39, START_FROM_REDIS_INSTANCE = 32, START_FROM_REDIS_CLUSTER = 33, START_FROM_CLOUD_FUNCTION = 23, @@ -1898,6 +1918,7 @@ export namespace google { DIRECT_VPC_EGRESS_CONNECTION = 35, SERVERLESS_EXTERNAL_CONNECTION = 36, NAT = 14, + SKIP_GKE_POD_IP_MASQUERADING = 40, PROXY_CONNECTION = 15, DELIVER = 16, DROP = 17, @@ -2375,6 +2396,8 @@ export namespace google { SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE = 4, NETWORK_FIREWALL_POLICY_RULE = 5, NETWORK_REGIONAL_FIREWALL_POLICY_RULE = 6, + SYSTEM_NETWORK_FIREWALL_POLICY_RULE = 7, + SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE = 8, UNSUPPORTED_FIREWALL_POLICY_RULE = 100, TRACKING_STATE = 101, ANALYSIS_SKIPPED = 102 @@ -4036,7 +4059,8 @@ export namespace google { CLOUD_RUN_REVISION = 14, GOOGLE_MANAGED_SERVICE = 15, REDIS_INSTANCE = 16, - REDIS_CLUSTER = 17 + REDIS_CLUSTER = 17, + GKE_POD = 19 } /** GoogleServiceType enum. */ @@ -4313,6 +4337,9 @@ export namespace google { PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS = 29, PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS = 36, NO_SOURCE_LOCATION = 5, + NO_SOURCE_GCP_NETWORK_LOCATION = 42, + NO_SOURCE_NON_GCP_NETWORK_LOCATION = 43, + NO_SOURCE_INTERNET_LOCATION = 44, INVALID_ARGUMENT = 6, TRACE_TOO_LONG = 9, INTERNAL_ERROR = 10, @@ -4327,6 +4354,7 @@ export namespace google { GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT = 19, GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT = 39, SOURCE_PSC_CLOUD_SQL_UNSUPPORTED = 20, + SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED = 45, SOURCE_REDIS_CLUSTER_UNSUPPORTED = 34, SOURCE_REDIS_INSTANCE_UNSUPPORTED = 35, SOURCE_FORWARDING_RULE_UNSUPPORTED = 21, @@ -4334,7 +4362,8 @@ export namespace google { UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT = 30, UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG = 31, NO_SERVERLESS_IP_RANGES = 37, - IP_VERSION_PROTOCOL_MISMATCH = 40 + IP_VERSION_PROTOCOL_MISMATCH = 40, + GKE_POD_UNKNOWN_ENDPOINT_LOCATION = 41 } } @@ -4490,6 +4519,7 @@ export namespace google { ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED = 52, ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID = 53, NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS = 44, + NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS = 109, NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS = 98, VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH = 45, VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH = 46, @@ -4504,6 +4534,7 @@ export namespace google { INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS = 85, INSTANCE_NOT_RUNNING = 14, GKE_CLUSTER_NOT_RUNNING = 27, + GKE_POD_NOT_RUNNING = 103, CLOUD_SQL_INSTANCE_NOT_RUNNING = 28, REDIS_INSTANCE_NOT_RUNNING = 68, REDIS_CLUSTER_NOT_RUNNING = 69, @@ -4566,6 +4597,7 @@ export namespace google { UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION = 88, TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED = 89, NO_MATCHING_NAT64_GATEWAY = 90, + NO_CONFIGURED_PRIVATE_NAT64_RULE = 107, LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH = 96, NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION = 97, CLOUD_NAT_PROTOCOL_UNSUPPORTED = 99, @@ -4573,7 +4605,8 @@ export namespace google { L2_INTERCONNECT_UNSUPPORTED_PORT = 101, L2_INTERCONNECT_DESTINATION_IP_MISMATCH = 102, NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED = 104, - HYBRID_SUBNET_REGION_MISMATCH = 105 + HYBRID_SUBNET_REGION_MISMATCH = 105, + HYBRID_SUBNET_NO_ROUTE = 106 } } @@ -4698,6 +4731,233 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a GkePodInfo. */ + interface IGkePodInfo { + + /** GkePodInfo podUri */ + podUri?: (string|null); + + /** GkePodInfo ipAddress */ + ipAddress?: (string|null); + + /** GkePodInfo networkUri */ + networkUri?: (string|null); + } + + /** Represents a GkePodInfo. */ + class GkePodInfo implements IGkePodInfo { + + /** + * Constructs a new GkePodInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.networkmanagement.v1.IGkePodInfo); + + /** GkePodInfo podUri. */ + public podUri: string; + + /** GkePodInfo ipAddress. */ + public ipAddress: string; + + /** GkePodInfo networkUri. */ + public networkUri: string; + + /** + * Creates a new GkePodInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns GkePodInfo instance + */ + public static create(properties?: google.cloud.networkmanagement.v1.IGkePodInfo): google.cloud.networkmanagement.v1.GkePodInfo; + + /** + * Encodes the specified GkePodInfo message. Does not implicitly {@link google.cloud.networkmanagement.v1.GkePodInfo.verify|verify} messages. + * @param message GkePodInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.networkmanagement.v1.IGkePodInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GkePodInfo message, length delimited. Does not implicitly {@link google.cloud.networkmanagement.v1.GkePodInfo.verify|verify} messages. + * @param message GkePodInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.networkmanagement.v1.IGkePodInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GkePodInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GkePodInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkmanagement.v1.GkePodInfo; + + /** + * Decodes a GkePodInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GkePodInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkmanagement.v1.GkePodInfo; + + /** + * Verifies a GkePodInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GkePodInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GkePodInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.networkmanagement.v1.GkePodInfo; + + /** + * Creates a plain object from a GkePodInfo message. Also converts values to other types if specified. + * @param message GkePodInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.networkmanagement.v1.GkePodInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GkePodInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GkePodInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an IpMasqueradingSkippedInfo. */ + interface IIpMasqueradingSkippedInfo { + + /** IpMasqueradingSkippedInfo reason */ + reason?: (google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason|keyof typeof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason|null); + + /** IpMasqueradingSkippedInfo nonMasqueradeRange */ + nonMasqueradeRange?: (string|null); + } + + /** Represents an IpMasqueradingSkippedInfo. */ + class IpMasqueradingSkippedInfo implements IIpMasqueradingSkippedInfo { + + /** + * Constructs a new IpMasqueradingSkippedInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo); + + /** IpMasqueradingSkippedInfo reason. */ + public reason: (google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason|keyof typeof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason); + + /** IpMasqueradingSkippedInfo nonMasqueradeRange. */ + public nonMasqueradeRange: string; + + /** + * Creates a new IpMasqueradingSkippedInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns IpMasqueradingSkippedInfo instance + */ + public static create(properties?: google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo): google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo; + + /** + * Encodes the specified IpMasqueradingSkippedInfo message. Does not implicitly {@link google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.verify|verify} messages. + * @param message IpMasqueradingSkippedInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified IpMasqueradingSkippedInfo message, length delimited. Does not implicitly {@link google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.verify|verify} messages. + * @param message IpMasqueradingSkippedInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an IpMasqueradingSkippedInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns IpMasqueradingSkippedInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo; + + /** + * Decodes an IpMasqueradingSkippedInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns IpMasqueradingSkippedInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo; + + /** + * Verifies an IpMasqueradingSkippedInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an IpMasqueradingSkippedInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns IpMasqueradingSkippedInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo; + + /** + * Creates a plain object from an IpMasqueradingSkippedInfo message. Also converts values to other types if specified. + * @param message IpMasqueradingSkippedInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this IpMasqueradingSkippedInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for IpMasqueradingSkippedInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace IpMasqueradingSkippedInfo { + + /** Reason enum. */ + enum Reason { + REASON_UNSPECIFIED = 0, + DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE = 1, + DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE = 2, + DESTINATION_ON_SAME_NODE = 3, + DEFAULT_SNAT_DISABLED = 4, + NO_MASQUERADING_FOR_IPV6 = 5, + POD_USES_NODE_NETWORK_NAMESPACE = 6, + NO_MASQUERADING_FOR_RETURN_PACKET = 7 + } + } + /** Properties of a CloudSQLInstanceInfo. */ interface ICloudSQLInstanceInfo { @@ -5792,6 +6052,9 @@ export namespace google { /** NatInfo natGatewayName */ natGatewayName?: (string|null); + + /** NatInfo cloudNatGatewayType */ + cloudNatGatewayType?: (google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType|keyof typeof google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType|null); } /** Represents a NatInfo. */ @@ -5842,6 +6105,9 @@ export namespace google { /** NatInfo natGatewayName. */ public natGatewayName: string; + /** NatInfo cloudNatGatewayType. */ + public cloudNatGatewayType: (google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType|keyof typeof google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType); + /** * Creates a new NatInfo instance using the specified properties. * @param [properties] Properties to set @@ -5931,6 +6197,16 @@ export namespace google { PRIVATE_SERVICE_CONNECT = 4, GKE_POD_IP_MASQUERADING = 5 } + + /** CloudNatGatewayType enum. */ + enum CloudNatGatewayType { + CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED = 0, + PUBLIC_NAT44 = 1, + PUBLIC_NAT64 = 2, + PRIVATE_NAT_NCC = 3, + PRIVATE_NAT_HYBRID = 4, + PRIVATE_NAT64 = 5 + } } /** Properties of a ProxyConnectionInfo. */ @@ -9517,6 +9793,9 @@ export namespace google { /** Endpoint redisCluster */ redisCluster?: (string|null); + /** Endpoint gkePod */ + gkePod?: (string|null); + /** Endpoint cloudFunction */ cloudFunction?: (google.cloud.networkmanagement.v1beta1.Endpoint.ICloudFunctionEndpoint|null); @@ -9581,6 +9860,9 @@ export namespace google { /** Endpoint redisCluster. */ public redisCluster: string; + /** Endpoint gkePod. */ + public gkePod: string; + /** Endpoint cloudFunction. */ public cloudFunction?: (google.cloud.networkmanagement.v1beta1.Endpoint.ICloudFunctionEndpoint|null); @@ -9683,7 +9965,8 @@ export namespace google { enum NetworkType { NETWORK_TYPE_UNSPECIFIED = 0, GCP_NETWORK = 1, - NON_GCP_NETWORK = 2 + NON_GCP_NETWORK = 2, + INTERNET = 3 } /** ForwardingRuleTarget enum. */ @@ -10904,6 +11187,12 @@ export namespace google { /** Step gkeMaster */ gkeMaster?: (google.cloud.networkmanagement.v1beta1.IGKEMasterInfo|null); + /** Step gkePod */ + gkePod?: (google.cloud.networkmanagement.v1beta1.IGkePodInfo|null); + + /** Step ipMasqueradingSkipped */ + ipMasqueradingSkipped?: (google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo|null); + /** Step cloudSqlInstance */ cloudSqlInstance?: (google.cloud.networkmanagement.v1beta1.ICloudSQLInstanceInfo|null); @@ -11019,6 +11308,12 @@ export namespace google { /** Step gkeMaster. */ public gkeMaster?: (google.cloud.networkmanagement.v1beta1.IGKEMasterInfo|null); + /** Step gkePod. */ + public gkePod?: (google.cloud.networkmanagement.v1beta1.IGkePodInfo|null); + + /** Step ipMasqueradingSkipped. */ + public ipMasqueradingSkipped?: (google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo|null); + /** Step cloudSqlInstance. */ public cloudSqlInstance?: (google.cloud.networkmanagement.v1beta1.ICloudSQLInstanceInfo|null); @@ -11053,7 +11348,7 @@ export namespace google { public serverlessNeg?: (google.cloud.networkmanagement.v1beta1.IServerlessNegInfo|null); /** Step stepInfo. */ - public stepInfo?: ("instance"|"firewall"|"route"|"endpoint"|"googleService"|"forwardingRule"|"hybridSubnet"|"vpnGateway"|"vpnTunnel"|"interconnectAttachment"|"vpcConnector"|"directVpcEgressConnection"|"serverlessExternalConnection"|"deliver"|"forward"|"abort"|"drop"|"loadBalancer"|"network"|"gkeMaster"|"cloudSqlInstance"|"redisInstance"|"redisCluster"|"cloudFunction"|"appEngineVersion"|"cloudRunRevision"|"nat"|"proxyConnection"|"loadBalancerBackendInfo"|"storageBucket"|"serverlessNeg"); + public stepInfo?: ("instance"|"firewall"|"route"|"endpoint"|"googleService"|"forwardingRule"|"hybridSubnet"|"vpnGateway"|"vpnTunnel"|"interconnectAttachment"|"vpcConnector"|"directVpcEgressConnection"|"serverlessExternalConnection"|"deliver"|"forward"|"abort"|"drop"|"loadBalancer"|"network"|"gkeMaster"|"gkePod"|"ipMasqueradingSkipped"|"cloudSqlInstance"|"redisInstance"|"redisCluster"|"cloudFunction"|"appEngineVersion"|"cloudRunRevision"|"nat"|"proxyConnection"|"loadBalancerBackendInfo"|"storageBucket"|"serverlessNeg"); /** * Creates a new Step instance using the specified properties. @@ -11144,6 +11439,7 @@ export namespace google { START_FROM_PRIVATE_NETWORK = 3, START_FROM_GKE_MASTER = 21, START_FROM_CLOUD_SQL_INSTANCE = 22, + START_FROM_GKE_POD = 39, START_FROM_REDIS_INSTANCE = 32, START_FROM_REDIS_CLUSTER = 33, START_FROM_CLOUD_FUNCTION = 23, @@ -11169,6 +11465,7 @@ export namespace google { DIRECT_VPC_EGRESS_CONNECTION = 35, SERVERLESS_EXTERNAL_CONNECTION = 36, NAT = 14, + SKIP_GKE_POD_IP_MASQUERADING = 40, PROXY_CONNECTION = 15, DELIVER = 16, DROP = 17, @@ -11646,6 +11943,8 @@ export namespace google { SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE = 4, NETWORK_FIREWALL_POLICY_RULE = 5, NETWORK_REGIONAL_FIREWALL_POLICY_RULE = 6, + SYSTEM_NETWORK_FIREWALL_POLICY_RULE = 7, + SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE = 8, UNSUPPORTED_FIREWALL_POLICY_RULE = 100, TRACKING_STATE = 101, ANALYSIS_SKIPPED = 102 @@ -13307,7 +13606,8 @@ export namespace google { CLOUD_RUN_REVISION = 14, GOOGLE_MANAGED_SERVICE = 15, REDIS_INSTANCE = 16, - REDIS_CLUSTER = 17 + REDIS_CLUSTER = 17, + GKE_POD = 19 } /** GoogleServiceType enum. */ @@ -13584,6 +13884,9 @@ export namespace google { PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS = 29, PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS = 36, NO_SOURCE_LOCATION = 5, + NO_SOURCE_GCP_NETWORK_LOCATION = 42, + NO_SOURCE_NON_GCP_NETWORK_LOCATION = 43, + NO_SOURCE_INTERNET_LOCATION = 44, INVALID_ARGUMENT = 6, TRACE_TOO_LONG = 9, INTERNAL_ERROR = 10, @@ -13598,6 +13901,7 @@ export namespace google { GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT = 19, GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT = 39, SOURCE_PSC_CLOUD_SQL_UNSUPPORTED = 20, + SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED = 45, SOURCE_REDIS_CLUSTER_UNSUPPORTED = 34, SOURCE_REDIS_INSTANCE_UNSUPPORTED = 35, SOURCE_FORWARDING_RULE_UNSUPPORTED = 21, @@ -13605,7 +13909,8 @@ export namespace google { UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT = 30, UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG = 31, NO_SERVERLESS_IP_RANGES = 37, - IP_VERSION_PROTOCOL_MISMATCH = 40 + IP_VERSION_PROTOCOL_MISMATCH = 40, + GKE_POD_UNKNOWN_ENDPOINT_LOCATION = 41 } } @@ -13761,6 +14066,7 @@ export namespace google { ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED = 52, ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID = 53, NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS = 44, + NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS = 109, NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS = 98, VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH = 45, VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH = 46, @@ -13775,6 +14081,7 @@ export namespace google { INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS = 85, INSTANCE_NOT_RUNNING = 14, GKE_CLUSTER_NOT_RUNNING = 27, + GKE_POD_NOT_RUNNING = 103, CLOUD_SQL_INSTANCE_NOT_RUNNING = 28, REDIS_INSTANCE_NOT_RUNNING = 68, REDIS_CLUSTER_NOT_RUNNING = 69, @@ -13837,6 +14144,7 @@ export namespace google { UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION = 88, TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED = 89, NO_MATCHING_NAT64_GATEWAY = 90, + NO_CONFIGURED_PRIVATE_NAT64_RULE = 107, LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH = 96, NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION = 97, CLOUD_NAT_PROTOCOL_UNSUPPORTED = 99, @@ -13844,7 +14152,8 @@ export namespace google { L2_INTERCONNECT_UNSUPPORTED_PORT = 101, L2_INTERCONNECT_DESTINATION_IP_MISMATCH = 102, NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED = 104, - HYBRID_SUBNET_REGION_MISMATCH = 105 + HYBRID_SUBNET_REGION_MISMATCH = 105, + HYBRID_SUBNET_NO_ROUTE = 106 } } @@ -13969,6 +14278,233 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a GkePodInfo. */ + interface IGkePodInfo { + + /** GkePodInfo podUri */ + podUri?: (string|null); + + /** GkePodInfo ipAddress */ + ipAddress?: (string|null); + + /** GkePodInfo networkUri */ + networkUri?: (string|null); + } + + /** Represents a GkePodInfo. */ + class GkePodInfo implements IGkePodInfo { + + /** + * Constructs a new GkePodInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.networkmanagement.v1beta1.IGkePodInfo); + + /** GkePodInfo podUri. */ + public podUri: string; + + /** GkePodInfo ipAddress. */ + public ipAddress: string; + + /** GkePodInfo networkUri. */ + public networkUri: string; + + /** + * Creates a new GkePodInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns GkePodInfo instance + */ + public static create(properties?: google.cloud.networkmanagement.v1beta1.IGkePodInfo): google.cloud.networkmanagement.v1beta1.GkePodInfo; + + /** + * Encodes the specified GkePodInfo message. Does not implicitly {@link google.cloud.networkmanagement.v1beta1.GkePodInfo.verify|verify} messages. + * @param message GkePodInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.networkmanagement.v1beta1.IGkePodInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GkePodInfo message, length delimited. Does not implicitly {@link google.cloud.networkmanagement.v1beta1.GkePodInfo.verify|verify} messages. + * @param message GkePodInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.networkmanagement.v1beta1.IGkePodInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GkePodInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GkePodInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkmanagement.v1beta1.GkePodInfo; + + /** + * Decodes a GkePodInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GkePodInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkmanagement.v1beta1.GkePodInfo; + + /** + * Verifies a GkePodInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GkePodInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GkePodInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.networkmanagement.v1beta1.GkePodInfo; + + /** + * Creates a plain object from a GkePodInfo message. Also converts values to other types if specified. + * @param message GkePodInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.networkmanagement.v1beta1.GkePodInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GkePodInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GkePodInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an IpMasqueradingSkippedInfo. */ + interface IIpMasqueradingSkippedInfo { + + /** IpMasqueradingSkippedInfo reason */ + reason?: (google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.Reason|keyof typeof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.Reason|null); + + /** IpMasqueradingSkippedInfo nonMasqueradeRange */ + nonMasqueradeRange?: (string|null); + } + + /** Represents an IpMasqueradingSkippedInfo. */ + class IpMasqueradingSkippedInfo implements IIpMasqueradingSkippedInfo { + + /** + * Constructs a new IpMasqueradingSkippedInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo); + + /** IpMasqueradingSkippedInfo reason. */ + public reason: (google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.Reason|keyof typeof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.Reason); + + /** IpMasqueradingSkippedInfo nonMasqueradeRange. */ + public nonMasqueradeRange: string; + + /** + * Creates a new IpMasqueradingSkippedInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns IpMasqueradingSkippedInfo instance + */ + public static create(properties?: google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo): google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo; + + /** + * Encodes the specified IpMasqueradingSkippedInfo message. Does not implicitly {@link google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.verify|verify} messages. + * @param message IpMasqueradingSkippedInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified IpMasqueradingSkippedInfo message, length delimited. Does not implicitly {@link google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.verify|verify} messages. + * @param message IpMasqueradingSkippedInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an IpMasqueradingSkippedInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns IpMasqueradingSkippedInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo; + + /** + * Decodes an IpMasqueradingSkippedInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns IpMasqueradingSkippedInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo; + + /** + * Verifies an IpMasqueradingSkippedInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an IpMasqueradingSkippedInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns IpMasqueradingSkippedInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo; + + /** + * Creates a plain object from an IpMasqueradingSkippedInfo message. Also converts values to other types if specified. + * @param message IpMasqueradingSkippedInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this IpMasqueradingSkippedInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for IpMasqueradingSkippedInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace IpMasqueradingSkippedInfo { + + /** Reason enum. */ + enum Reason { + REASON_UNSPECIFIED = 0, + DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE = 1, + DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE = 2, + DESTINATION_ON_SAME_NODE = 3, + DEFAULT_SNAT_DISABLED = 4, + NO_MASQUERADING_FOR_IPV6 = 5, + POD_USES_NODE_NETWORK_NAMESPACE = 6, + NO_MASQUERADING_FOR_RETURN_PACKET = 7 + } + } + /** Properties of a CloudSQLInstanceInfo. */ interface ICloudSQLInstanceInfo { @@ -15063,6 +15599,9 @@ export namespace google { /** NatInfo natGatewayName */ natGatewayName?: (string|null); + + /** NatInfo cloudNatGatewayType */ + cloudNatGatewayType?: (google.cloud.networkmanagement.v1beta1.NatInfo.CloudNatGatewayType|keyof typeof google.cloud.networkmanagement.v1beta1.NatInfo.CloudNatGatewayType|null); } /** Represents a NatInfo. */ @@ -15113,6 +15652,9 @@ export namespace google { /** NatInfo natGatewayName. */ public natGatewayName: string; + /** NatInfo cloudNatGatewayType. */ + public cloudNatGatewayType: (google.cloud.networkmanagement.v1beta1.NatInfo.CloudNatGatewayType|keyof typeof google.cloud.networkmanagement.v1beta1.NatInfo.CloudNatGatewayType); + /** * Creates a new NatInfo instance using the specified properties. * @param [properties] Properties to set @@ -15202,6 +15744,16 @@ export namespace google { PRIVATE_SERVICE_CONNECT = 4, GKE_POD_IP_MASQUERADING = 5 } + + /** CloudNatGatewayType enum. */ + enum CloudNatGatewayType { + CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED = 0, + PUBLIC_NAT44 = 1, + PUBLIC_NAT64 = 2, + PRIVATE_NAT_NCC = 3, + PRIVATE_NAT_HYBRID = 4, + PRIVATE_NAT64 = 5 + } } /** Properties of a ProxyConnectionInfo. */ diff --git a/packages/google-cloud-networkmanagement/protos/protos.js b/packages/google-cloud-networkmanagement/protos/protos.js index ba8354328d7..44a54ec270b 100644 --- a/packages/google-cloud-networkmanagement/protos/protos.js +++ b/packages/google-cloud-networkmanagement/protos/protos.js @@ -700,6 +700,7 @@ * @property {string|null} [cloudSqlInstance] Endpoint cloudSqlInstance * @property {string|null} [redisInstance] Endpoint redisInstance * @property {string|null} [redisCluster] Endpoint redisCluster + * @property {string|null} [gkePod] Endpoint gkePod * @property {google.cloud.networkmanagement.v1.Endpoint.ICloudFunctionEndpoint|null} [cloudFunction] Endpoint cloudFunction * @property {google.cloud.networkmanagement.v1.Endpoint.IAppEngineVersionEndpoint|null} [appEngineVersion] Endpoint appEngineVersion * @property {google.cloud.networkmanagement.v1.Endpoint.ICloudRunRevisionEndpoint|null} [cloudRunRevision] Endpoint cloudRunRevision @@ -819,6 +820,14 @@ */ Endpoint.prototype.redisCluster = ""; + /** + * Endpoint gkePod. + * @member {string} gkePod + * @memberof google.cloud.networkmanagement.v1.Endpoint + * @instance + */ + Endpoint.prototype.gkePod = ""; + /** * Endpoint cloudFunction. * @member {google.cloud.networkmanagement.v1.Endpoint.ICloudFunctionEndpoint|null|undefined} cloudFunction @@ -948,6 +957,8 @@ writer.uint32(/* id 18, wireType 2 =*/146).string(message.redisCluster); if (message.fqdn != null && Object.hasOwnProperty.call(message, "fqdn")) writer.uint32(/* id 19, wireType 2 =*/154).string(message.fqdn); + if (message.gkePod != null && Object.hasOwnProperty.call(message, "gkePod")) + writer.uint32(/* id 21, wireType 2 =*/170).string(message.gkePod); return writer; }; @@ -1032,6 +1043,10 @@ message.redisCluster = reader.string(); break; } + case 21: { + message.gkePod = reader.string(); + break; + } case 10: { message.cloudFunction = $root.google.cloud.networkmanagement.v1.Endpoint.CloudFunctionEndpoint.decode(reader, reader.uint32()); break; @@ -1156,6 +1171,9 @@ if (message.redisCluster != null && message.hasOwnProperty("redisCluster")) if (!$util.isString(message.redisCluster)) return "redisCluster: string expected"; + if (message.gkePod != null && message.hasOwnProperty("gkePod")) + if (!$util.isString(message.gkePod)) + return "gkePod: string expected"; if (message.cloudFunction != null && message.hasOwnProperty("cloudFunction")) { var error = $root.google.cloud.networkmanagement.v1.Endpoint.CloudFunctionEndpoint.verify(message.cloudFunction); if (error) @@ -1181,6 +1199,7 @@ case 0: case 1: case 2: + case 3: break; } if (message.projectId != null && message.hasOwnProperty("projectId")) @@ -1301,6 +1320,8 @@ message.redisInstance = String(object.redisInstance); if (object.redisCluster != null) message.redisCluster = String(object.redisCluster); + if (object.gkePod != null) + message.gkePod = String(object.gkePod); if (object.cloudFunction != null) { if (typeof object.cloudFunction !== "object") throw TypeError(".google.cloud.networkmanagement.v1.Endpoint.cloudFunction: object expected"); @@ -1337,6 +1358,10 @@ case 2: message.networkType = 2; break; + case "INTERNET": + case 3: + message.networkType = 3; + break; } if (object.projectId != null) message.projectId = String(object.projectId); @@ -1372,6 +1397,7 @@ object.redisInstance = ""; object.redisCluster = ""; object.fqdn = ""; + object.gkePod = ""; } if (message.ipAddress != null && message.hasOwnProperty("ipAddress")) object.ipAddress = message.ipAddress; @@ -1418,6 +1444,8 @@ object.redisCluster = message.redisCluster; if (message.fqdn != null && message.hasOwnProperty("fqdn")) object.fqdn = message.fqdn; + if (message.gkePod != null && message.hasOwnProperty("gkePod")) + object.gkePod = message.gkePod; return object; }; @@ -1454,12 +1482,14 @@ * @property {number} NETWORK_TYPE_UNSPECIFIED=0 NETWORK_TYPE_UNSPECIFIED value * @property {number} GCP_NETWORK=1 GCP_NETWORK value * @property {number} NON_GCP_NETWORK=2 NON_GCP_NETWORK value + * @property {number} INTERNET=3 INTERNET value */ Endpoint.NetworkType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "NETWORK_TYPE_UNSPECIFIED"] = 0; values[valuesById[1] = "GCP_NETWORK"] = 1; values[valuesById[2] = "NON_GCP_NETWORK"] = 2; + values[valuesById[3] = "INTERNET"] = 3; return values; })(); @@ -4411,6 +4441,8 @@ * @property {google.cloud.networkmanagement.v1.ILoadBalancerInfo|null} [loadBalancer] Step loadBalancer * @property {google.cloud.networkmanagement.v1.INetworkInfo|null} [network] Step network * @property {google.cloud.networkmanagement.v1.IGKEMasterInfo|null} [gkeMaster] Step gkeMaster + * @property {google.cloud.networkmanagement.v1.IGkePodInfo|null} [gkePod] Step gkePod + * @property {google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo|null} [ipMasqueradingSkipped] Step ipMasqueradingSkipped * @property {google.cloud.networkmanagement.v1.ICloudSQLInstanceInfo|null} [cloudSqlInstance] Step cloudSqlInstance * @property {google.cloud.networkmanagement.v1.IRedisInstanceInfo|null} [redisInstance] Step redisInstance * @property {google.cloud.networkmanagement.v1.IRedisClusterInfo|null} [redisCluster] Step redisCluster @@ -4631,6 +4663,22 @@ */ Step.prototype.gkeMaster = null; + /** + * Step gkePod. + * @member {google.cloud.networkmanagement.v1.IGkePodInfo|null|undefined} gkePod + * @memberof google.cloud.networkmanagement.v1.Step + * @instance + */ + Step.prototype.gkePod = null; + + /** + * Step ipMasqueradingSkipped. + * @member {google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo|null|undefined} ipMasqueradingSkipped + * @memberof google.cloud.networkmanagement.v1.Step + * @instance + */ + Step.prototype.ipMasqueradingSkipped = null; + /** * Step cloudSqlInstance. * @member {google.cloud.networkmanagement.v1.ICloudSQLInstanceInfo|null|undefined} cloudSqlInstance @@ -4724,12 +4772,12 @@ /** * Step stepInfo. - * @member {"instance"|"firewall"|"route"|"endpoint"|"googleService"|"forwardingRule"|"hybridSubnet"|"vpnGateway"|"vpnTunnel"|"interconnectAttachment"|"vpcConnector"|"directVpcEgressConnection"|"serverlessExternalConnection"|"deliver"|"forward"|"abort"|"drop"|"loadBalancer"|"network"|"gkeMaster"|"cloudSqlInstance"|"redisInstance"|"redisCluster"|"cloudFunction"|"appEngineVersion"|"cloudRunRevision"|"nat"|"proxyConnection"|"loadBalancerBackendInfo"|"storageBucket"|"serverlessNeg"|undefined} stepInfo + * @member {"instance"|"firewall"|"route"|"endpoint"|"googleService"|"forwardingRule"|"hybridSubnet"|"vpnGateway"|"vpnTunnel"|"interconnectAttachment"|"vpcConnector"|"directVpcEgressConnection"|"serverlessExternalConnection"|"deliver"|"forward"|"abort"|"drop"|"loadBalancer"|"network"|"gkeMaster"|"gkePod"|"ipMasqueradingSkipped"|"cloudSqlInstance"|"redisInstance"|"redisCluster"|"cloudFunction"|"appEngineVersion"|"cloudRunRevision"|"nat"|"proxyConnection"|"loadBalancerBackendInfo"|"storageBucket"|"serverlessNeg"|undefined} stepInfo * @memberof google.cloud.networkmanagement.v1.Step * @instance */ Object.defineProperty(Step.prototype, "stepInfo", { - get: $util.oneOfGetter($oneOfFields = ["instance", "firewall", "route", "endpoint", "googleService", "forwardingRule", "hybridSubnet", "vpnGateway", "vpnTunnel", "interconnectAttachment", "vpcConnector", "directVpcEgressConnection", "serverlessExternalConnection", "deliver", "forward", "abort", "drop", "loadBalancer", "network", "gkeMaster", "cloudSqlInstance", "redisInstance", "redisCluster", "cloudFunction", "appEngineVersion", "cloudRunRevision", "nat", "proxyConnection", "loadBalancerBackendInfo", "storageBucket", "serverlessNeg"]), + get: $util.oneOfGetter($oneOfFields = ["instance", "firewall", "route", "endpoint", "googleService", "forwardingRule", "hybridSubnet", "vpnGateway", "vpnTunnel", "interconnectAttachment", "vpcConnector", "directVpcEgressConnection", "serverlessExternalConnection", "deliver", "forward", "abort", "drop", "loadBalancer", "network", "gkeMaster", "gkePod", "ipMasqueradingSkipped", "cloudSqlInstance", "redisInstance", "redisCluster", "cloudFunction", "appEngineVersion", "cloudRunRevision", "nat", "proxyConnection", "loadBalancerBackendInfo", "storageBucket", "serverlessNeg"]), set: $util.oneOfSetter($oneOfFields) }); @@ -4827,6 +4875,10 @@ $root.google.cloud.networkmanagement.v1.InterconnectAttachmentInfo.encode(message.interconnectAttachment, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim(); if (message.hybridSubnet != null && Object.hasOwnProperty.call(message, "hybridSubnet")) $root.google.cloud.networkmanagement.v1.HybridSubnetInfo.encode(message.hybridSubnet, writer.uint32(/* id 36, wireType 2 =*/290).fork()).ldelim(); + if (message.gkePod != null && Object.hasOwnProperty.call(message, "gkePod")) + $root.google.cloud.networkmanagement.v1.GkePodInfo.encode(message.gkePod, writer.uint32(/* id 37, wireType 2 =*/298).fork()).ldelim(); + if (message.ipMasqueradingSkipped != null && Object.hasOwnProperty.call(message, "ipMasqueradingSkipped")) + $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.encode(message.ipMasqueradingSkipped, writer.uint32(/* id 38, wireType 2 =*/306).fork()).ldelim(); return writer; }; @@ -4959,6 +5011,14 @@ message.gkeMaster = $root.google.cloud.networkmanagement.v1.GKEMasterInfo.decode(reader, reader.uint32()); break; } + case 37: { + message.gkePod = $root.google.cloud.networkmanagement.v1.GkePodInfo.decode(reader, reader.uint32()); + break; + } + case 38: { + message.ipMasqueradingSkipped = $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.decode(reader, reader.uint32()); + break; + } case 19: { message.cloudSqlInstance = $root.google.cloud.networkmanagement.v1.CloudSQLInstanceInfo.decode(reader, reader.uint32()); break; @@ -5053,6 +5113,7 @@ case 3: case 21: case 22: + case 39: case 32: case 33: case 23: @@ -5078,6 +5139,7 @@ case 35: case 36: case 14: + case 40: case 15: case 16: case 17: @@ -5290,6 +5352,26 @@ return "gkeMaster." + error; } } + if (message.gkePod != null && message.hasOwnProperty("gkePod")) { + if (properties.stepInfo === 1) + return "stepInfo: multiple values"; + properties.stepInfo = 1; + { + var error = $root.google.cloud.networkmanagement.v1.GkePodInfo.verify(message.gkePod); + if (error) + return "gkePod." + error; + } + } + if (message.ipMasqueradingSkipped != null && message.hasOwnProperty("ipMasqueradingSkipped")) { + if (properties.stepInfo === 1) + return "stepInfo: multiple values"; + properties.stepInfo = 1; + { + var error = $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.verify(message.ipMasqueradingSkipped); + if (error) + return "ipMasqueradingSkipped." + error; + } + } if (message.cloudSqlInstance != null && message.hasOwnProperty("cloudSqlInstance")) { if (properties.stepInfo === 1) return "stepInfo: multiple values"; @@ -5452,6 +5534,10 @@ case 22: message.state = 22; break; + case "START_FROM_GKE_POD": + case 39: + message.state = 39; + break; case "START_FROM_REDIS_INSTANCE": case 32: message.state = 32; @@ -5552,6 +5638,10 @@ case 14: message.state = 14; break; + case "SKIP_GKE_POD_IP_MASQUERADING": + case 40: + message.state = 40; + break; case "PROXY_CONNECTION": case 15: message.state = 15; @@ -5681,6 +5771,16 @@ throw TypeError(".google.cloud.networkmanagement.v1.Step.gkeMaster: object expected"); message.gkeMaster = $root.google.cloud.networkmanagement.v1.GKEMasterInfo.fromObject(object.gkeMaster); } + if (object.gkePod != null) { + if (typeof object.gkePod !== "object") + throw TypeError(".google.cloud.networkmanagement.v1.Step.gkePod: object expected"); + message.gkePod = $root.google.cloud.networkmanagement.v1.GkePodInfo.fromObject(object.gkePod); + } + if (object.ipMasqueradingSkipped != null) { + if (typeof object.ipMasqueradingSkipped !== "object") + throw TypeError(".google.cloud.networkmanagement.v1.Step.ipMasqueradingSkipped: object expected"); + message.ipMasqueradingSkipped = $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.fromObject(object.ipMasqueradingSkipped); + } if (object.cloudSqlInstance != null) { if (typeof object.cloudSqlInstance !== "object") throw TypeError(".google.cloud.networkmanagement.v1.Step.cloudSqlInstance: object expected"); @@ -5921,6 +6021,16 @@ if (options.oneofs) object.stepInfo = "hybridSubnet"; } + if (message.gkePod != null && message.hasOwnProperty("gkePod")) { + object.gkePod = $root.google.cloud.networkmanagement.v1.GkePodInfo.toObject(message.gkePod, options); + if (options.oneofs) + object.stepInfo = "gkePod"; + } + if (message.ipMasqueradingSkipped != null && message.hasOwnProperty("ipMasqueradingSkipped")) { + object.ipMasqueradingSkipped = $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.toObject(message.ipMasqueradingSkipped, options); + if (options.oneofs) + object.stepInfo = "ipMasqueradingSkipped"; + } return object; }; @@ -5961,6 +6071,7 @@ * @property {number} START_FROM_PRIVATE_NETWORK=3 START_FROM_PRIVATE_NETWORK value * @property {number} START_FROM_GKE_MASTER=21 START_FROM_GKE_MASTER value * @property {number} START_FROM_CLOUD_SQL_INSTANCE=22 START_FROM_CLOUD_SQL_INSTANCE value + * @property {number} START_FROM_GKE_POD=39 START_FROM_GKE_POD value * @property {number} START_FROM_REDIS_INSTANCE=32 START_FROM_REDIS_INSTANCE value * @property {number} START_FROM_REDIS_CLUSTER=33 START_FROM_REDIS_CLUSTER value * @property {number} START_FROM_CLOUD_FUNCTION=23 START_FROM_CLOUD_FUNCTION value @@ -5986,6 +6097,7 @@ * @property {number} DIRECT_VPC_EGRESS_CONNECTION=35 DIRECT_VPC_EGRESS_CONNECTION value * @property {number} SERVERLESS_EXTERNAL_CONNECTION=36 SERVERLESS_EXTERNAL_CONNECTION value * @property {number} NAT=14 NAT value + * @property {number} SKIP_GKE_POD_IP_MASQUERADING=40 SKIP_GKE_POD_IP_MASQUERADING value * @property {number} PROXY_CONNECTION=15 PROXY_CONNECTION value * @property {number} DELIVER=16 DELIVER value * @property {number} DROP=17 DROP value @@ -6002,6 +6114,7 @@ values[valuesById[3] = "START_FROM_PRIVATE_NETWORK"] = 3; values[valuesById[21] = "START_FROM_GKE_MASTER"] = 21; values[valuesById[22] = "START_FROM_CLOUD_SQL_INSTANCE"] = 22; + values[valuesById[39] = "START_FROM_GKE_POD"] = 39; values[valuesById[32] = "START_FROM_REDIS_INSTANCE"] = 32; values[valuesById[33] = "START_FROM_REDIS_CLUSTER"] = 33; values[valuesById[23] = "START_FROM_CLOUD_FUNCTION"] = 23; @@ -6027,6 +6140,7 @@ values[valuesById[35] = "DIRECT_VPC_EGRESS_CONNECTION"] = 35; values[valuesById[36] = "SERVERLESS_EXTERNAL_CONNECTION"] = 36; values[valuesById[14] = "NAT"] = 14; + values[valuesById[40] = "SKIP_GKE_POD_IP_MASQUERADING"] = 40; values[valuesById[15] = "PROXY_CONNECTION"] = 15; values[valuesById[16] = "DELIVER"] = 16; values[valuesById[17] = "DROP"] = 17; @@ -7200,6 +7314,8 @@ case 4: case 5: case 6: + case 7: + case 8: case 100: case 101: case 102: @@ -7297,6 +7413,14 @@ case 6: message.firewallRuleType = 6; break; + case "SYSTEM_NETWORK_FIREWALL_POLICY_RULE": + case 7: + message.firewallRuleType = 7; + break; + case "SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE": + case 8: + message.firewallRuleType = 8; + break; case "UNSUPPORTED_FIREWALL_POLICY_RULE": case 100: message.firewallRuleType = 100; @@ -7437,6 +7561,8 @@ * @property {number} SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE=4 SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE value * @property {number} NETWORK_FIREWALL_POLICY_RULE=5 NETWORK_FIREWALL_POLICY_RULE value * @property {number} NETWORK_REGIONAL_FIREWALL_POLICY_RULE=6 NETWORK_REGIONAL_FIREWALL_POLICY_RULE value + * @property {number} SYSTEM_NETWORK_FIREWALL_POLICY_RULE=7 SYSTEM_NETWORK_FIREWALL_POLICY_RULE value + * @property {number} SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE=8 SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE value * @property {number} UNSUPPORTED_FIREWALL_POLICY_RULE=100 UNSUPPORTED_FIREWALL_POLICY_RULE value * @property {number} TRACKING_STATE=101 TRACKING_STATE value * @property {number} ANALYSIS_SKIPPED=102 ANALYSIS_SKIPPED value @@ -7450,6 +7576,8 @@ values[valuesById[4] = "SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE"] = 4; values[valuesById[5] = "NETWORK_FIREWALL_POLICY_RULE"] = 5; values[valuesById[6] = "NETWORK_REGIONAL_FIREWALL_POLICY_RULE"] = 6; + values[valuesById[7] = "SYSTEM_NETWORK_FIREWALL_POLICY_RULE"] = 7; + values[valuesById[8] = "SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE"] = 8; values[valuesById[100] = "UNSUPPORTED_FIREWALL_POLICY_RULE"] = 100; values[valuesById[101] = "TRACKING_STATE"] = 101; values[valuesById[102] = "ANALYSIS_SKIPPED"] = 102; @@ -12104,6 +12232,7 @@ case 15: case 16: case 17: + case 19: break; } if (message.resourceUri != null && message.hasOwnProperty("resourceUri")) @@ -12224,6 +12353,10 @@ case 17: message.target = 17; break; + case "GKE_POD": + case 19: + message.target = 19; + break; } if (object.resourceUri != null) message.resourceUri = String(object.resourceUri); @@ -12352,6 +12485,7 @@ * @property {number} GOOGLE_MANAGED_SERVICE=15 GOOGLE_MANAGED_SERVICE value * @property {number} REDIS_INSTANCE=16 REDIS_INSTANCE value * @property {number} REDIS_CLUSTER=17 REDIS_CLUSTER value + * @property {number} GKE_POD=19 GKE_POD value */ DeliverInfo.Target = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -12373,6 +12507,7 @@ values[valuesById[15] = "GOOGLE_MANAGED_SERVICE"] = 15; values[valuesById[16] = "REDIS_INSTANCE"] = 16; values[valuesById[17] = "REDIS_CLUSTER"] = 17; + values[valuesById[19] = "GKE_POD"] = 19; return values; })(); @@ -12952,6 +13087,9 @@ case 29: case 36: case 5: + case 42: + case 43: + case 44: case 6: case 9: case 10: @@ -12966,6 +13104,7 @@ case 19: case 39: case 20: + case 45: case 34: case 35: case 21: @@ -12974,6 +13113,7 @@ case 31: case 37: case 40: + case 41: break; } if (message.resourceUri != null && message.hasOwnProperty("resourceUri")) @@ -13079,6 +13219,18 @@ case 5: message.cause = 5; break; + case "NO_SOURCE_GCP_NETWORK_LOCATION": + case 42: + message.cause = 42; + break; + case "NO_SOURCE_NON_GCP_NETWORK_LOCATION": + case 43: + message.cause = 43; + break; + case "NO_SOURCE_INTERNET_LOCATION": + case 44: + message.cause = 44; + break; case "INVALID_ARGUMENT": case 6: message.cause = 6; @@ -13135,6 +13287,10 @@ case 20: message.cause = 20; break; + case "SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED": + case 45: + message.cause = 45; + break; case "SOURCE_REDIS_CLUSTER_UNSUPPORTED": case 34: message.cause = 34; @@ -13167,6 +13323,10 @@ case 40: message.cause = 40; break; + case "GKE_POD_UNKNOWN_ENDPOINT_LOCATION": + case 41: + message.cause = 41; + break; } if (object.resourceUri != null) message.resourceUri = String(object.resourceUri); @@ -13263,6 +13423,9 @@ * @property {number} PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS=29 PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS value * @property {number} PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS=36 PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS value * @property {number} NO_SOURCE_LOCATION=5 NO_SOURCE_LOCATION value + * @property {number} NO_SOURCE_GCP_NETWORK_LOCATION=42 NO_SOURCE_GCP_NETWORK_LOCATION value + * @property {number} NO_SOURCE_NON_GCP_NETWORK_LOCATION=43 NO_SOURCE_NON_GCP_NETWORK_LOCATION value + * @property {number} NO_SOURCE_INTERNET_LOCATION=44 NO_SOURCE_INTERNET_LOCATION value * @property {number} INVALID_ARGUMENT=6 INVALID_ARGUMENT value * @property {number} TRACE_TOO_LONG=9 TRACE_TOO_LONG value * @property {number} INTERNAL_ERROR=10 INTERNAL_ERROR value @@ -13277,6 +13440,7 @@ * @property {number} GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT=19 GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT value * @property {number} GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT=39 GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT value * @property {number} SOURCE_PSC_CLOUD_SQL_UNSUPPORTED=20 SOURCE_PSC_CLOUD_SQL_UNSUPPORTED value + * @property {number} SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED=45 SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED value * @property {number} SOURCE_REDIS_CLUSTER_UNSUPPORTED=34 SOURCE_REDIS_CLUSTER_UNSUPPORTED value * @property {number} SOURCE_REDIS_INSTANCE_UNSUPPORTED=35 SOURCE_REDIS_INSTANCE_UNSUPPORTED value * @property {number} SOURCE_FORWARDING_RULE_UNSUPPORTED=21 SOURCE_FORWARDING_RULE_UNSUPPORTED value @@ -13285,6 +13449,7 @@ * @property {number} UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG=31 UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG value * @property {number} NO_SERVERLESS_IP_RANGES=37 NO_SERVERLESS_IP_RANGES value * @property {number} IP_VERSION_PROTOCOL_MISMATCH=40 IP_VERSION_PROTOCOL_MISMATCH value + * @property {number} GKE_POD_UNKNOWN_ENDPOINT_LOCATION=41 GKE_POD_UNKNOWN_ENDPOINT_LOCATION value */ AbortInfo.Cause = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -13305,6 +13470,9 @@ values[valuesById[29] = "PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS"] = 29; values[valuesById[36] = "PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS"] = 36; values[valuesById[5] = "NO_SOURCE_LOCATION"] = 5; + values[valuesById[42] = "NO_SOURCE_GCP_NETWORK_LOCATION"] = 42; + values[valuesById[43] = "NO_SOURCE_NON_GCP_NETWORK_LOCATION"] = 43; + values[valuesById[44] = "NO_SOURCE_INTERNET_LOCATION"] = 44; values[valuesById[6] = "INVALID_ARGUMENT"] = 6; values[valuesById[9] = "TRACE_TOO_LONG"] = 9; values[valuesById[10] = "INTERNAL_ERROR"] = 10; @@ -13319,6 +13487,7 @@ values[valuesById[19] = "GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT"] = 19; values[valuesById[39] = "GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT"] = 39; values[valuesById[20] = "SOURCE_PSC_CLOUD_SQL_UNSUPPORTED"] = 20; + values[valuesById[45] = "SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED"] = 45; values[valuesById[34] = "SOURCE_REDIS_CLUSTER_UNSUPPORTED"] = 34; values[valuesById[35] = "SOURCE_REDIS_INSTANCE_UNSUPPORTED"] = 35; values[valuesById[21] = "SOURCE_FORWARDING_RULE_UNSUPPORTED"] = 21; @@ -13327,6 +13496,7 @@ values[valuesById[31] = "UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG"] = 31; values[valuesById[37] = "NO_SERVERLESS_IP_RANGES"] = 37; values[valuesById[40] = "IP_VERSION_PROTOCOL_MISMATCH"] = 40; + values[valuesById[41] = "GKE_POD_UNKNOWN_ENDPOINT_LOCATION"] = 41; return values; })(); @@ -13575,6 +13745,7 @@ case 52: case 53: case 44: + case 109: case 98: case 45: case 46: @@ -13589,6 +13760,7 @@ case 85: case 14: case 27: + case 103: case 28: case 68: case 69: @@ -13651,6 +13823,7 @@ case 88: case 89: case 90: + case 107: case 96: case 97: case 99: @@ -13659,6 +13832,7 @@ case 102: case 104: case 105: + case 106: break; } if (message.resourceUri != null && message.hasOwnProperty("resourceUri")) @@ -13761,6 +13935,10 @@ case 44: message.cause = 44; break; + case "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS": + case 109: + message.cause = 109; + break; case "NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS": case 98: message.cause = 98; @@ -13817,6 +13995,10 @@ case 27: message.cause = 27; break; + case "GKE_POD_NOT_RUNNING": + case 103: + message.cause = 103; + break; case "CLOUD_SQL_INSTANCE_NOT_RUNNING": case 28: message.cause = 28; @@ -14065,6 +14247,10 @@ case 90: message.cause = 90; break; + case "NO_CONFIGURED_PRIVATE_NAT64_RULE": + case 107: + message.cause = 107; + break; case "LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH": case 96: message.cause = 96; @@ -14097,6 +14283,10 @@ case 105: message.cause = 105; break; + case "HYBRID_SUBNET_NO_ROUTE": + case 106: + message.cause = 106; + break; } if (object.resourceUri != null) message.resourceUri = String(object.resourceUri); @@ -14197,6 +14387,7 @@ * @property {number} ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED=52 ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED value * @property {number} ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID=53 ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID value * @property {number} NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS=44 NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS value + * @property {number} NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS=109 NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS value * @property {number} NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS=98 NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS value * @property {number} VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH=45 VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH value * @property {number} VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH=46 VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH value @@ -14211,6 +14402,7 @@ * @property {number} INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS=85 INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS value * @property {number} INSTANCE_NOT_RUNNING=14 INSTANCE_NOT_RUNNING value * @property {number} GKE_CLUSTER_NOT_RUNNING=27 GKE_CLUSTER_NOT_RUNNING value + * @property {number} GKE_POD_NOT_RUNNING=103 GKE_POD_NOT_RUNNING value * @property {number} CLOUD_SQL_INSTANCE_NOT_RUNNING=28 CLOUD_SQL_INSTANCE_NOT_RUNNING value * @property {number} REDIS_INSTANCE_NOT_RUNNING=68 REDIS_INSTANCE_NOT_RUNNING value * @property {number} REDIS_CLUSTER_NOT_RUNNING=69 REDIS_CLUSTER_NOT_RUNNING value @@ -14273,6 +14465,7 @@ * @property {number} UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION=88 UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION value * @property {number} TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED=89 TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED value * @property {number} NO_MATCHING_NAT64_GATEWAY=90 NO_MATCHING_NAT64_GATEWAY value + * @property {number} NO_CONFIGURED_PRIVATE_NAT64_RULE=107 NO_CONFIGURED_PRIVATE_NAT64_RULE value * @property {number} LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH=96 LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH value * @property {number} NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION=97 NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION value * @property {number} CLOUD_NAT_PROTOCOL_UNSUPPORTED=99 CLOUD_NAT_PROTOCOL_UNSUPPORTED value @@ -14281,6 +14474,7 @@ * @property {number} L2_INTERCONNECT_DESTINATION_IP_MISMATCH=102 L2_INTERCONNECT_DESTINATION_IP_MISMATCH value * @property {number} NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED=104 NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED value * @property {number} HYBRID_SUBNET_REGION_MISMATCH=105 HYBRID_SUBNET_REGION_MISMATCH value + * @property {number} HYBRID_SUBNET_NO_ROUTE=106 HYBRID_SUBNET_NO_ROUTE value */ DropInfo.Cause = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -14299,6 +14493,7 @@ values[valuesById[52] = "ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED"] = 52; values[valuesById[53] = "ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID"] = 53; values[valuesById[44] = "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS"] = 44; + values[valuesById[109] = "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS"] = 109; values[valuesById[98] = "NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS"] = 98; values[valuesById[45] = "VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH"] = 45; values[valuesById[46] = "VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH"] = 46; @@ -14313,6 +14508,7 @@ values[valuesById[85] = "INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS"] = 85; values[valuesById[14] = "INSTANCE_NOT_RUNNING"] = 14; values[valuesById[27] = "GKE_CLUSTER_NOT_RUNNING"] = 27; + values[valuesById[103] = "GKE_POD_NOT_RUNNING"] = 103; values[valuesById[28] = "CLOUD_SQL_INSTANCE_NOT_RUNNING"] = 28; values[valuesById[68] = "REDIS_INSTANCE_NOT_RUNNING"] = 68; values[valuesById[69] = "REDIS_CLUSTER_NOT_RUNNING"] = 69; @@ -14375,6 +14571,7 @@ values[valuesById[88] = "UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION"] = 88; values[valuesById[89] = "TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED"] = 89; values[valuesById[90] = "NO_MATCHING_NAT64_GATEWAY"] = 90; + values[valuesById[107] = "NO_CONFIGURED_PRIVATE_NAT64_RULE"] = 107; values[valuesById[96] = "LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH"] = 96; values[valuesById[97] = "NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION"] = 97; values[valuesById[99] = "CLOUD_NAT_PROTOCOL_UNSUPPORTED"] = 99; @@ -14383,6 +14580,7 @@ values[valuesById[102] = "L2_INTERCONNECT_DESTINATION_IP_MISMATCH"] = 102; values[valuesById[104] = "NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED"] = 104; values[valuesById[105] = "HYBRID_SUBNET_REGION_MISMATCH"] = 105; + values[valuesById[106] = "HYBRID_SUBNET_NO_ROUTE"] = 106; return values; })(); @@ -14687,6 +14885,562 @@ return GKEMasterInfo; })(); + v1.GkePodInfo = (function() { + + /** + * Properties of a GkePodInfo. + * @memberof google.cloud.networkmanagement.v1 + * @interface IGkePodInfo + * @property {string|null} [podUri] GkePodInfo podUri + * @property {string|null} [ipAddress] GkePodInfo ipAddress + * @property {string|null} [networkUri] GkePodInfo networkUri + */ + + /** + * Constructs a new GkePodInfo. + * @memberof google.cloud.networkmanagement.v1 + * @classdesc Represents a GkePodInfo. + * @implements IGkePodInfo + * @constructor + * @param {google.cloud.networkmanagement.v1.IGkePodInfo=} [properties] Properties to set + */ + function GkePodInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GkePodInfo podUri. + * @member {string} podUri + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @instance + */ + GkePodInfo.prototype.podUri = ""; + + /** + * GkePodInfo ipAddress. + * @member {string} ipAddress + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @instance + */ + GkePodInfo.prototype.ipAddress = ""; + + /** + * GkePodInfo networkUri. + * @member {string} networkUri + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @instance + */ + GkePodInfo.prototype.networkUri = ""; + + /** + * Creates a new GkePodInfo instance using the specified properties. + * @function create + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @static + * @param {google.cloud.networkmanagement.v1.IGkePodInfo=} [properties] Properties to set + * @returns {google.cloud.networkmanagement.v1.GkePodInfo} GkePodInfo instance + */ + GkePodInfo.create = function create(properties) { + return new GkePodInfo(properties); + }; + + /** + * Encodes the specified GkePodInfo message. Does not implicitly {@link google.cloud.networkmanagement.v1.GkePodInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @static + * @param {google.cloud.networkmanagement.v1.IGkePodInfo} message GkePodInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GkePodInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.podUri != null && Object.hasOwnProperty.call(message, "podUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.podUri); + if (message.ipAddress != null && Object.hasOwnProperty.call(message, "ipAddress")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.ipAddress); + if (message.networkUri != null && Object.hasOwnProperty.call(message, "networkUri")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.networkUri); + return writer; + }; + + /** + * Encodes the specified GkePodInfo message, length delimited. Does not implicitly {@link google.cloud.networkmanagement.v1.GkePodInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @static + * @param {google.cloud.networkmanagement.v1.IGkePodInfo} message GkePodInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GkePodInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GkePodInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.networkmanagement.v1.GkePodInfo} GkePodInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GkePodInfo.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkmanagement.v1.GkePodInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.podUri = reader.string(); + break; + } + case 2: { + message.ipAddress = reader.string(); + break; + } + case 3: { + message.networkUri = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GkePodInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.networkmanagement.v1.GkePodInfo} GkePodInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GkePodInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GkePodInfo message. + * @function verify + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GkePodInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.podUri != null && message.hasOwnProperty("podUri")) + if (!$util.isString(message.podUri)) + return "podUri: string expected"; + if (message.ipAddress != null && message.hasOwnProperty("ipAddress")) + if (!$util.isString(message.ipAddress)) + return "ipAddress: string expected"; + if (message.networkUri != null && message.hasOwnProperty("networkUri")) + if (!$util.isString(message.networkUri)) + return "networkUri: string expected"; + return null; + }; + + /** + * Creates a GkePodInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.networkmanagement.v1.GkePodInfo} GkePodInfo + */ + GkePodInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.networkmanagement.v1.GkePodInfo) + return object; + var message = new $root.google.cloud.networkmanagement.v1.GkePodInfo(); + if (object.podUri != null) + message.podUri = String(object.podUri); + if (object.ipAddress != null) + message.ipAddress = String(object.ipAddress); + if (object.networkUri != null) + message.networkUri = String(object.networkUri); + return message; + }; + + /** + * Creates a plain object from a GkePodInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @static + * @param {google.cloud.networkmanagement.v1.GkePodInfo} message GkePodInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GkePodInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.podUri = ""; + object.ipAddress = ""; + object.networkUri = ""; + } + if (message.podUri != null && message.hasOwnProperty("podUri")) + object.podUri = message.podUri; + if (message.ipAddress != null && message.hasOwnProperty("ipAddress")) + object.ipAddress = message.ipAddress; + if (message.networkUri != null && message.hasOwnProperty("networkUri")) + object.networkUri = message.networkUri; + return object; + }; + + /** + * Converts this GkePodInfo to JSON. + * @function toJSON + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @instance + * @returns {Object.} JSON object + */ + GkePodInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GkePodInfo + * @function getTypeUrl + * @memberof google.cloud.networkmanagement.v1.GkePodInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GkePodInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.networkmanagement.v1.GkePodInfo"; + }; + + return GkePodInfo; + })(); + + v1.IpMasqueradingSkippedInfo = (function() { + + /** + * Properties of an IpMasqueradingSkippedInfo. + * @memberof google.cloud.networkmanagement.v1 + * @interface IIpMasqueradingSkippedInfo + * @property {google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason|null} [reason] IpMasqueradingSkippedInfo reason + * @property {string|null} [nonMasqueradeRange] IpMasqueradingSkippedInfo nonMasqueradeRange + */ + + /** + * Constructs a new IpMasqueradingSkippedInfo. + * @memberof google.cloud.networkmanagement.v1 + * @classdesc Represents an IpMasqueradingSkippedInfo. + * @implements IIpMasqueradingSkippedInfo + * @constructor + * @param {google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo=} [properties] Properties to set + */ + function IpMasqueradingSkippedInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * IpMasqueradingSkippedInfo reason. + * @member {google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason} reason + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @instance + */ + IpMasqueradingSkippedInfo.prototype.reason = 0; + + /** + * IpMasqueradingSkippedInfo nonMasqueradeRange. + * @member {string} nonMasqueradeRange + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @instance + */ + IpMasqueradingSkippedInfo.prototype.nonMasqueradeRange = ""; + + /** + * Creates a new IpMasqueradingSkippedInfo instance using the specified properties. + * @function create + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @static + * @param {google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo=} [properties] Properties to set + * @returns {google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo} IpMasqueradingSkippedInfo instance + */ + IpMasqueradingSkippedInfo.create = function create(properties) { + return new IpMasqueradingSkippedInfo(properties); + }; + + /** + * Encodes the specified IpMasqueradingSkippedInfo message. Does not implicitly {@link google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @static + * @param {google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo} message IpMasqueradingSkippedInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IpMasqueradingSkippedInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.reason != null && Object.hasOwnProperty.call(message, "reason")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.reason); + if (message.nonMasqueradeRange != null && Object.hasOwnProperty.call(message, "nonMasqueradeRange")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nonMasqueradeRange); + return writer; + }; + + /** + * Encodes the specified IpMasqueradingSkippedInfo message, length delimited. Does not implicitly {@link google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @static + * @param {google.cloud.networkmanagement.v1.IIpMasqueradingSkippedInfo} message IpMasqueradingSkippedInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IpMasqueradingSkippedInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IpMasqueradingSkippedInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo} IpMasqueradingSkippedInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IpMasqueradingSkippedInfo.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.reason = reader.int32(); + break; + } + case 2: { + message.nonMasqueradeRange = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IpMasqueradingSkippedInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo} IpMasqueradingSkippedInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IpMasqueradingSkippedInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IpMasqueradingSkippedInfo message. + * @function verify + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IpMasqueradingSkippedInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.reason != null && message.hasOwnProperty("reason")) + switch (message.reason) { + default: + return "reason: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + break; + } + if (message.nonMasqueradeRange != null && message.hasOwnProperty("nonMasqueradeRange")) + if (!$util.isString(message.nonMasqueradeRange)) + return "nonMasqueradeRange: string expected"; + return null; + }; + + /** + * Creates an IpMasqueradingSkippedInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo} IpMasqueradingSkippedInfo + */ + IpMasqueradingSkippedInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo) + return object; + var message = new $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo(); + switch (object.reason) { + default: + if (typeof object.reason === "number") { + message.reason = object.reason; + break; + } + break; + case "REASON_UNSPECIFIED": + case 0: + message.reason = 0; + break; + case "DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE": + case 1: + message.reason = 1; + break; + case "DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE": + case 2: + message.reason = 2; + break; + case "DESTINATION_ON_SAME_NODE": + case 3: + message.reason = 3; + break; + case "DEFAULT_SNAT_DISABLED": + case 4: + message.reason = 4; + break; + case "NO_MASQUERADING_FOR_IPV6": + case 5: + message.reason = 5; + break; + case "POD_USES_NODE_NETWORK_NAMESPACE": + case 6: + message.reason = 6; + break; + case "NO_MASQUERADING_FOR_RETURN_PACKET": + case 7: + message.reason = 7; + break; + } + if (object.nonMasqueradeRange != null) + message.nonMasqueradeRange = String(object.nonMasqueradeRange); + return message; + }; + + /** + * Creates a plain object from an IpMasqueradingSkippedInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @static + * @param {google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo} message IpMasqueradingSkippedInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IpMasqueradingSkippedInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.reason = options.enums === String ? "REASON_UNSPECIFIED" : 0; + object.nonMasqueradeRange = ""; + } + if (message.reason != null && message.hasOwnProperty("reason")) + object.reason = options.enums === String ? $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason[message.reason] === undefined ? message.reason : $root.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason[message.reason] : message.reason; + if (message.nonMasqueradeRange != null && message.hasOwnProperty("nonMasqueradeRange")) + object.nonMasqueradeRange = message.nonMasqueradeRange; + return object; + }; + + /** + * Converts this IpMasqueradingSkippedInfo to JSON. + * @function toJSON + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @instance + * @returns {Object.} JSON object + */ + IpMasqueradingSkippedInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for IpMasqueradingSkippedInfo + * @function getTypeUrl + * @memberof google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + IpMasqueradingSkippedInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo"; + }; + + /** + * Reason enum. + * @name google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason + * @enum {number} + * @property {number} REASON_UNSPECIFIED=0 REASON_UNSPECIFIED value + * @property {number} DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE=1 DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE value + * @property {number} DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE=2 DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE value + * @property {number} DESTINATION_ON_SAME_NODE=3 DESTINATION_ON_SAME_NODE value + * @property {number} DEFAULT_SNAT_DISABLED=4 DEFAULT_SNAT_DISABLED value + * @property {number} NO_MASQUERADING_FOR_IPV6=5 NO_MASQUERADING_FOR_IPV6 value + * @property {number} POD_USES_NODE_NETWORK_NAMESPACE=6 POD_USES_NODE_NETWORK_NAMESPACE value + * @property {number} NO_MASQUERADING_FOR_RETURN_PACKET=7 NO_MASQUERADING_FOR_RETURN_PACKET value + */ + IpMasqueradingSkippedInfo.Reason = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "REASON_UNSPECIFIED"] = 0; + values[valuesById[1] = "DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE"] = 1; + values[valuesById[2] = "DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE"] = 2; + values[valuesById[3] = "DESTINATION_ON_SAME_NODE"] = 3; + values[valuesById[4] = "DEFAULT_SNAT_DISABLED"] = 4; + values[valuesById[5] = "NO_MASQUERADING_FOR_IPV6"] = 5; + values[valuesById[6] = "POD_USES_NODE_NETWORK_NAMESPACE"] = 6; + values[valuesById[7] = "NO_MASQUERADING_FOR_RETURN_PACKET"] = 7; + return values; + })(); + + return IpMasqueradingSkippedInfo; + })(); + v1.CloudSQLInstanceInfo = (function() { /** @@ -17263,6 +18017,7 @@ * @property {number|null} [newDestinationPort] NatInfo newDestinationPort * @property {string|null} [routerUri] NatInfo routerUri * @property {string|null} [natGatewayName] NatInfo natGatewayName + * @property {google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType|null} [cloudNatGatewayType] NatInfo cloudNatGatewayType */ /** @@ -17384,6 +18139,14 @@ */ NatInfo.prototype.natGatewayName = ""; + /** + * NatInfo cloudNatGatewayType. + * @member {google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType} cloudNatGatewayType + * @memberof google.cloud.networkmanagement.v1.NatInfo + * @instance + */ + NatInfo.prototype.cloudNatGatewayType = 0; + /** * Creates a new NatInfo instance using the specified properties. * @function create @@ -17434,6 +18197,8 @@ writer.uint32(/* id 12, wireType 2 =*/98).string(message.routerUri); if (message.natGatewayName != null && Object.hasOwnProperty.call(message, "natGatewayName")) writer.uint32(/* id 13, wireType 2 =*/106).string(message.natGatewayName); + if (message.cloudNatGatewayType != null && Object.hasOwnProperty.call(message, "cloudNatGatewayType")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.cloudNatGatewayType); return writer; }; @@ -17522,6 +18287,10 @@ message.natGatewayName = reader.string(); break; } + case 14: { + message.cloudNatGatewayType = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -17605,6 +18374,18 @@ if (message.natGatewayName != null && message.hasOwnProperty("natGatewayName")) if (!$util.isString(message.natGatewayName)) return "natGatewayName: string expected"; + if (message.cloudNatGatewayType != null && message.hasOwnProperty("cloudNatGatewayType")) + switch (message.cloudNatGatewayType) { + default: + return "cloudNatGatewayType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } return null; }; @@ -17676,6 +18457,38 @@ message.routerUri = String(object.routerUri); if (object.natGatewayName != null) message.natGatewayName = String(object.natGatewayName); + switch (object.cloudNatGatewayType) { + default: + if (typeof object.cloudNatGatewayType === "number") { + message.cloudNatGatewayType = object.cloudNatGatewayType; + break; + } + break; + case "CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED": + case 0: + message.cloudNatGatewayType = 0; + break; + case "PUBLIC_NAT44": + case 1: + message.cloudNatGatewayType = 1; + break; + case "PUBLIC_NAT64": + case 2: + message.cloudNatGatewayType = 2; + break; + case "PRIVATE_NAT_NCC": + case 3: + message.cloudNatGatewayType = 3; + break; + case "PRIVATE_NAT_HYBRID": + case 4: + message.cloudNatGatewayType = 4; + break; + case "PRIVATE_NAT64": + case 5: + message.cloudNatGatewayType = 5; + break; + } return message; }; @@ -17706,6 +18519,7 @@ object.newDestinationPort = 0; object.routerUri = ""; object.natGatewayName = ""; + object.cloudNatGatewayType = options.enums === String ? "CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED" : 0; } if (message.type != null && message.hasOwnProperty("type")) object.type = options.enums === String ? $root.google.cloud.networkmanagement.v1.NatInfo.Type[message.type] === undefined ? message.type : $root.google.cloud.networkmanagement.v1.NatInfo.Type[message.type] : message.type; @@ -17733,6 +18547,8 @@ object.routerUri = message.routerUri; if (message.natGatewayName != null && message.hasOwnProperty("natGatewayName")) object.natGatewayName = message.natGatewayName; + if (message.cloudNatGatewayType != null && message.hasOwnProperty("cloudNatGatewayType")) + object.cloudNatGatewayType = options.enums === String ? $root.google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType[message.cloudNatGatewayType] === undefined ? message.cloudNatGatewayType : $root.google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType[message.cloudNatGatewayType] : message.cloudNatGatewayType; return object; }; @@ -17784,6 +18600,28 @@ return values; })(); + /** + * CloudNatGatewayType enum. + * @name google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType + * @enum {number} + * @property {number} CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED=0 CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED value + * @property {number} PUBLIC_NAT44=1 PUBLIC_NAT44 value + * @property {number} PUBLIC_NAT64=2 PUBLIC_NAT64 value + * @property {number} PRIVATE_NAT_NCC=3 PRIVATE_NAT_NCC value + * @property {number} PRIVATE_NAT_HYBRID=4 PRIVATE_NAT_HYBRID value + * @property {number} PRIVATE_NAT64=5 PRIVATE_NAT64 value + */ + NatInfo.CloudNatGatewayType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "PUBLIC_NAT44"] = 1; + values[valuesById[2] = "PUBLIC_NAT64"] = 2; + values[valuesById[3] = "PRIVATE_NAT_NCC"] = 3; + values[valuesById[4] = "PRIVATE_NAT_HYBRID"] = 4; + values[valuesById[5] = "PRIVATE_NAT64"] = 5; + return values; + })(); + return NatInfo; })(); @@ -26960,6 +27798,7 @@ * @property {string|null} [cloudSqlInstance] Endpoint cloudSqlInstance * @property {string|null} [redisInstance] Endpoint redisInstance * @property {string|null} [redisCluster] Endpoint redisCluster + * @property {string|null} [gkePod] Endpoint gkePod * @property {google.cloud.networkmanagement.v1beta1.Endpoint.ICloudFunctionEndpoint|null} [cloudFunction] Endpoint cloudFunction * @property {google.cloud.networkmanagement.v1beta1.Endpoint.IAppEngineVersionEndpoint|null} [appEngineVersion] Endpoint appEngineVersion * @property {google.cloud.networkmanagement.v1beta1.Endpoint.ICloudRunRevisionEndpoint|null} [cloudRunRevision] Endpoint cloudRunRevision @@ -27079,6 +27918,14 @@ */ Endpoint.prototype.redisCluster = ""; + /** + * Endpoint gkePod. + * @member {string} gkePod + * @memberof google.cloud.networkmanagement.v1beta1.Endpoint + * @instance + */ + Endpoint.prototype.gkePod = ""; + /** * Endpoint cloudFunction. * @member {google.cloud.networkmanagement.v1beta1.Endpoint.ICloudFunctionEndpoint|null|undefined} cloudFunction @@ -27208,6 +28055,8 @@ writer.uint32(/* id 18, wireType 2 =*/146).string(message.redisCluster); if (message.fqdn != null && Object.hasOwnProperty.call(message, "fqdn")) writer.uint32(/* id 19, wireType 2 =*/154).string(message.fqdn); + if (message.gkePod != null && Object.hasOwnProperty.call(message, "gkePod")) + writer.uint32(/* id 21, wireType 2 =*/170).string(message.gkePod); return writer; }; @@ -27292,6 +28141,10 @@ message.redisCluster = reader.string(); break; } + case 21: { + message.gkePod = reader.string(); + break; + } case 10: { message.cloudFunction = $root.google.cloud.networkmanagement.v1beta1.Endpoint.CloudFunctionEndpoint.decode(reader, reader.uint32()); break; @@ -27416,6 +28269,9 @@ if (message.redisCluster != null && message.hasOwnProperty("redisCluster")) if (!$util.isString(message.redisCluster)) return "redisCluster: string expected"; + if (message.gkePod != null && message.hasOwnProperty("gkePod")) + if (!$util.isString(message.gkePod)) + return "gkePod: string expected"; if (message.cloudFunction != null && message.hasOwnProperty("cloudFunction")) { var error = $root.google.cloud.networkmanagement.v1beta1.Endpoint.CloudFunctionEndpoint.verify(message.cloudFunction); if (error) @@ -27441,6 +28297,7 @@ case 0: case 1: case 2: + case 3: break; } if (message.projectId != null && message.hasOwnProperty("projectId")) @@ -27561,6 +28418,8 @@ message.redisInstance = String(object.redisInstance); if (object.redisCluster != null) message.redisCluster = String(object.redisCluster); + if (object.gkePod != null) + message.gkePod = String(object.gkePod); if (object.cloudFunction != null) { if (typeof object.cloudFunction !== "object") throw TypeError(".google.cloud.networkmanagement.v1beta1.Endpoint.cloudFunction: object expected"); @@ -27597,6 +28456,10 @@ case 2: message.networkType = 2; break; + case "INTERNET": + case 3: + message.networkType = 3; + break; } if (object.projectId != null) message.projectId = String(object.projectId); @@ -27632,6 +28495,7 @@ object.redisInstance = ""; object.redisCluster = ""; object.fqdn = ""; + object.gkePod = ""; } if (message.ipAddress != null && message.hasOwnProperty("ipAddress")) object.ipAddress = message.ipAddress; @@ -27678,6 +28542,8 @@ object.redisCluster = message.redisCluster; if (message.fqdn != null && message.hasOwnProperty("fqdn")) object.fqdn = message.fqdn; + if (message.gkePod != null && message.hasOwnProperty("gkePod")) + object.gkePod = message.gkePod; return object; }; @@ -27714,12 +28580,14 @@ * @property {number} NETWORK_TYPE_UNSPECIFIED=0 NETWORK_TYPE_UNSPECIFIED value * @property {number} GCP_NETWORK=1 GCP_NETWORK value * @property {number} NON_GCP_NETWORK=2 NON_GCP_NETWORK value + * @property {number} INTERNET=3 INTERNET value */ Endpoint.NetworkType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "NETWORK_TYPE_UNSPECIFIED"] = 0; values[valuesById[1] = "GCP_NETWORK"] = 1; values[valuesById[2] = "NON_GCP_NETWORK"] = 2; + values[valuesById[3] = "INTERNET"] = 3; return values; })(); @@ -30671,6 +31539,8 @@ * @property {google.cloud.networkmanagement.v1beta1.ILoadBalancerInfo|null} [loadBalancer] Step loadBalancer * @property {google.cloud.networkmanagement.v1beta1.INetworkInfo|null} [network] Step network * @property {google.cloud.networkmanagement.v1beta1.IGKEMasterInfo|null} [gkeMaster] Step gkeMaster + * @property {google.cloud.networkmanagement.v1beta1.IGkePodInfo|null} [gkePod] Step gkePod + * @property {google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo|null} [ipMasqueradingSkipped] Step ipMasqueradingSkipped * @property {google.cloud.networkmanagement.v1beta1.ICloudSQLInstanceInfo|null} [cloudSqlInstance] Step cloudSqlInstance * @property {google.cloud.networkmanagement.v1beta1.IRedisInstanceInfo|null} [redisInstance] Step redisInstance * @property {google.cloud.networkmanagement.v1beta1.IRedisClusterInfo|null} [redisCluster] Step redisCluster @@ -30891,6 +31761,22 @@ */ Step.prototype.gkeMaster = null; + /** + * Step gkePod. + * @member {google.cloud.networkmanagement.v1beta1.IGkePodInfo|null|undefined} gkePod + * @memberof google.cloud.networkmanagement.v1beta1.Step + * @instance + */ + Step.prototype.gkePod = null; + + /** + * Step ipMasqueradingSkipped. + * @member {google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo|null|undefined} ipMasqueradingSkipped + * @memberof google.cloud.networkmanagement.v1beta1.Step + * @instance + */ + Step.prototype.ipMasqueradingSkipped = null; + /** * Step cloudSqlInstance. * @member {google.cloud.networkmanagement.v1beta1.ICloudSQLInstanceInfo|null|undefined} cloudSqlInstance @@ -30984,12 +31870,12 @@ /** * Step stepInfo. - * @member {"instance"|"firewall"|"route"|"endpoint"|"googleService"|"forwardingRule"|"hybridSubnet"|"vpnGateway"|"vpnTunnel"|"interconnectAttachment"|"vpcConnector"|"directVpcEgressConnection"|"serverlessExternalConnection"|"deliver"|"forward"|"abort"|"drop"|"loadBalancer"|"network"|"gkeMaster"|"cloudSqlInstance"|"redisInstance"|"redisCluster"|"cloudFunction"|"appEngineVersion"|"cloudRunRevision"|"nat"|"proxyConnection"|"loadBalancerBackendInfo"|"storageBucket"|"serverlessNeg"|undefined} stepInfo + * @member {"instance"|"firewall"|"route"|"endpoint"|"googleService"|"forwardingRule"|"hybridSubnet"|"vpnGateway"|"vpnTunnel"|"interconnectAttachment"|"vpcConnector"|"directVpcEgressConnection"|"serverlessExternalConnection"|"deliver"|"forward"|"abort"|"drop"|"loadBalancer"|"network"|"gkeMaster"|"gkePod"|"ipMasqueradingSkipped"|"cloudSqlInstance"|"redisInstance"|"redisCluster"|"cloudFunction"|"appEngineVersion"|"cloudRunRevision"|"nat"|"proxyConnection"|"loadBalancerBackendInfo"|"storageBucket"|"serverlessNeg"|undefined} stepInfo * @memberof google.cloud.networkmanagement.v1beta1.Step * @instance */ Object.defineProperty(Step.prototype, "stepInfo", { - get: $util.oneOfGetter($oneOfFields = ["instance", "firewall", "route", "endpoint", "googleService", "forwardingRule", "hybridSubnet", "vpnGateway", "vpnTunnel", "interconnectAttachment", "vpcConnector", "directVpcEgressConnection", "serverlessExternalConnection", "deliver", "forward", "abort", "drop", "loadBalancer", "network", "gkeMaster", "cloudSqlInstance", "redisInstance", "redisCluster", "cloudFunction", "appEngineVersion", "cloudRunRevision", "nat", "proxyConnection", "loadBalancerBackendInfo", "storageBucket", "serverlessNeg"]), + get: $util.oneOfGetter($oneOfFields = ["instance", "firewall", "route", "endpoint", "googleService", "forwardingRule", "hybridSubnet", "vpnGateway", "vpnTunnel", "interconnectAttachment", "vpcConnector", "directVpcEgressConnection", "serverlessExternalConnection", "deliver", "forward", "abort", "drop", "loadBalancer", "network", "gkeMaster", "gkePod", "ipMasqueradingSkipped", "cloudSqlInstance", "redisInstance", "redisCluster", "cloudFunction", "appEngineVersion", "cloudRunRevision", "nat", "proxyConnection", "loadBalancerBackendInfo", "storageBucket", "serverlessNeg"]), set: $util.oneOfSetter($oneOfFields) }); @@ -31087,6 +31973,10 @@ $root.google.cloud.networkmanagement.v1beta1.InterconnectAttachmentInfo.encode(message.interconnectAttachment, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim(); if (message.hybridSubnet != null && Object.hasOwnProperty.call(message, "hybridSubnet")) $root.google.cloud.networkmanagement.v1beta1.HybridSubnetInfo.encode(message.hybridSubnet, writer.uint32(/* id 36, wireType 2 =*/290).fork()).ldelim(); + if (message.gkePod != null && Object.hasOwnProperty.call(message, "gkePod")) + $root.google.cloud.networkmanagement.v1beta1.GkePodInfo.encode(message.gkePod, writer.uint32(/* id 37, wireType 2 =*/298).fork()).ldelim(); + if (message.ipMasqueradingSkipped != null && Object.hasOwnProperty.call(message, "ipMasqueradingSkipped")) + $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.encode(message.ipMasqueradingSkipped, writer.uint32(/* id 38, wireType 2 =*/306).fork()).ldelim(); return writer; }; @@ -31219,6 +32109,14 @@ message.gkeMaster = $root.google.cloud.networkmanagement.v1beta1.GKEMasterInfo.decode(reader, reader.uint32()); break; } + case 37: { + message.gkePod = $root.google.cloud.networkmanagement.v1beta1.GkePodInfo.decode(reader, reader.uint32()); + break; + } + case 38: { + message.ipMasqueradingSkipped = $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.decode(reader, reader.uint32()); + break; + } case 19: { message.cloudSqlInstance = $root.google.cloud.networkmanagement.v1beta1.CloudSQLInstanceInfo.decode(reader, reader.uint32()); break; @@ -31313,6 +32211,7 @@ case 3: case 21: case 22: + case 39: case 32: case 33: case 23: @@ -31338,6 +32237,7 @@ case 35: case 36: case 14: + case 40: case 15: case 16: case 17: @@ -31550,6 +32450,26 @@ return "gkeMaster." + error; } } + if (message.gkePod != null && message.hasOwnProperty("gkePod")) { + if (properties.stepInfo === 1) + return "stepInfo: multiple values"; + properties.stepInfo = 1; + { + var error = $root.google.cloud.networkmanagement.v1beta1.GkePodInfo.verify(message.gkePod); + if (error) + return "gkePod." + error; + } + } + if (message.ipMasqueradingSkipped != null && message.hasOwnProperty("ipMasqueradingSkipped")) { + if (properties.stepInfo === 1) + return "stepInfo: multiple values"; + properties.stepInfo = 1; + { + var error = $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.verify(message.ipMasqueradingSkipped); + if (error) + return "ipMasqueradingSkipped." + error; + } + } if (message.cloudSqlInstance != null && message.hasOwnProperty("cloudSqlInstance")) { if (properties.stepInfo === 1) return "stepInfo: multiple values"; @@ -31712,6 +32632,10 @@ case 22: message.state = 22; break; + case "START_FROM_GKE_POD": + case 39: + message.state = 39; + break; case "START_FROM_REDIS_INSTANCE": case 32: message.state = 32; @@ -31812,6 +32736,10 @@ case 14: message.state = 14; break; + case "SKIP_GKE_POD_IP_MASQUERADING": + case 40: + message.state = 40; + break; case "PROXY_CONNECTION": case 15: message.state = 15; @@ -31941,6 +32869,16 @@ throw TypeError(".google.cloud.networkmanagement.v1beta1.Step.gkeMaster: object expected"); message.gkeMaster = $root.google.cloud.networkmanagement.v1beta1.GKEMasterInfo.fromObject(object.gkeMaster); } + if (object.gkePod != null) { + if (typeof object.gkePod !== "object") + throw TypeError(".google.cloud.networkmanagement.v1beta1.Step.gkePod: object expected"); + message.gkePod = $root.google.cloud.networkmanagement.v1beta1.GkePodInfo.fromObject(object.gkePod); + } + if (object.ipMasqueradingSkipped != null) { + if (typeof object.ipMasqueradingSkipped !== "object") + throw TypeError(".google.cloud.networkmanagement.v1beta1.Step.ipMasqueradingSkipped: object expected"); + message.ipMasqueradingSkipped = $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.fromObject(object.ipMasqueradingSkipped); + } if (object.cloudSqlInstance != null) { if (typeof object.cloudSqlInstance !== "object") throw TypeError(".google.cloud.networkmanagement.v1beta1.Step.cloudSqlInstance: object expected"); @@ -32181,6 +33119,16 @@ if (options.oneofs) object.stepInfo = "hybridSubnet"; } + if (message.gkePod != null && message.hasOwnProperty("gkePod")) { + object.gkePod = $root.google.cloud.networkmanagement.v1beta1.GkePodInfo.toObject(message.gkePod, options); + if (options.oneofs) + object.stepInfo = "gkePod"; + } + if (message.ipMasqueradingSkipped != null && message.hasOwnProperty("ipMasqueradingSkipped")) { + object.ipMasqueradingSkipped = $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.toObject(message.ipMasqueradingSkipped, options); + if (options.oneofs) + object.stepInfo = "ipMasqueradingSkipped"; + } return object; }; @@ -32221,6 +33169,7 @@ * @property {number} START_FROM_PRIVATE_NETWORK=3 START_FROM_PRIVATE_NETWORK value * @property {number} START_FROM_GKE_MASTER=21 START_FROM_GKE_MASTER value * @property {number} START_FROM_CLOUD_SQL_INSTANCE=22 START_FROM_CLOUD_SQL_INSTANCE value + * @property {number} START_FROM_GKE_POD=39 START_FROM_GKE_POD value * @property {number} START_FROM_REDIS_INSTANCE=32 START_FROM_REDIS_INSTANCE value * @property {number} START_FROM_REDIS_CLUSTER=33 START_FROM_REDIS_CLUSTER value * @property {number} START_FROM_CLOUD_FUNCTION=23 START_FROM_CLOUD_FUNCTION value @@ -32246,6 +33195,7 @@ * @property {number} DIRECT_VPC_EGRESS_CONNECTION=35 DIRECT_VPC_EGRESS_CONNECTION value * @property {number} SERVERLESS_EXTERNAL_CONNECTION=36 SERVERLESS_EXTERNAL_CONNECTION value * @property {number} NAT=14 NAT value + * @property {number} SKIP_GKE_POD_IP_MASQUERADING=40 SKIP_GKE_POD_IP_MASQUERADING value * @property {number} PROXY_CONNECTION=15 PROXY_CONNECTION value * @property {number} DELIVER=16 DELIVER value * @property {number} DROP=17 DROP value @@ -32262,6 +33212,7 @@ values[valuesById[3] = "START_FROM_PRIVATE_NETWORK"] = 3; values[valuesById[21] = "START_FROM_GKE_MASTER"] = 21; values[valuesById[22] = "START_FROM_CLOUD_SQL_INSTANCE"] = 22; + values[valuesById[39] = "START_FROM_GKE_POD"] = 39; values[valuesById[32] = "START_FROM_REDIS_INSTANCE"] = 32; values[valuesById[33] = "START_FROM_REDIS_CLUSTER"] = 33; values[valuesById[23] = "START_FROM_CLOUD_FUNCTION"] = 23; @@ -32287,6 +33238,7 @@ values[valuesById[35] = "DIRECT_VPC_EGRESS_CONNECTION"] = 35; values[valuesById[36] = "SERVERLESS_EXTERNAL_CONNECTION"] = 36; values[valuesById[14] = "NAT"] = 14; + values[valuesById[40] = "SKIP_GKE_POD_IP_MASQUERADING"] = 40; values[valuesById[15] = "PROXY_CONNECTION"] = 15; values[valuesById[16] = "DELIVER"] = 16; values[valuesById[17] = "DROP"] = 17; @@ -33460,6 +34412,8 @@ case 4: case 5: case 6: + case 7: + case 8: case 100: case 101: case 102: @@ -33557,6 +34511,14 @@ case 6: message.firewallRuleType = 6; break; + case "SYSTEM_NETWORK_FIREWALL_POLICY_RULE": + case 7: + message.firewallRuleType = 7; + break; + case "SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE": + case 8: + message.firewallRuleType = 8; + break; case "UNSUPPORTED_FIREWALL_POLICY_RULE": case 100: message.firewallRuleType = 100; @@ -33697,6 +34659,8 @@ * @property {number} SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE=4 SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE value * @property {number} NETWORK_FIREWALL_POLICY_RULE=5 NETWORK_FIREWALL_POLICY_RULE value * @property {number} NETWORK_REGIONAL_FIREWALL_POLICY_RULE=6 NETWORK_REGIONAL_FIREWALL_POLICY_RULE value + * @property {number} SYSTEM_NETWORK_FIREWALL_POLICY_RULE=7 SYSTEM_NETWORK_FIREWALL_POLICY_RULE value + * @property {number} SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE=8 SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE value * @property {number} UNSUPPORTED_FIREWALL_POLICY_RULE=100 UNSUPPORTED_FIREWALL_POLICY_RULE value * @property {number} TRACKING_STATE=101 TRACKING_STATE value * @property {number} ANALYSIS_SKIPPED=102 ANALYSIS_SKIPPED value @@ -33710,6 +34674,8 @@ values[valuesById[4] = "SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE"] = 4; values[valuesById[5] = "NETWORK_FIREWALL_POLICY_RULE"] = 5; values[valuesById[6] = "NETWORK_REGIONAL_FIREWALL_POLICY_RULE"] = 6; + values[valuesById[7] = "SYSTEM_NETWORK_FIREWALL_POLICY_RULE"] = 7; + values[valuesById[8] = "SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE"] = 8; values[valuesById[100] = "UNSUPPORTED_FIREWALL_POLICY_RULE"] = 100; values[valuesById[101] = "TRACKING_STATE"] = 101; values[valuesById[102] = "ANALYSIS_SKIPPED"] = 102; @@ -38364,6 +39330,7 @@ case 15: case 16: case 17: + case 19: break; } if (message.resourceUri != null && message.hasOwnProperty("resourceUri")) @@ -38484,6 +39451,10 @@ case 17: message.target = 17; break; + case "GKE_POD": + case 19: + message.target = 19; + break; } if (object.resourceUri != null) message.resourceUri = String(object.resourceUri); @@ -38612,6 +39583,7 @@ * @property {number} GOOGLE_MANAGED_SERVICE=15 GOOGLE_MANAGED_SERVICE value * @property {number} REDIS_INSTANCE=16 REDIS_INSTANCE value * @property {number} REDIS_CLUSTER=17 REDIS_CLUSTER value + * @property {number} GKE_POD=19 GKE_POD value */ DeliverInfo.Target = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -38633,6 +39605,7 @@ values[valuesById[15] = "GOOGLE_MANAGED_SERVICE"] = 15; values[valuesById[16] = "REDIS_INSTANCE"] = 16; values[valuesById[17] = "REDIS_CLUSTER"] = 17; + values[valuesById[19] = "GKE_POD"] = 19; return values; })(); @@ -39212,6 +40185,9 @@ case 29: case 36: case 5: + case 42: + case 43: + case 44: case 6: case 9: case 10: @@ -39226,6 +40202,7 @@ case 19: case 39: case 20: + case 45: case 34: case 35: case 21: @@ -39234,6 +40211,7 @@ case 31: case 37: case 40: + case 41: break; } if (message.resourceUri != null && message.hasOwnProperty("resourceUri")) @@ -39339,6 +40317,18 @@ case 5: message.cause = 5; break; + case "NO_SOURCE_GCP_NETWORK_LOCATION": + case 42: + message.cause = 42; + break; + case "NO_SOURCE_NON_GCP_NETWORK_LOCATION": + case 43: + message.cause = 43; + break; + case "NO_SOURCE_INTERNET_LOCATION": + case 44: + message.cause = 44; + break; case "INVALID_ARGUMENT": case 6: message.cause = 6; @@ -39395,6 +40385,10 @@ case 20: message.cause = 20; break; + case "SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED": + case 45: + message.cause = 45; + break; case "SOURCE_REDIS_CLUSTER_UNSUPPORTED": case 34: message.cause = 34; @@ -39427,6 +40421,10 @@ case 40: message.cause = 40; break; + case "GKE_POD_UNKNOWN_ENDPOINT_LOCATION": + case 41: + message.cause = 41; + break; } if (object.resourceUri != null) message.resourceUri = String(object.resourceUri); @@ -39523,6 +40521,9 @@ * @property {number} PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS=29 PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS value * @property {number} PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS=36 PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS value * @property {number} NO_SOURCE_LOCATION=5 NO_SOURCE_LOCATION value + * @property {number} NO_SOURCE_GCP_NETWORK_LOCATION=42 NO_SOURCE_GCP_NETWORK_LOCATION value + * @property {number} NO_SOURCE_NON_GCP_NETWORK_LOCATION=43 NO_SOURCE_NON_GCP_NETWORK_LOCATION value + * @property {number} NO_SOURCE_INTERNET_LOCATION=44 NO_SOURCE_INTERNET_LOCATION value * @property {number} INVALID_ARGUMENT=6 INVALID_ARGUMENT value * @property {number} TRACE_TOO_LONG=9 TRACE_TOO_LONG value * @property {number} INTERNAL_ERROR=10 INTERNAL_ERROR value @@ -39537,6 +40538,7 @@ * @property {number} GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT=19 GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT value * @property {number} GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT=39 GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT value * @property {number} SOURCE_PSC_CLOUD_SQL_UNSUPPORTED=20 SOURCE_PSC_CLOUD_SQL_UNSUPPORTED value + * @property {number} SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED=45 SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED value * @property {number} SOURCE_REDIS_CLUSTER_UNSUPPORTED=34 SOURCE_REDIS_CLUSTER_UNSUPPORTED value * @property {number} SOURCE_REDIS_INSTANCE_UNSUPPORTED=35 SOURCE_REDIS_INSTANCE_UNSUPPORTED value * @property {number} SOURCE_FORWARDING_RULE_UNSUPPORTED=21 SOURCE_FORWARDING_RULE_UNSUPPORTED value @@ -39545,6 +40547,7 @@ * @property {number} UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG=31 UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG value * @property {number} NO_SERVERLESS_IP_RANGES=37 NO_SERVERLESS_IP_RANGES value * @property {number} IP_VERSION_PROTOCOL_MISMATCH=40 IP_VERSION_PROTOCOL_MISMATCH value + * @property {number} GKE_POD_UNKNOWN_ENDPOINT_LOCATION=41 GKE_POD_UNKNOWN_ENDPOINT_LOCATION value */ AbortInfo.Cause = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -39565,6 +40568,9 @@ values[valuesById[29] = "PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS"] = 29; values[valuesById[36] = "PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS"] = 36; values[valuesById[5] = "NO_SOURCE_LOCATION"] = 5; + values[valuesById[42] = "NO_SOURCE_GCP_NETWORK_LOCATION"] = 42; + values[valuesById[43] = "NO_SOURCE_NON_GCP_NETWORK_LOCATION"] = 43; + values[valuesById[44] = "NO_SOURCE_INTERNET_LOCATION"] = 44; values[valuesById[6] = "INVALID_ARGUMENT"] = 6; values[valuesById[9] = "TRACE_TOO_LONG"] = 9; values[valuesById[10] = "INTERNAL_ERROR"] = 10; @@ -39579,6 +40585,7 @@ values[valuesById[19] = "GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT"] = 19; values[valuesById[39] = "GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT"] = 39; values[valuesById[20] = "SOURCE_PSC_CLOUD_SQL_UNSUPPORTED"] = 20; + values[valuesById[45] = "SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED"] = 45; values[valuesById[34] = "SOURCE_REDIS_CLUSTER_UNSUPPORTED"] = 34; values[valuesById[35] = "SOURCE_REDIS_INSTANCE_UNSUPPORTED"] = 35; values[valuesById[21] = "SOURCE_FORWARDING_RULE_UNSUPPORTED"] = 21; @@ -39587,6 +40594,7 @@ values[valuesById[31] = "UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG"] = 31; values[valuesById[37] = "NO_SERVERLESS_IP_RANGES"] = 37; values[valuesById[40] = "IP_VERSION_PROTOCOL_MISMATCH"] = 40; + values[valuesById[41] = "GKE_POD_UNKNOWN_ENDPOINT_LOCATION"] = 41; return values; })(); @@ -39835,6 +40843,7 @@ case 52: case 53: case 44: + case 109: case 98: case 45: case 46: @@ -39849,6 +40858,7 @@ case 85: case 14: case 27: + case 103: case 28: case 68: case 69: @@ -39911,6 +40921,7 @@ case 88: case 89: case 90: + case 107: case 96: case 97: case 99: @@ -39919,6 +40930,7 @@ case 102: case 104: case 105: + case 106: break; } if (message.resourceUri != null && message.hasOwnProperty("resourceUri")) @@ -40021,6 +41033,10 @@ case 44: message.cause = 44; break; + case "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS": + case 109: + message.cause = 109; + break; case "NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS": case 98: message.cause = 98; @@ -40077,6 +41093,10 @@ case 27: message.cause = 27; break; + case "GKE_POD_NOT_RUNNING": + case 103: + message.cause = 103; + break; case "CLOUD_SQL_INSTANCE_NOT_RUNNING": case 28: message.cause = 28; @@ -40325,6 +41345,10 @@ case 90: message.cause = 90; break; + case "NO_CONFIGURED_PRIVATE_NAT64_RULE": + case 107: + message.cause = 107; + break; case "LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH": case 96: message.cause = 96; @@ -40357,6 +41381,10 @@ case 105: message.cause = 105; break; + case "HYBRID_SUBNET_NO_ROUTE": + case 106: + message.cause = 106; + break; } if (object.resourceUri != null) message.resourceUri = String(object.resourceUri); @@ -40457,6 +41485,7 @@ * @property {number} ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED=52 ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED value * @property {number} ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID=53 ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID value * @property {number} NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS=44 NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS value + * @property {number} NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS=109 NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS value * @property {number} NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS=98 NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS value * @property {number} VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH=45 VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH value * @property {number} VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH=46 VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH value @@ -40471,6 +41500,7 @@ * @property {number} INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS=85 INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS value * @property {number} INSTANCE_NOT_RUNNING=14 INSTANCE_NOT_RUNNING value * @property {number} GKE_CLUSTER_NOT_RUNNING=27 GKE_CLUSTER_NOT_RUNNING value + * @property {number} GKE_POD_NOT_RUNNING=103 GKE_POD_NOT_RUNNING value * @property {number} CLOUD_SQL_INSTANCE_NOT_RUNNING=28 CLOUD_SQL_INSTANCE_NOT_RUNNING value * @property {number} REDIS_INSTANCE_NOT_RUNNING=68 REDIS_INSTANCE_NOT_RUNNING value * @property {number} REDIS_CLUSTER_NOT_RUNNING=69 REDIS_CLUSTER_NOT_RUNNING value @@ -40533,6 +41563,7 @@ * @property {number} UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION=88 UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION value * @property {number} TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED=89 TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED value * @property {number} NO_MATCHING_NAT64_GATEWAY=90 NO_MATCHING_NAT64_GATEWAY value + * @property {number} NO_CONFIGURED_PRIVATE_NAT64_RULE=107 NO_CONFIGURED_PRIVATE_NAT64_RULE value * @property {number} LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH=96 LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH value * @property {number} NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION=97 NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION value * @property {number} CLOUD_NAT_PROTOCOL_UNSUPPORTED=99 CLOUD_NAT_PROTOCOL_UNSUPPORTED value @@ -40541,6 +41572,7 @@ * @property {number} L2_INTERCONNECT_DESTINATION_IP_MISMATCH=102 L2_INTERCONNECT_DESTINATION_IP_MISMATCH value * @property {number} NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED=104 NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED value * @property {number} HYBRID_SUBNET_REGION_MISMATCH=105 HYBRID_SUBNET_REGION_MISMATCH value + * @property {number} HYBRID_SUBNET_NO_ROUTE=106 HYBRID_SUBNET_NO_ROUTE value */ DropInfo.Cause = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -40559,6 +41591,7 @@ values[valuesById[52] = "ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED"] = 52; values[valuesById[53] = "ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID"] = 53; values[valuesById[44] = "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS"] = 44; + values[valuesById[109] = "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS"] = 109; values[valuesById[98] = "NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS"] = 98; values[valuesById[45] = "VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH"] = 45; values[valuesById[46] = "VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH"] = 46; @@ -40573,6 +41606,7 @@ values[valuesById[85] = "INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS"] = 85; values[valuesById[14] = "INSTANCE_NOT_RUNNING"] = 14; values[valuesById[27] = "GKE_CLUSTER_NOT_RUNNING"] = 27; + values[valuesById[103] = "GKE_POD_NOT_RUNNING"] = 103; values[valuesById[28] = "CLOUD_SQL_INSTANCE_NOT_RUNNING"] = 28; values[valuesById[68] = "REDIS_INSTANCE_NOT_RUNNING"] = 68; values[valuesById[69] = "REDIS_CLUSTER_NOT_RUNNING"] = 69; @@ -40635,6 +41669,7 @@ values[valuesById[88] = "UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION"] = 88; values[valuesById[89] = "TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED"] = 89; values[valuesById[90] = "NO_MATCHING_NAT64_GATEWAY"] = 90; + values[valuesById[107] = "NO_CONFIGURED_PRIVATE_NAT64_RULE"] = 107; values[valuesById[96] = "LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH"] = 96; values[valuesById[97] = "NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION"] = 97; values[valuesById[99] = "CLOUD_NAT_PROTOCOL_UNSUPPORTED"] = 99; @@ -40643,6 +41678,7 @@ values[valuesById[102] = "L2_INTERCONNECT_DESTINATION_IP_MISMATCH"] = 102; values[valuesById[104] = "NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED"] = 104; values[valuesById[105] = "HYBRID_SUBNET_REGION_MISMATCH"] = 105; + values[valuesById[106] = "HYBRID_SUBNET_NO_ROUTE"] = 106; return values; })(); @@ -40947,6 +41983,562 @@ return GKEMasterInfo; })(); + v1beta1.GkePodInfo = (function() { + + /** + * Properties of a GkePodInfo. + * @memberof google.cloud.networkmanagement.v1beta1 + * @interface IGkePodInfo + * @property {string|null} [podUri] GkePodInfo podUri + * @property {string|null} [ipAddress] GkePodInfo ipAddress + * @property {string|null} [networkUri] GkePodInfo networkUri + */ + + /** + * Constructs a new GkePodInfo. + * @memberof google.cloud.networkmanagement.v1beta1 + * @classdesc Represents a GkePodInfo. + * @implements IGkePodInfo + * @constructor + * @param {google.cloud.networkmanagement.v1beta1.IGkePodInfo=} [properties] Properties to set + */ + function GkePodInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GkePodInfo podUri. + * @member {string} podUri + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @instance + */ + GkePodInfo.prototype.podUri = ""; + + /** + * GkePodInfo ipAddress. + * @member {string} ipAddress + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @instance + */ + GkePodInfo.prototype.ipAddress = ""; + + /** + * GkePodInfo networkUri. + * @member {string} networkUri + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @instance + */ + GkePodInfo.prototype.networkUri = ""; + + /** + * Creates a new GkePodInfo instance using the specified properties. + * @function create + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @static + * @param {google.cloud.networkmanagement.v1beta1.IGkePodInfo=} [properties] Properties to set + * @returns {google.cloud.networkmanagement.v1beta1.GkePodInfo} GkePodInfo instance + */ + GkePodInfo.create = function create(properties) { + return new GkePodInfo(properties); + }; + + /** + * Encodes the specified GkePodInfo message. Does not implicitly {@link google.cloud.networkmanagement.v1beta1.GkePodInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @static + * @param {google.cloud.networkmanagement.v1beta1.IGkePodInfo} message GkePodInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GkePodInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.podUri != null && Object.hasOwnProperty.call(message, "podUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.podUri); + if (message.ipAddress != null && Object.hasOwnProperty.call(message, "ipAddress")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.ipAddress); + if (message.networkUri != null && Object.hasOwnProperty.call(message, "networkUri")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.networkUri); + return writer; + }; + + /** + * Encodes the specified GkePodInfo message, length delimited. Does not implicitly {@link google.cloud.networkmanagement.v1beta1.GkePodInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @static + * @param {google.cloud.networkmanagement.v1beta1.IGkePodInfo} message GkePodInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GkePodInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GkePodInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.networkmanagement.v1beta1.GkePodInfo} GkePodInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GkePodInfo.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkmanagement.v1beta1.GkePodInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.podUri = reader.string(); + break; + } + case 2: { + message.ipAddress = reader.string(); + break; + } + case 3: { + message.networkUri = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GkePodInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.networkmanagement.v1beta1.GkePodInfo} GkePodInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GkePodInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GkePodInfo message. + * @function verify + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GkePodInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.podUri != null && message.hasOwnProperty("podUri")) + if (!$util.isString(message.podUri)) + return "podUri: string expected"; + if (message.ipAddress != null && message.hasOwnProperty("ipAddress")) + if (!$util.isString(message.ipAddress)) + return "ipAddress: string expected"; + if (message.networkUri != null && message.hasOwnProperty("networkUri")) + if (!$util.isString(message.networkUri)) + return "networkUri: string expected"; + return null; + }; + + /** + * Creates a GkePodInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.networkmanagement.v1beta1.GkePodInfo} GkePodInfo + */ + GkePodInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.networkmanagement.v1beta1.GkePodInfo) + return object; + var message = new $root.google.cloud.networkmanagement.v1beta1.GkePodInfo(); + if (object.podUri != null) + message.podUri = String(object.podUri); + if (object.ipAddress != null) + message.ipAddress = String(object.ipAddress); + if (object.networkUri != null) + message.networkUri = String(object.networkUri); + return message; + }; + + /** + * Creates a plain object from a GkePodInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @static + * @param {google.cloud.networkmanagement.v1beta1.GkePodInfo} message GkePodInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GkePodInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.podUri = ""; + object.ipAddress = ""; + object.networkUri = ""; + } + if (message.podUri != null && message.hasOwnProperty("podUri")) + object.podUri = message.podUri; + if (message.ipAddress != null && message.hasOwnProperty("ipAddress")) + object.ipAddress = message.ipAddress; + if (message.networkUri != null && message.hasOwnProperty("networkUri")) + object.networkUri = message.networkUri; + return object; + }; + + /** + * Converts this GkePodInfo to JSON. + * @function toJSON + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @instance + * @returns {Object.} JSON object + */ + GkePodInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GkePodInfo + * @function getTypeUrl + * @memberof google.cloud.networkmanagement.v1beta1.GkePodInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GkePodInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.networkmanagement.v1beta1.GkePodInfo"; + }; + + return GkePodInfo; + })(); + + v1beta1.IpMasqueradingSkippedInfo = (function() { + + /** + * Properties of an IpMasqueradingSkippedInfo. + * @memberof google.cloud.networkmanagement.v1beta1 + * @interface IIpMasqueradingSkippedInfo + * @property {google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.Reason|null} [reason] IpMasqueradingSkippedInfo reason + * @property {string|null} [nonMasqueradeRange] IpMasqueradingSkippedInfo nonMasqueradeRange + */ + + /** + * Constructs a new IpMasqueradingSkippedInfo. + * @memberof google.cloud.networkmanagement.v1beta1 + * @classdesc Represents an IpMasqueradingSkippedInfo. + * @implements IIpMasqueradingSkippedInfo + * @constructor + * @param {google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo=} [properties] Properties to set + */ + function IpMasqueradingSkippedInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * IpMasqueradingSkippedInfo reason. + * @member {google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.Reason} reason + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @instance + */ + IpMasqueradingSkippedInfo.prototype.reason = 0; + + /** + * IpMasqueradingSkippedInfo nonMasqueradeRange. + * @member {string} nonMasqueradeRange + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @instance + */ + IpMasqueradingSkippedInfo.prototype.nonMasqueradeRange = ""; + + /** + * Creates a new IpMasqueradingSkippedInfo instance using the specified properties. + * @function create + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @static + * @param {google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo=} [properties] Properties to set + * @returns {google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo} IpMasqueradingSkippedInfo instance + */ + IpMasqueradingSkippedInfo.create = function create(properties) { + return new IpMasqueradingSkippedInfo(properties); + }; + + /** + * Encodes the specified IpMasqueradingSkippedInfo message. Does not implicitly {@link google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @static + * @param {google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo} message IpMasqueradingSkippedInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IpMasqueradingSkippedInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.reason != null && Object.hasOwnProperty.call(message, "reason")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.reason); + if (message.nonMasqueradeRange != null && Object.hasOwnProperty.call(message, "nonMasqueradeRange")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nonMasqueradeRange); + return writer; + }; + + /** + * Encodes the specified IpMasqueradingSkippedInfo message, length delimited. Does not implicitly {@link google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @static + * @param {google.cloud.networkmanagement.v1beta1.IIpMasqueradingSkippedInfo} message IpMasqueradingSkippedInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IpMasqueradingSkippedInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IpMasqueradingSkippedInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo} IpMasqueradingSkippedInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IpMasqueradingSkippedInfo.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.reason = reader.int32(); + break; + } + case 2: { + message.nonMasqueradeRange = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IpMasqueradingSkippedInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo} IpMasqueradingSkippedInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IpMasqueradingSkippedInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IpMasqueradingSkippedInfo message. + * @function verify + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IpMasqueradingSkippedInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.reason != null && message.hasOwnProperty("reason")) + switch (message.reason) { + default: + return "reason: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + break; + } + if (message.nonMasqueradeRange != null && message.hasOwnProperty("nonMasqueradeRange")) + if (!$util.isString(message.nonMasqueradeRange)) + return "nonMasqueradeRange: string expected"; + return null; + }; + + /** + * Creates an IpMasqueradingSkippedInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo} IpMasqueradingSkippedInfo + */ + IpMasqueradingSkippedInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo) + return object; + var message = new $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo(); + switch (object.reason) { + default: + if (typeof object.reason === "number") { + message.reason = object.reason; + break; + } + break; + case "REASON_UNSPECIFIED": + case 0: + message.reason = 0; + break; + case "DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE": + case 1: + message.reason = 1; + break; + case "DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE": + case 2: + message.reason = 2; + break; + case "DESTINATION_ON_SAME_NODE": + case 3: + message.reason = 3; + break; + case "DEFAULT_SNAT_DISABLED": + case 4: + message.reason = 4; + break; + case "NO_MASQUERADING_FOR_IPV6": + case 5: + message.reason = 5; + break; + case "POD_USES_NODE_NETWORK_NAMESPACE": + case 6: + message.reason = 6; + break; + case "NO_MASQUERADING_FOR_RETURN_PACKET": + case 7: + message.reason = 7; + break; + } + if (object.nonMasqueradeRange != null) + message.nonMasqueradeRange = String(object.nonMasqueradeRange); + return message; + }; + + /** + * Creates a plain object from an IpMasqueradingSkippedInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @static + * @param {google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo} message IpMasqueradingSkippedInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IpMasqueradingSkippedInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.reason = options.enums === String ? "REASON_UNSPECIFIED" : 0; + object.nonMasqueradeRange = ""; + } + if (message.reason != null && message.hasOwnProperty("reason")) + object.reason = options.enums === String ? $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.Reason[message.reason] === undefined ? message.reason : $root.google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.Reason[message.reason] : message.reason; + if (message.nonMasqueradeRange != null && message.hasOwnProperty("nonMasqueradeRange")) + object.nonMasqueradeRange = message.nonMasqueradeRange; + return object; + }; + + /** + * Converts this IpMasqueradingSkippedInfo to JSON. + * @function toJSON + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @instance + * @returns {Object.} JSON object + */ + IpMasqueradingSkippedInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for IpMasqueradingSkippedInfo + * @function getTypeUrl + * @memberof google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + IpMasqueradingSkippedInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo"; + }; + + /** + * Reason enum. + * @name google.cloud.networkmanagement.v1beta1.IpMasqueradingSkippedInfo.Reason + * @enum {number} + * @property {number} REASON_UNSPECIFIED=0 REASON_UNSPECIFIED value + * @property {number} DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE=1 DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE value + * @property {number} DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE=2 DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE value + * @property {number} DESTINATION_ON_SAME_NODE=3 DESTINATION_ON_SAME_NODE value + * @property {number} DEFAULT_SNAT_DISABLED=4 DEFAULT_SNAT_DISABLED value + * @property {number} NO_MASQUERADING_FOR_IPV6=5 NO_MASQUERADING_FOR_IPV6 value + * @property {number} POD_USES_NODE_NETWORK_NAMESPACE=6 POD_USES_NODE_NETWORK_NAMESPACE value + * @property {number} NO_MASQUERADING_FOR_RETURN_PACKET=7 NO_MASQUERADING_FOR_RETURN_PACKET value + */ + IpMasqueradingSkippedInfo.Reason = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "REASON_UNSPECIFIED"] = 0; + values[valuesById[1] = "DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE"] = 1; + values[valuesById[2] = "DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE"] = 2; + values[valuesById[3] = "DESTINATION_ON_SAME_NODE"] = 3; + values[valuesById[4] = "DEFAULT_SNAT_DISABLED"] = 4; + values[valuesById[5] = "NO_MASQUERADING_FOR_IPV6"] = 5; + values[valuesById[6] = "POD_USES_NODE_NETWORK_NAMESPACE"] = 6; + values[valuesById[7] = "NO_MASQUERADING_FOR_RETURN_PACKET"] = 7; + return values; + })(); + + return IpMasqueradingSkippedInfo; + })(); + v1beta1.CloudSQLInstanceInfo = (function() { /** @@ -43523,6 +45115,7 @@ * @property {number|null} [newDestinationPort] NatInfo newDestinationPort * @property {string|null} [routerUri] NatInfo routerUri * @property {string|null} [natGatewayName] NatInfo natGatewayName + * @property {google.cloud.networkmanagement.v1beta1.NatInfo.CloudNatGatewayType|null} [cloudNatGatewayType] NatInfo cloudNatGatewayType */ /** @@ -43644,6 +45237,14 @@ */ NatInfo.prototype.natGatewayName = ""; + /** + * NatInfo cloudNatGatewayType. + * @member {google.cloud.networkmanagement.v1beta1.NatInfo.CloudNatGatewayType} cloudNatGatewayType + * @memberof google.cloud.networkmanagement.v1beta1.NatInfo + * @instance + */ + NatInfo.prototype.cloudNatGatewayType = 0; + /** * Creates a new NatInfo instance using the specified properties. * @function create @@ -43694,6 +45295,8 @@ writer.uint32(/* id 12, wireType 2 =*/98).string(message.routerUri); if (message.natGatewayName != null && Object.hasOwnProperty.call(message, "natGatewayName")) writer.uint32(/* id 13, wireType 2 =*/106).string(message.natGatewayName); + if (message.cloudNatGatewayType != null && Object.hasOwnProperty.call(message, "cloudNatGatewayType")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.cloudNatGatewayType); return writer; }; @@ -43782,6 +45385,10 @@ message.natGatewayName = reader.string(); break; } + case 14: { + message.cloudNatGatewayType = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -43865,6 +45472,18 @@ if (message.natGatewayName != null && message.hasOwnProperty("natGatewayName")) if (!$util.isString(message.natGatewayName)) return "natGatewayName: string expected"; + if (message.cloudNatGatewayType != null && message.hasOwnProperty("cloudNatGatewayType")) + switch (message.cloudNatGatewayType) { + default: + return "cloudNatGatewayType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } return null; }; @@ -43936,6 +45555,38 @@ message.routerUri = String(object.routerUri); if (object.natGatewayName != null) message.natGatewayName = String(object.natGatewayName); + switch (object.cloudNatGatewayType) { + default: + if (typeof object.cloudNatGatewayType === "number") { + message.cloudNatGatewayType = object.cloudNatGatewayType; + break; + } + break; + case "CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED": + case 0: + message.cloudNatGatewayType = 0; + break; + case "PUBLIC_NAT44": + case 1: + message.cloudNatGatewayType = 1; + break; + case "PUBLIC_NAT64": + case 2: + message.cloudNatGatewayType = 2; + break; + case "PRIVATE_NAT_NCC": + case 3: + message.cloudNatGatewayType = 3; + break; + case "PRIVATE_NAT_HYBRID": + case 4: + message.cloudNatGatewayType = 4; + break; + case "PRIVATE_NAT64": + case 5: + message.cloudNatGatewayType = 5; + break; + } return message; }; @@ -43966,6 +45617,7 @@ object.newDestinationPort = 0; object.routerUri = ""; object.natGatewayName = ""; + object.cloudNatGatewayType = options.enums === String ? "CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED" : 0; } if (message.type != null && message.hasOwnProperty("type")) object.type = options.enums === String ? $root.google.cloud.networkmanagement.v1beta1.NatInfo.Type[message.type] === undefined ? message.type : $root.google.cloud.networkmanagement.v1beta1.NatInfo.Type[message.type] : message.type; @@ -43993,6 +45645,8 @@ object.routerUri = message.routerUri; if (message.natGatewayName != null && message.hasOwnProperty("natGatewayName")) object.natGatewayName = message.natGatewayName; + if (message.cloudNatGatewayType != null && message.hasOwnProperty("cloudNatGatewayType")) + object.cloudNatGatewayType = options.enums === String ? $root.google.cloud.networkmanagement.v1beta1.NatInfo.CloudNatGatewayType[message.cloudNatGatewayType] === undefined ? message.cloudNatGatewayType : $root.google.cloud.networkmanagement.v1beta1.NatInfo.CloudNatGatewayType[message.cloudNatGatewayType] : message.cloudNatGatewayType; return object; }; @@ -44044,6 +45698,28 @@ return values; })(); + /** + * CloudNatGatewayType enum. + * @name google.cloud.networkmanagement.v1beta1.NatInfo.CloudNatGatewayType + * @enum {number} + * @property {number} CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED=0 CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED value + * @property {number} PUBLIC_NAT44=1 PUBLIC_NAT44 value + * @property {number} PUBLIC_NAT64=2 PUBLIC_NAT64 value + * @property {number} PRIVATE_NAT_NCC=3 PRIVATE_NAT_NCC value + * @property {number} PRIVATE_NAT_HYBRID=4 PRIVATE_NAT_HYBRID value + * @property {number} PRIVATE_NAT64=5 PRIVATE_NAT64 value + */ + NatInfo.CloudNatGatewayType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "PUBLIC_NAT44"] = 1; + values[valuesById[2] = "PUBLIC_NAT64"] = 2; + values[valuesById[3] = "PRIVATE_NAT_NCC"] = 3; + values[valuesById[4] = "PRIVATE_NAT_HYBRID"] = 4; + values[valuesById[5] = "PRIVATE_NAT64"] = 5; + return values; + })(); + return NatInfo; })(); diff --git a/packages/google-cloud-networkmanagement/protos/protos.json b/packages/google-cloud-networkmanagement/protos/protos.json index 773c92cf2cc..9887ff7e64c 100644 --- a/packages/google-cloud-networkmanagement/protos/protos.json +++ b/packages/google-cloud-networkmanagement/protos/protos.json @@ -195,6 +195,10 @@ "type": "string", "id": 18 }, + "gkePod": { + "type": "string", + "id": 21 + }, "cloudFunction": { "type": "CloudFunctionEndpoint", "id": 10 @@ -225,7 +229,8 @@ "values": { "NETWORK_TYPE_UNSPECIFIED": 0, "GCP_NETWORK": 1, - "NON_GCP_NETWORK": 2 + "NON_GCP_NETWORK": 2, + "INTERNET": 3 } }, "ForwardingRuleTarget": { @@ -467,6 +472,8 @@ "loadBalancer", "network", "gkeMaster", + "gkePod", + "ipMasqueradingSkipped", "cloudSqlInstance", "redisInstance", "redisCluster", @@ -581,6 +588,14 @@ "type": "GKEMasterInfo", "id": 18 }, + "gkePod": { + "type": "GkePodInfo", + "id": 37 + }, + "ipMasqueradingSkipped": { + "type": "IpMasqueradingSkippedInfo", + "id": 38 + }, "cloudSqlInstance": { "type": "CloudSQLInstanceInfo", "id": 19 @@ -644,6 +659,7 @@ "START_FROM_PRIVATE_NETWORK": 3, "START_FROM_GKE_MASTER": 21, "START_FROM_CLOUD_SQL_INSTANCE": 22, + "START_FROM_GKE_POD": 39, "START_FROM_REDIS_INSTANCE": 32, "START_FROM_REDIS_CLUSTER": 33, "START_FROM_CLOUD_FUNCTION": 23, @@ -669,6 +685,7 @@ "DIRECT_VPC_EGRESS_CONNECTION": 35, "SERVERLESS_EXTERNAL_CONNECTION": 36, "NAT": 14, + "SKIP_GKE_POD_IP_MASQUERADING": 40, "PROXY_CONNECTION": 15, "DELIVER": 16, "DROP": 17, @@ -834,6 +851,8 @@ "SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE": 4, "NETWORK_FIREWALL_POLICY_RULE": 5, "NETWORK_REGIONAL_FIREWALL_POLICY_RULE": 6, + "SYSTEM_NETWORK_FIREWALL_POLICY_RULE": 7, + "SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE": 8, "UNSUPPORTED_FIREWALL_POLICY_RULE": 100, "TRACKING_STATE": 101, "ANALYSIS_SKIPPED": 102 @@ -1416,7 +1435,8 @@ "CLOUD_RUN_REVISION": 14, "GOOGLE_MANAGED_SERVICE": 15, "REDIS_INSTANCE": 16, - "REDIS_CLUSTER": 17 + "REDIS_CLUSTER": 17, + "GKE_POD": 19 } }, "GoogleServiceType": { @@ -1544,6 +1564,9 @@ "PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS": 29, "PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS": 36, "NO_SOURCE_LOCATION": 5, + "NO_SOURCE_GCP_NETWORK_LOCATION": 42, + "NO_SOURCE_NON_GCP_NETWORK_LOCATION": 43, + "NO_SOURCE_INTERNET_LOCATION": 44, "INVALID_ARGUMENT": 6, "TRACE_TOO_LONG": 9, "INTERNAL_ERROR": 10, @@ -1558,6 +1581,7 @@ "GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT": 19, "GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT": 39, "SOURCE_PSC_CLOUD_SQL_UNSUPPORTED": 20, + "SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED": 45, "SOURCE_REDIS_CLUSTER_UNSUPPORTED": 34, "SOURCE_REDIS_INSTANCE_UNSUPPORTED": 35, "SOURCE_FORWARDING_RULE_UNSUPPORTED": 21, @@ -1565,7 +1589,8 @@ "UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT": 30, "UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG": 31, "NO_SERVERLESS_IP_RANGES": 37, - "IP_VERSION_PROTOCOL_MISMATCH": 40 + "IP_VERSION_PROTOCOL_MISMATCH": 40, + "GKE_POD_UNKNOWN_ENDPOINT_LOCATION": 41 } } } @@ -1619,6 +1644,7 @@ "ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED": 52, "ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID": 53, "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS": 44, + "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS": 109, "NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS": 98, "VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH": 45, "VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH": 46, @@ -1633,6 +1659,7 @@ "INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS": 85, "INSTANCE_NOT_RUNNING": 14, "GKE_CLUSTER_NOT_RUNNING": 27, + "GKE_POD_NOT_RUNNING": 103, "CLOUD_SQL_INSTANCE_NOT_RUNNING": 28, "REDIS_INSTANCE_NOT_RUNNING": 68, "REDIS_CLUSTER_NOT_RUNNING": 69, @@ -1695,6 +1722,7 @@ "UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION": 88, "TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED": 89, "NO_MATCHING_NAT64_GATEWAY": 90, + "NO_CONFIGURED_PRIVATE_NAT64_RULE": 107, "LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH": 96, "NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION": 97, "CLOUD_NAT_PROTOCOL_UNSUPPORTED": 99, @@ -1702,7 +1730,8 @@ "L2_INTERCONNECT_UNSUPPORTED_PORT": 101, "L2_INTERCONNECT_DESTINATION_IP_MISMATCH": 102, "NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED": 104, - "HYBRID_SUBNET_REGION_MISMATCH": 105 + "HYBRID_SUBNET_REGION_MISMATCH": 105, + "HYBRID_SUBNET_NO_ROUTE": 106 } } } @@ -1731,6 +1760,51 @@ } } }, + "GkePodInfo": { + "fields": { + "podUri": { + "type": "string", + "id": 1 + }, + "ipAddress": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_info).format": "IPV4_OR_IPV6" + } + }, + "networkUri": { + "type": "string", + "id": 3 + } + } + }, + "IpMasqueradingSkippedInfo": { + "fields": { + "reason": { + "type": "Reason", + "id": 1 + }, + "nonMasqueradeRange": { + "type": "string", + "id": 2 + } + }, + "nested": { + "Reason": { + "values": { + "REASON_UNSPECIFIED": 0, + "DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE": 1, + "DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE": 2, + "DESTINATION_ON_SAME_NODE": 3, + "DEFAULT_SNAT_DISABLED": 4, + "NO_MASQUERADING_FOR_IPV6": 5, + "POD_USES_NODE_NETWORK_NAMESPACE": 6, + "NO_MASQUERADING_FOR_RETURN_PACKET": 7 + } + } + } + }, "CloudSQLInstanceInfo": { "fields": { "displayName": { @@ -1991,6 +2065,10 @@ "natGatewayName": { "type": "string", "id": 13 + }, + "cloudNatGatewayType": { + "type": "CloudNatGatewayType", + "id": 14 } }, "nested": { @@ -2003,6 +2081,16 @@ "PRIVATE_SERVICE_CONNECT": 4, "GKE_POD_IP_MASQUERADING": 5 } + }, + "CloudNatGatewayType": { + "values": { + "CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED": 0, + "PUBLIC_NAT44": 1, + "PUBLIC_NAT64": 2, + "PRIVATE_NAT_NCC": 3, + "PRIVATE_NAT_HYBRID": 4, + "PRIVATE_NAT64": 5 + } } } }, @@ -3513,6 +3601,10 @@ "type": "string", "id": 18 }, + "gkePod": { + "type": "string", + "id": 21 + }, "cloudFunction": { "type": "CloudFunctionEndpoint", "id": 10 @@ -3543,7 +3635,8 @@ "values": { "NETWORK_TYPE_UNSPECIFIED": 0, "GCP_NETWORK": 1, - "NON_GCP_NETWORK": 2 + "NON_GCP_NETWORK": 2, + "INTERNET": 3 } }, "ForwardingRuleTarget": { @@ -3785,6 +3878,8 @@ "loadBalancer", "network", "gkeMaster", + "gkePod", + "ipMasqueradingSkipped", "cloudSqlInstance", "redisInstance", "redisCluster", @@ -3899,6 +3994,14 @@ "type": "GKEMasterInfo", "id": 18 }, + "gkePod": { + "type": "GkePodInfo", + "id": 37 + }, + "ipMasqueradingSkipped": { + "type": "IpMasqueradingSkippedInfo", + "id": 38 + }, "cloudSqlInstance": { "type": "CloudSQLInstanceInfo", "id": 19 @@ -3962,6 +4065,7 @@ "START_FROM_PRIVATE_NETWORK": 3, "START_FROM_GKE_MASTER": 21, "START_FROM_CLOUD_SQL_INSTANCE": 22, + "START_FROM_GKE_POD": 39, "START_FROM_REDIS_INSTANCE": 32, "START_FROM_REDIS_CLUSTER": 33, "START_FROM_CLOUD_FUNCTION": 23, @@ -3987,6 +4091,7 @@ "DIRECT_VPC_EGRESS_CONNECTION": 35, "SERVERLESS_EXTERNAL_CONNECTION": 36, "NAT": 14, + "SKIP_GKE_POD_IP_MASQUERADING": 40, "PROXY_CONNECTION": 15, "DELIVER": 16, "DROP": 17, @@ -4152,6 +4257,8 @@ "SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE": 4, "NETWORK_FIREWALL_POLICY_RULE": 5, "NETWORK_REGIONAL_FIREWALL_POLICY_RULE": 6, + "SYSTEM_NETWORK_FIREWALL_POLICY_RULE": 7, + "SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE": 8, "UNSUPPORTED_FIREWALL_POLICY_RULE": 100, "TRACKING_STATE": 101, "ANALYSIS_SKIPPED": 102 @@ -4734,7 +4841,8 @@ "CLOUD_RUN_REVISION": 14, "GOOGLE_MANAGED_SERVICE": 15, "REDIS_INSTANCE": 16, - "REDIS_CLUSTER": 17 + "REDIS_CLUSTER": 17, + "GKE_POD": 19 } }, "GoogleServiceType": { @@ -4862,6 +4970,9 @@ "PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS": 29, "PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS": 36, "NO_SOURCE_LOCATION": 5, + "NO_SOURCE_GCP_NETWORK_LOCATION": 42, + "NO_SOURCE_NON_GCP_NETWORK_LOCATION": 43, + "NO_SOURCE_INTERNET_LOCATION": 44, "INVALID_ARGUMENT": 6, "TRACE_TOO_LONG": 9, "INTERNAL_ERROR": 10, @@ -4876,6 +4987,7 @@ "GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT": 19, "GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT": 39, "SOURCE_PSC_CLOUD_SQL_UNSUPPORTED": 20, + "SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED": 45, "SOURCE_REDIS_CLUSTER_UNSUPPORTED": 34, "SOURCE_REDIS_INSTANCE_UNSUPPORTED": 35, "SOURCE_FORWARDING_RULE_UNSUPPORTED": 21, @@ -4883,7 +4995,8 @@ "UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT": 30, "UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG": 31, "NO_SERVERLESS_IP_RANGES": 37, - "IP_VERSION_PROTOCOL_MISMATCH": 40 + "IP_VERSION_PROTOCOL_MISMATCH": 40, + "GKE_POD_UNKNOWN_ENDPOINT_LOCATION": 41 } } } @@ -4937,6 +5050,7 @@ "ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED": 52, "ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID": 53, "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS": 44, + "NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS": 109, "NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS": 98, "VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH": 45, "VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH": 46, @@ -4951,6 +5065,7 @@ "INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS": 85, "INSTANCE_NOT_RUNNING": 14, "GKE_CLUSTER_NOT_RUNNING": 27, + "GKE_POD_NOT_RUNNING": 103, "CLOUD_SQL_INSTANCE_NOT_RUNNING": 28, "REDIS_INSTANCE_NOT_RUNNING": 68, "REDIS_CLUSTER_NOT_RUNNING": 69, @@ -5013,6 +5128,7 @@ "UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION": 88, "TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED": 89, "NO_MATCHING_NAT64_GATEWAY": 90, + "NO_CONFIGURED_PRIVATE_NAT64_RULE": 107, "LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH": 96, "NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION": 97, "CLOUD_NAT_PROTOCOL_UNSUPPORTED": 99, @@ -5020,7 +5136,8 @@ "L2_INTERCONNECT_UNSUPPORTED_PORT": 101, "L2_INTERCONNECT_DESTINATION_IP_MISMATCH": 102, "NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED": 104, - "HYBRID_SUBNET_REGION_MISMATCH": 105 + "HYBRID_SUBNET_REGION_MISMATCH": 105, + "HYBRID_SUBNET_NO_ROUTE": 106 } } } @@ -5049,6 +5166,51 @@ } } }, + "GkePodInfo": { + "fields": { + "podUri": { + "type": "string", + "id": 1 + }, + "ipAddress": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_info).format": "IPV4_OR_IPV6" + } + }, + "networkUri": { + "type": "string", + "id": 3 + } + } + }, + "IpMasqueradingSkippedInfo": { + "fields": { + "reason": { + "type": "Reason", + "id": 1 + }, + "nonMasqueradeRange": { + "type": "string", + "id": 2 + } + }, + "nested": { + "Reason": { + "values": { + "REASON_UNSPECIFIED": 0, + "DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE": 1, + "DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE": 2, + "DESTINATION_ON_SAME_NODE": 3, + "DEFAULT_SNAT_DISABLED": 4, + "NO_MASQUERADING_FOR_IPV6": 5, + "POD_USES_NODE_NETWORK_NAMESPACE": 6, + "NO_MASQUERADING_FOR_RETURN_PACKET": 7 + } + } + } + }, "CloudSQLInstanceInfo": { "fields": { "displayName": { @@ -5309,6 +5471,10 @@ "natGatewayName": { "type": "string", "id": 13 + }, + "cloudNatGatewayType": { + "type": "CloudNatGatewayType", + "id": 14 } }, "nested": { @@ -5321,6 +5487,16 @@ "PRIVATE_SERVICE_CONNECT": 4, "GKE_POD_IP_MASQUERADING": 5 } + }, + "CloudNatGatewayType": { + "values": { + "CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED": 0, + "PUBLIC_NAT44": 1, + "PUBLIC_NAT64": 2, + "PRIVATE_NAT_NCC": 3, + "PRIVATE_NAT_HYBRID": 4, + "PRIVATE_NAT64": 5 + } } } }, diff --git a/packages/google-cloud-networkmanagement/samples/generated/v1/organization_vpc_flow_logs_service.list_vpc_flow_logs_configs.js b/packages/google-cloud-networkmanagement/samples/generated/v1/organization_vpc_flow_logs_service.list_vpc_flow_logs_configs.js index f67b3ac95b1..6ae1cb9e5ca 100644 --- a/packages/google-cloud-networkmanagement/samples/generated/v1/organization_vpc_flow_logs_service.list_vpc_flow_logs_configs.js +++ b/packages/google-cloud-networkmanagement/samples/generated/v1/organization_vpc_flow_logs_service.list_vpc_flow_logs_configs.js @@ -31,7 +31,7 @@ function main(parent) { /** * 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/packages/google-cloud-networkmanagement/samples/generated/v1/vpc_flow_logs_service.list_vpc_flow_logs_configs.js b/packages/google-cloud-networkmanagement/samples/generated/v1/vpc_flow_logs_service.list_vpc_flow_logs_configs.js index df61eb619d1..67dc844188e 100644 --- a/packages/google-cloud-networkmanagement/samples/generated/v1/vpc_flow_logs_service.list_vpc_flow_logs_configs.js +++ b/packages/google-cloud-networkmanagement/samples/generated/v1/vpc_flow_logs_service.list_vpc_flow_logs_configs.js @@ -31,7 +31,7 @@ function main(parent) { /** * 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/packages/google-cloud-networkmanagement/samples/generated/v1beta1/organization_vpc_flow_logs_service.list_vpc_flow_logs_configs.js b/packages/google-cloud-networkmanagement/samples/generated/v1beta1/organization_vpc_flow_logs_service.list_vpc_flow_logs_configs.js index 8594873f3d8..01cdd971301 100644 --- a/packages/google-cloud-networkmanagement/samples/generated/v1beta1/organization_vpc_flow_logs_service.list_vpc_flow_logs_configs.js +++ b/packages/google-cloud-networkmanagement/samples/generated/v1beta1/organization_vpc_flow_logs_service.list_vpc_flow_logs_configs.js @@ -31,7 +31,7 @@ function main(parent) { /** * 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/packages/google-cloud-networkmanagement/samples/generated/v1beta1/vpc_flow_logs_service.list_vpc_flow_logs_configs.js b/packages/google-cloud-networkmanagement/samples/generated/v1beta1/vpc_flow_logs_service.list_vpc_flow_logs_configs.js index 72ce57b0160..c97eca07934 100644 --- a/packages/google-cloud-networkmanagement/samples/generated/v1beta1/vpc_flow_logs_service.list_vpc_flow_logs_configs.js +++ b/packages/google-cloud-networkmanagement/samples/generated/v1beta1/vpc_flow_logs_service.list_vpc_flow_logs_configs.js @@ -31,7 +31,7 @@ function main(parent) { /** * 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/packages/google-cloud-networkmanagement/src/v1/organization_vpc_flow_logs_service_client.ts b/packages/google-cloud-networkmanagement/src/v1/organization_vpc_flow_logs_service_client.ts index 4a191a83db3..f7a7de87a59 100644 --- a/packages/google-cloud-networkmanagement/src/v1/organization_vpc_flow_logs_service_client.ts +++ b/packages/google-cloud-networkmanagement/src/v1/organization_vpc_flow_logs_service_client.ts @@ -227,10 +227,10 @@ export class OrganizationVpcFlowLogsServiceClient { lroOptions.protoJson = protoFilesRoot; lroOptions.httpRules = [{selector: 'google.cloud.location.Locations.GetLocation',get: '/v1/{name=projects/*/locations/*}',additional_bindings: [{get: '/v1/{name=organizations/*/locations/*}',}], },{selector: 'google.cloud.location.Locations.ListLocations',get: '/v1/{name=projects/*}/locations',additional_bindings: [{get: '/v1/{name=organizations/*}/locations',}], - },{selector: 'google.iam.v1.IAMPolicy.GetIamPolicy',get: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:getIamPolicy',},{selector: 'google.iam.v1.IAMPolicy.SetIamPolicy',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:setIamPolicy',body: '*',},{selector: 'google.iam.v1.IAMPolicy.TestIamPermissions',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:testIamPermissions',body: '*',},{selector: 'google.longrunning.Operations.CancelOperation',post: '/v1/{name=projects/*/locations/global/operations/*}:cancel',body: '*',additional_bindings: [{post: '/v1/{name=organizations/*/locations/*/operations/*}:cancel',body: '*',}], - },{selector: 'google.longrunning.Operations.DeleteOperation',delete: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{delete: '/v1/{name=organizations/*/locations/*/operations/*}',}], - },{selector: 'google.longrunning.Operations.GetOperation',get: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{get: '/v1/{name=organizations/*/locations/*/operations/*}',}], - },{selector: 'google.longrunning.Operations.ListOperations',get: '/v1/{name=projects/*/locations/global}/operations',additional_bindings: [{get: '/v1/{name=organizations/*/locations/*}/operations',}], + },{selector: 'google.iam.v1.IAMPolicy.GetIamPolicy',get: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:getIamPolicy',},{selector: 'google.iam.v1.IAMPolicy.SetIamPolicy',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:setIamPolicy',body: '*',},{selector: 'google.iam.v1.IAMPolicy.TestIamPermissions',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:testIamPermissions',body: '*',},{selector: 'google.longrunning.Operations.CancelOperation',post: '/v1/{name=projects/*/locations/global/operations/*}:cancel',body: '*',additional_bindings: [{post: '/v1/{name=organizations/*/locations/global/operations/*}:cancel',body: '*',}], + },{selector: 'google.longrunning.Operations.DeleteOperation',delete: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{delete: '/v1/{name=organizations/*/locations/global/operations/*}',}], + },{selector: 'google.longrunning.Operations.GetOperation',get: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{get: '/v1/{name=organizations/*/locations/global/operations/*}',}], + },{selector: 'google.longrunning.Operations.ListOperations',get: '/v1/{name=projects/*/locations/global}/operations',additional_bindings: [{get: '/v1/{name=organizations/*/locations/global}/operations',}], }]; } this.operationsClient = this._gaxModule.lro(lroOptions).operationsClient(opts); @@ -895,7 +895,7 @@ export class OrganizationVpcFlowLogsServiceClient { * 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` @@ -1006,7 +1006,7 @@ export class OrganizationVpcFlowLogsServiceClient { * 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` @@ -1066,7 +1066,7 @@ export class OrganizationVpcFlowLogsServiceClient { * 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/packages/google-cloud-networkmanagement/src/v1/reachability_service_client.ts b/packages/google-cloud-networkmanagement/src/v1/reachability_service_client.ts index ecb2e9afbe1..388796a2b5c 100644 --- a/packages/google-cloud-networkmanagement/src/v1/reachability_service_client.ts +++ b/packages/google-cloud-networkmanagement/src/v1/reachability_service_client.ts @@ -228,10 +228,10 @@ export class ReachabilityServiceClient { lroOptions.protoJson = protoFilesRoot; lroOptions.httpRules = [{selector: 'google.cloud.location.Locations.GetLocation',get: '/v1/{name=projects/*/locations/*}',additional_bindings: [{get: '/v1/{name=organizations/*/locations/*}',}], },{selector: 'google.cloud.location.Locations.ListLocations',get: '/v1/{name=projects/*}/locations',additional_bindings: [{get: '/v1/{name=organizations/*}/locations',}], - },{selector: 'google.iam.v1.IAMPolicy.GetIamPolicy',get: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:getIamPolicy',},{selector: 'google.iam.v1.IAMPolicy.SetIamPolicy',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:setIamPolicy',body: '*',},{selector: 'google.iam.v1.IAMPolicy.TestIamPermissions',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:testIamPermissions',body: '*',},{selector: 'google.longrunning.Operations.CancelOperation',post: '/v1/{name=projects/*/locations/global/operations/*}:cancel',body: '*',additional_bindings: [{post: '/v1/{name=organizations/*/locations/*/operations/*}:cancel',body: '*',}], - },{selector: 'google.longrunning.Operations.DeleteOperation',delete: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{delete: '/v1/{name=organizations/*/locations/*/operations/*}',}], - },{selector: 'google.longrunning.Operations.GetOperation',get: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{get: '/v1/{name=organizations/*/locations/*/operations/*}',}], - },{selector: 'google.longrunning.Operations.ListOperations',get: '/v1/{name=projects/*/locations/global}/operations',additional_bindings: [{get: '/v1/{name=organizations/*/locations/*}/operations',}], + },{selector: 'google.iam.v1.IAMPolicy.GetIamPolicy',get: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:getIamPolicy',},{selector: 'google.iam.v1.IAMPolicy.SetIamPolicy',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:setIamPolicy',body: '*',},{selector: 'google.iam.v1.IAMPolicy.TestIamPermissions',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:testIamPermissions',body: '*',},{selector: 'google.longrunning.Operations.CancelOperation',post: '/v1/{name=projects/*/locations/global/operations/*}:cancel',body: '*',additional_bindings: [{post: '/v1/{name=organizations/*/locations/global/operations/*}:cancel',body: '*',}], + },{selector: 'google.longrunning.Operations.DeleteOperation',delete: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{delete: '/v1/{name=organizations/*/locations/global/operations/*}',}], + },{selector: 'google.longrunning.Operations.GetOperation',get: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{get: '/v1/{name=organizations/*/locations/global/operations/*}',}], + },{selector: 'google.longrunning.Operations.ListOperations',get: '/v1/{name=projects/*/locations/global}/operations',additional_bindings: [{get: '/v1/{name=organizations/*/locations/global}/operations',}], }]; } this.operationsClient = this._gaxModule.lro(lroOptions).operationsClient(opts); diff --git a/packages/google-cloud-networkmanagement/src/v1/vpc_flow_logs_service_client.ts b/packages/google-cloud-networkmanagement/src/v1/vpc_flow_logs_service_client.ts index 4418c74e0b7..3231b793710 100644 --- a/packages/google-cloud-networkmanagement/src/v1/vpc_flow_logs_service_client.ts +++ b/packages/google-cloud-networkmanagement/src/v1/vpc_flow_logs_service_client.ts @@ -230,10 +230,10 @@ export class VpcFlowLogsServiceClient { lroOptions.protoJson = protoFilesRoot; lroOptions.httpRules = [{selector: 'google.cloud.location.Locations.GetLocation',get: '/v1/{name=projects/*/locations/*}',additional_bindings: [{get: '/v1/{name=organizations/*/locations/*}',}], },{selector: 'google.cloud.location.Locations.ListLocations',get: '/v1/{name=projects/*}/locations',additional_bindings: [{get: '/v1/{name=organizations/*}/locations',}], - },{selector: 'google.iam.v1.IAMPolicy.GetIamPolicy',get: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:getIamPolicy',},{selector: 'google.iam.v1.IAMPolicy.SetIamPolicy',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:setIamPolicy',body: '*',},{selector: 'google.iam.v1.IAMPolicy.TestIamPermissions',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:testIamPermissions',body: '*',},{selector: 'google.longrunning.Operations.CancelOperation',post: '/v1/{name=projects/*/locations/global/operations/*}:cancel',body: '*',additional_bindings: [{post: '/v1/{name=organizations/*/locations/*/operations/*}:cancel',body: '*',}], - },{selector: 'google.longrunning.Operations.DeleteOperation',delete: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{delete: '/v1/{name=organizations/*/locations/*/operations/*}',}], - },{selector: 'google.longrunning.Operations.GetOperation',get: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{get: '/v1/{name=organizations/*/locations/*/operations/*}',}], - },{selector: 'google.longrunning.Operations.ListOperations',get: '/v1/{name=projects/*/locations/global}/operations',additional_bindings: [{get: '/v1/{name=organizations/*/locations/*}/operations',}], + },{selector: 'google.iam.v1.IAMPolicy.GetIamPolicy',get: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:getIamPolicy',},{selector: 'google.iam.v1.IAMPolicy.SetIamPolicy',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:setIamPolicy',body: '*',},{selector: 'google.iam.v1.IAMPolicy.TestIamPermissions',post: '/v1/{resource=projects/*/locations/global/connectivityTests/*}:testIamPermissions',body: '*',},{selector: 'google.longrunning.Operations.CancelOperation',post: '/v1/{name=projects/*/locations/global/operations/*}:cancel',body: '*',additional_bindings: [{post: '/v1/{name=organizations/*/locations/global/operations/*}:cancel',body: '*',}], + },{selector: 'google.longrunning.Operations.DeleteOperation',delete: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{delete: '/v1/{name=organizations/*/locations/global/operations/*}',}], + },{selector: 'google.longrunning.Operations.GetOperation',get: '/v1/{name=projects/*/locations/global/operations/*}',additional_bindings: [{get: '/v1/{name=organizations/*/locations/global/operations/*}',}], + },{selector: 'google.longrunning.Operations.ListOperations',get: '/v1/{name=projects/*/locations/global}/operations',additional_bindings: [{get: '/v1/{name=organizations/*/locations/global}/operations',}], }]; } this.operationsClient = this._gaxModule.lro(lroOptions).operationsClient(opts); @@ -898,7 +898,7 @@ export class VpcFlowLogsServiceClient { * 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` @@ -1009,7 +1009,7 @@ export class VpcFlowLogsServiceClient { * 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` @@ -1069,7 +1069,7 @@ export class VpcFlowLogsServiceClient { * 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/packages/google-cloud-networkmanagement/src/v1beta1/organization_vpc_flow_logs_service_client.ts b/packages/google-cloud-networkmanagement/src/v1beta1/organization_vpc_flow_logs_service_client.ts index fff00d9fa74..799dd003211 100644 --- a/packages/google-cloud-networkmanagement/src/v1beta1/organization_vpc_flow_logs_service_client.ts +++ b/packages/google-cloud-networkmanagement/src/v1beta1/organization_vpc_flow_logs_service_client.ts @@ -895,7 +895,7 @@ export class OrganizationVpcFlowLogsServiceClient { * 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` @@ -1006,7 +1006,7 @@ export class OrganizationVpcFlowLogsServiceClient { * 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` @@ -1066,7 +1066,7 @@ export class OrganizationVpcFlowLogsServiceClient { * 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/packages/google-cloud-networkmanagement/src/v1beta1/vpc_flow_logs_service_client.ts b/packages/google-cloud-networkmanagement/src/v1beta1/vpc_flow_logs_service_client.ts index 36d7b5b680d..505151adb32 100644 --- a/packages/google-cloud-networkmanagement/src/v1beta1/vpc_flow_logs_service_client.ts +++ b/packages/google-cloud-networkmanagement/src/v1beta1/vpc_flow_logs_service_client.ts @@ -898,7 +898,7 @@ export class VpcFlowLogsServiceClient { * 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` @@ -1009,7 +1009,7 @@ export class VpcFlowLogsServiceClient { * 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` @@ -1069,7 +1069,7 @@ export class VpcFlowLogsServiceClient { * 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`