diff --git a/NetworkManagement/metadata/V1/ConnectivityTest.php b/NetworkManagement/metadata/V1/ConnectivityTest.php
index 4b2fba6a9855..ea954ffbe505 100644
Binary files a/NetworkManagement/metadata/V1/ConnectivityTest.php and b/NetworkManagement/metadata/V1/ConnectivityTest.php differ
diff --git a/NetworkManagement/metadata/V1/Trace.php b/NetworkManagement/metadata/V1/Trace.php
index 8e6f2cf9cd76..5f4282bf8c7b 100644
Binary files a/NetworkManagement/metadata/V1/Trace.php and b/NetworkManagement/metadata/V1/Trace.php differ
diff --git a/NetworkManagement/samples/V1/OrganizationVpcFlowLogsServiceClient/list_vpc_flow_logs_configs.php b/NetworkManagement/samples/V1/OrganizationVpcFlowLogsServiceClient/list_vpc_flow_logs_configs.php
index 3d09793ba7d2..efe715bfc710 100644
--- a/NetworkManagement/samples/V1/OrganizationVpcFlowLogsServiceClient/list_vpc_flow_logs_configs.php
+++ b/NetworkManagement/samples/V1/OrganizationVpcFlowLogsServiceClient/list_vpc_flow_logs_configs.php
@@ -35,7 +35,7 @@
* @param string $formattedParent 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/NetworkManagement/samples/V1/VpcFlowLogsServiceClient/list_vpc_flow_logs_configs.php b/NetworkManagement/samples/V1/VpcFlowLogsServiceClient/list_vpc_flow_logs_configs.php
index e2599eaeddea..22655d8be0a0 100644
--- a/NetworkManagement/samples/V1/VpcFlowLogsServiceClient/list_vpc_flow_logs_configs.php
+++ b/NetworkManagement/samples/V1/VpcFlowLogsServiceClient/list_vpc_flow_logs_configs.php
@@ -35,7 +35,7 @@
* @param string $formattedParent 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/NetworkManagement/src/V1/AbortInfo/Cause.php b/NetworkManagement/src/V1/AbortInfo/Cause.php
index f28f6cb1bdee..e91197eea8e6 100644
--- a/NetworkManagement/src/V1/AbortInfo/Cause.php
+++ b/NetworkManagement/src/V1/AbortInfo/Cause.php
@@ -125,12 +125,34 @@ class Cause
*/
const 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.
*
* Generated from protobuf enum NO_SOURCE_LOCATION = 5;
*/
const NO_SOURCE_LOCATION = 5;
+ /**
+ * Aborted because the source IP address is not contained within the subnet
+ * ranges of the provided VPC network.
+ *
+ * Generated from protobuf enum NO_SOURCE_GCP_NETWORK_LOCATION = 42;
+ */
+ const 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.
+ *
+ * Generated from protobuf enum NO_SOURCE_NON_GCP_NETWORK_LOCATION = 43;
+ */
+ const NO_SOURCE_NON_GCP_NETWORK_LOCATION = 43;
+ /**
+ * Aborted because the source IP address can't be resolved as an Internet
+ * IP address.
+ *
+ * Generated from protobuf enum NO_SOURCE_INTERNET_LOCATION = 44;
+ */
+ const NO_SOURCE_INTERNET_LOCATION = 44;
/**
* Aborted because the source or destination endpoint specified in
* the request is invalid. Some examples:
@@ -228,6 +250,14 @@ class Cause
* Generated from protobuf enum SOURCE_PSC_CLOUD_SQL_UNSUPPORTED = 20;
*/
const 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.
+ *
+ * Generated from protobuf enum SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED = 45;
+ */
+ const SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED = 45;
/**
* Aborted because tests with a Redis Cluster as a source are not supported.
*
@@ -282,6 +312,14 @@ class Cause
* Generated from protobuf enum IP_VERSION_PROTOCOL_MISMATCH = 40;
*/
const 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.
+ *
+ * Generated from protobuf enum GKE_POD_UNKNOWN_ENDPOINT_LOCATION = 41;
+ */
+ const GKE_POD_UNKNOWN_ENDPOINT_LOCATION = 41;
private static $valueToName = [
self::CAUSE_UNSPECIFIED => 'CAUSE_UNSPECIFIED',
@@ -301,6 +339,9 @@ class Cause
self::PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS => 'PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS',
self::PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS => 'PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS',
self::NO_SOURCE_LOCATION => 'NO_SOURCE_LOCATION',
+ self::NO_SOURCE_GCP_NETWORK_LOCATION => 'NO_SOURCE_GCP_NETWORK_LOCATION',
+ self::NO_SOURCE_NON_GCP_NETWORK_LOCATION => 'NO_SOURCE_NON_GCP_NETWORK_LOCATION',
+ self::NO_SOURCE_INTERNET_LOCATION => 'NO_SOURCE_INTERNET_LOCATION',
self::INVALID_ARGUMENT => 'INVALID_ARGUMENT',
self::TRACE_TOO_LONG => 'TRACE_TOO_LONG',
self::INTERNAL_ERROR => 'INTERNAL_ERROR',
@@ -315,6 +356,7 @@ class Cause
self::GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT => 'GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT',
self::GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT => 'GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT',
self::SOURCE_PSC_CLOUD_SQL_UNSUPPORTED => 'SOURCE_PSC_CLOUD_SQL_UNSUPPORTED',
+ self::SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED => 'SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED',
self::SOURCE_REDIS_CLUSTER_UNSUPPORTED => 'SOURCE_REDIS_CLUSTER_UNSUPPORTED',
self::SOURCE_REDIS_INSTANCE_UNSUPPORTED => 'SOURCE_REDIS_INSTANCE_UNSUPPORTED',
self::SOURCE_FORWARDING_RULE_UNSUPPORTED => 'SOURCE_FORWARDING_RULE_UNSUPPORTED',
@@ -323,6 +365,7 @@ class Cause
self::UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG => 'UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG',
self::NO_SERVERLESS_IP_RANGES => 'NO_SERVERLESS_IP_RANGES',
self::IP_VERSION_PROTOCOL_MISMATCH => 'IP_VERSION_PROTOCOL_MISMATCH',
+ self::GKE_POD_UNKNOWN_ENDPOINT_LOCATION => 'GKE_POD_UNKNOWN_ENDPOINT_LOCATION',
];
public static function name($value)
diff --git a/NetworkManagement/src/V1/DeliverInfo/Target.php b/NetworkManagement/src/V1/DeliverInfo/Target.php
index 5b7310f647e0..27f795b4538b 100644
--- a/NetworkManagement/src/V1/DeliverInfo/Target.php
+++ b/NetworkManagement/src/V1/DeliverInfo/Target.php
@@ -124,6 +124,12 @@ class Target
* Generated from protobuf enum REDIS_CLUSTER = 17;
*/
const REDIS_CLUSTER = 17;
+ /**
+ * Target is a GKE Pod.
+ *
+ * Generated from protobuf enum GKE_POD = 19;
+ */
+ const GKE_POD = 19;
private static $valueToName = [
self::TARGET_UNSPECIFIED => 'TARGET_UNSPECIFIED',
@@ -144,6 +150,7 @@ class Target
self::GOOGLE_MANAGED_SERVICE => 'GOOGLE_MANAGED_SERVICE',
self::REDIS_INSTANCE => 'REDIS_INSTANCE',
self::REDIS_CLUSTER => 'REDIS_CLUSTER',
+ self::GKE_POD => 'GKE_POD',
];
public static function name($value)
diff --git a/NetworkManagement/src/V1/DropInfo/Cause.php b/NetworkManagement/src/V1/DropInfo/Cause.php
index 6c7bf1e70934..9209105a0da5 100644
--- a/NetworkManagement/src/V1/DropInfo/Cause.php
+++ b/NetworkManagement/src/V1/DropInfo/Cause.php
@@ -106,12 +106,17 @@ class Cause
*/
const 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.
*
* Generated from protobuf enum NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS = 44;
*/
const NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS = 44;
+ /**
+ * Packet is sent from the Internet to the private IPv4 address.
+ *
+ * Generated from protobuf enum NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS = 109;
+ */
+ const 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.
@@ -211,6 +216,12 @@ class Cause
* Generated from protobuf enum GKE_CLUSTER_NOT_RUNNING = 27;
*/
const GKE_CLUSTER_NOT_RUNNING = 27;
+ /**
+ * Packet sent from or to a GKE Pod that is not in running state.
+ *
+ * Generated from protobuf enum GKE_POD_NOT_RUNNING = 103;
+ */
+ const GKE_POD_NOT_RUNNING = 103;
/**
* Packet sent from or to a Cloud SQL instance that is not in running state.
*
@@ -648,6 +659,13 @@ class Cause
* Generated from protobuf enum NO_MATCHING_NAT64_GATEWAY = 90;
*/
const NO_MATCHING_NAT64_GATEWAY = 90;
+ /**
+ * Packet is dropped due to matching a Private NAT64 gateway with no rules
+ * for source IPv6 addresses.
+ *
+ * Generated from protobuf enum NO_CONFIGURED_PRIVATE_NAT64_RULE = 107;
+ */
+ const 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.
@@ -705,6 +723,13 @@ class Cause
* Generated from protobuf enum HYBRID_SUBNET_REGION_MISMATCH = 105;
*/
const HYBRID_SUBNET_REGION_MISMATCH = 105;
+ /**
+ * Packet is dropped because no matching route was found in the hybrid
+ * subnet.
+ *
+ * Generated from protobuf enum HYBRID_SUBNET_NO_ROUTE = 106;
+ */
+ const HYBRID_SUBNET_NO_ROUTE = 106;
private static $valueToName = [
self::CAUSE_UNSPECIFIED => 'CAUSE_UNSPECIFIED',
@@ -722,6 +747,7 @@ class Cause
self::ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED => 'ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED',
self::ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID => 'ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID',
self::NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS => 'NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS',
+ self::NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS => 'NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS',
self::NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS => 'NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS',
self::VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH => 'VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH',
self::VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH => 'VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH',
@@ -736,6 +762,7 @@ class Cause
self::INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS => 'INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS',
self::INSTANCE_NOT_RUNNING => 'INSTANCE_NOT_RUNNING',
self::GKE_CLUSTER_NOT_RUNNING => 'GKE_CLUSTER_NOT_RUNNING',
+ self::GKE_POD_NOT_RUNNING => 'GKE_POD_NOT_RUNNING',
self::CLOUD_SQL_INSTANCE_NOT_RUNNING => 'CLOUD_SQL_INSTANCE_NOT_RUNNING',
self::REDIS_INSTANCE_NOT_RUNNING => 'REDIS_INSTANCE_NOT_RUNNING',
self::REDIS_CLUSTER_NOT_RUNNING => 'REDIS_CLUSTER_NOT_RUNNING',
@@ -798,6 +825,7 @@ class Cause
self::UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION => 'UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION',
self::TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED => 'TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED',
self::NO_MATCHING_NAT64_GATEWAY => 'NO_MATCHING_NAT64_GATEWAY',
+ self::NO_CONFIGURED_PRIVATE_NAT64_RULE => 'NO_CONFIGURED_PRIVATE_NAT64_RULE',
self::LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH => 'LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH',
self::NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION => 'NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION',
self::CLOUD_NAT_PROTOCOL_UNSUPPORTED => 'CLOUD_NAT_PROTOCOL_UNSUPPORTED',
@@ -806,6 +834,7 @@ class Cause
self::L2_INTERCONNECT_DESTINATION_IP_MISMATCH => 'L2_INTERCONNECT_DESTINATION_IP_MISMATCH',
self::NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED => 'NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED',
self::HYBRID_SUBNET_REGION_MISMATCH => 'HYBRID_SUBNET_REGION_MISMATCH',
+ self::HYBRID_SUBNET_NO_ROUTE => 'HYBRID_SUBNET_NO_ROUTE',
];
public static function name($value)
diff --git a/NetworkManagement/src/V1/Endpoint.php b/NetworkManagement/src/V1/Endpoint.php
index 27df4ac7187c..1d3ed4f56a53 100644
--- a/NetworkManagement/src/V1/Endpoint.php
+++ b/NetworkManagement/src/V1/Endpoint.php
@@ -101,6 +101,13 @@ class Endpoint extends \Google\Protobuf\Internal\Message
* Generated from protobuf field string redis_cluster = 18;
*/
protected $redis_cluster = '';
+ /**
+ * A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod)
+ * URI.
+ *
+ * Generated from protobuf field string gke_pod = 21;
+ */
+ protected $gke_pod = '';
/**
* A [Cloud Function](https://cloud.google.com/functions). Applicable only to
* source endpoint.
@@ -125,29 +132,24 @@ class Endpoint extends \Google\Protobuf\Internal\Message
*/
protected $cloud_run_revision = null;
/**
- * 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.
*
* Generated from protobuf field string network = 4;
*/
protected $network = '';
/**
- * 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.
*
* Generated from protobuf field .google.cloud.networkmanagement.v1.Endpoint.NetworkType network_type = 5;
*/
protected $network_type = 0;
/**
- * 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.
*
* Generated from protobuf field string project_id = 6;
*/
@@ -197,6 +199,9 @@ class Endpoint extends \Google\Protobuf\Internal\Message
* @type string $redis_cluster
* A [Redis Cluster](https://cloud.google.com/memorystore/docs/cluster) URI.
* Applicable only to destination endpoint.
+ * @type string $gke_pod
+ * A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod)
+ * URI.
* @type \Google\Cloud\NetworkManagement\V1\Endpoint\CloudFunctionEndpoint $cloud_function
* A [Cloud Function](https://cloud.google.com/functions). Applicable only to
* source endpoint.
@@ -209,21 +214,16 @@ class Endpoint extends \Google\Protobuf\Internal\Message
* [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get)
* Applicable only to source endpoint.
* @type string $network
- * 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.
* @type int $network_type
- * 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.
* @type string $project_id
- * 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.
* }
*/
public function __construct($data = NULL) {
@@ -601,6 +601,34 @@ public function setRedisCluster($var)
return $this;
}
+ /**
+ * A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod)
+ * URI.
+ *
+ * Generated from protobuf field string gke_pod = 21;
+ * @return string
+ */
+ public function getGkePod()
+ {
+ return $this->gke_pod;
+ }
+
+ /**
+ * A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod)
+ * URI.
+ *
+ * Generated from protobuf field string gke_pod = 21;
+ * @param string $var
+ * @return $this
+ */
+ public function setGkePod($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->gke_pod = $var;
+
+ return $this;
+ }
+
/**
* A [Cloud Function](https://cloud.google.com/functions). Applicable only to
* source endpoint.
@@ -720,7 +748,10 @@ public function setCloudRunRevision($var)
}
/**
- * 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.
*
* Generated from protobuf field string network = 4;
* @return string
@@ -731,7 +762,10 @@ public function getNetwork()
}
/**
- * 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.
*
* Generated from protobuf field string network = 4;
* @param string $var
@@ -746,9 +780,8 @@ public function setNetwork($var)
}
/**
- * 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.
*
* Generated from protobuf field .google.cloud.networkmanagement.v1.Endpoint.NetworkType network_type = 5;
* @return int
@@ -759,9 +792,8 @@ public function getNetworkType()
}
/**
- * 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.
*
* Generated from protobuf field .google.cloud.networkmanagement.v1.Endpoint.NetworkType network_type = 5;
* @param int $var
@@ -776,15 +808,8 @@ public function setNetworkType($var)
}
/**
- * 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.
*
* Generated from protobuf field string project_id = 6;
* @return string
@@ -795,15 +820,8 @@ public function getProjectId()
}
/**
- * 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.
*
* Generated from protobuf field string project_id = 6;
* @param string $var
diff --git a/NetworkManagement/src/V1/Endpoint/NetworkType.php b/NetworkManagement/src/V1/Endpoint/NetworkType.php
index f599e1d7a469..58d09c972bad 100644
--- a/NetworkManagement/src/V1/Endpoint/NetworkType.php
+++ b/NetworkManagement/src/V1/Endpoint/NetworkType.php
@@ -7,40 +7,59 @@
use UnexpectedValueException;
/**
- * 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.
*
* Protobuf type google.cloud.networkmanagement.v1.Endpoint.NetworkType
*/
class 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.
*
* Generated from protobuf enum NETWORK_TYPE_UNSPECIFIED = 0;
*/
const 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.
*
* Generated from protobuf enum GCP_NETWORK = 1;
*/
const 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.
*
* Generated from protobuf enum NON_GCP_NETWORK = 2;
*/
const NON_GCP_NETWORK = 2;
+ /**
+ * Internet. Should be used for internet-routable external IP addresses or
+ * IP addresses for global Google APIs and services.
+ *
+ * Generated from protobuf enum INTERNET = 3;
+ */
+ const INTERNET = 3;
private static $valueToName = [
self::NETWORK_TYPE_UNSPECIFIED => 'NETWORK_TYPE_UNSPECIFIED',
self::GCP_NETWORK => 'GCP_NETWORK',
self::NON_GCP_NETWORK => 'NON_GCP_NETWORK',
+ self::INTERNET => 'INTERNET',
];
public static function name($value)
diff --git a/NetworkManagement/src/V1/FirewallInfo/FirewallRuleType.php b/NetworkManagement/src/V1/FirewallInfo/FirewallRuleType.php
index 18e07221342e..ee46bec5f778 100644
--- a/NetworkManagement/src/V1/FirewallInfo/FirewallRuleType.php
+++ b/NetworkManagement/src/V1/FirewallInfo/FirewallRuleType.php
@@ -53,7 +53,7 @@ class FirewallRuleType
*/
const 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).
*
@@ -61,13 +61,25 @@ class FirewallRuleType
*/
const 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).
*
* Generated from protobuf enum NETWORK_REGIONAL_FIREWALL_POLICY_RULE = 6;
*/
const NETWORK_REGIONAL_FIREWALL_POLICY_RULE = 6;
+ /**
+ * System-defined global network firewall policy rule.
+ *
+ * Generated from protobuf enum SYSTEM_NETWORK_FIREWALL_POLICY_RULE = 7;
+ */
+ const SYSTEM_NETWORK_FIREWALL_POLICY_RULE = 7;
+ /**
+ * System-defined regional network firewall policy rule.
+ *
+ * Generated from protobuf enum SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE = 8;
+ */
+ const 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
@@ -102,6 +114,8 @@ class FirewallRuleType
self::SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE => 'SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE',
self::NETWORK_FIREWALL_POLICY_RULE => 'NETWORK_FIREWALL_POLICY_RULE',
self::NETWORK_REGIONAL_FIREWALL_POLICY_RULE => 'NETWORK_REGIONAL_FIREWALL_POLICY_RULE',
+ self::SYSTEM_NETWORK_FIREWALL_POLICY_RULE => 'SYSTEM_NETWORK_FIREWALL_POLICY_RULE',
+ self::SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE => 'SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE',
self::UNSUPPORTED_FIREWALL_POLICY_RULE => 'UNSUPPORTED_FIREWALL_POLICY_RULE',
self::TRACKING_STATE => 'TRACKING_STATE',
self::ANALYSIS_SKIPPED => 'ANALYSIS_SKIPPED',
diff --git a/NetworkManagement/src/V1/GkePodInfo.php b/NetworkManagement/src/V1/GkePodInfo.php
new file mode 100644
index 000000000000..ab3c18a018c0
--- /dev/null
+++ b/NetworkManagement/src/V1/GkePodInfo.php
@@ -0,0 +1,156 @@
+google.cloud.networkmanagement.v1.GkePodInfo
+ */
+class GkePodInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * 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}`
+ *
+ * Generated from protobuf field string pod_uri = 1;
+ */
+ protected $pod_uri = '';
+ /**
+ * IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address
+ * relevant to the trace.
+ *
+ * Generated from protobuf field string ip_address = 2 [(.google.api.field_info) = {
+ */
+ protected $ip_address = '';
+ /**
+ * URI of the network containing the GKE Pod.
+ *
+ * Generated from protobuf field string network_uri = 3;
+ */
+ protected $network_uri = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $pod_uri
+ * 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}`
+ * @type string $ip_address
+ * IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address
+ * relevant to the trace.
+ * @type string $network_uri
+ * URI of the network containing the GKE Pod.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Cloud\Networkmanagement\V1\Trace::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * 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}`
+ *
+ * Generated from protobuf field string pod_uri = 1;
+ * @return string
+ */
+ public function getPodUri()
+ {
+ return $this->pod_uri;
+ }
+
+ /**
+ * 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}`
+ *
+ * Generated from protobuf field string pod_uri = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setPodUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->pod_uri = $var;
+
+ return $this;
+ }
+
+ /**
+ * IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address
+ * relevant to the trace.
+ *
+ * Generated from protobuf field string ip_address = 2 [(.google.api.field_info) = {
+ * @return string
+ */
+ public function getIpAddress()
+ {
+ return $this->ip_address;
+ }
+
+ /**
+ * IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address
+ * relevant to the trace.
+ *
+ * Generated from protobuf field string ip_address = 2 [(.google.api.field_info) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setIpAddress($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->ip_address = $var;
+
+ return $this;
+ }
+
+ /**
+ * URI of the network containing the GKE Pod.
+ *
+ * Generated from protobuf field string network_uri = 3;
+ * @return string
+ */
+ public function getNetworkUri()
+ {
+ return $this->network_uri;
+ }
+
+ /**
+ * URI of the network containing the GKE Pod.
+ *
+ * Generated from protobuf field string network_uri = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setNetworkUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->network_uri = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/NetworkManagement/src/V1/IpMasqueradingSkippedInfo.php b/NetworkManagement/src/V1/IpMasqueradingSkippedInfo.php
new file mode 100644
index 000000000000..d426a84c1892
--- /dev/null
+++ b/NetworkManagement/src/V1/IpMasqueradingSkippedInfo.php
@@ -0,0 +1,110 @@
+google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo
+ */
+class IpMasqueradingSkippedInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Reason why IP masquerading was not applied.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason reason = 1;
+ */
+ protected $reason = 0;
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string non_masquerade_range = 2;
+ */
+ protected $non_masquerade_range = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $reason
+ * Reason why IP masquerading was not applied.
+ * @type string $non_masquerade_range
+ * 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.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Cloud\Networkmanagement\V1\Trace::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Reason why IP masquerading was not applied.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason reason = 1;
+ * @return int
+ */
+ public function getReason()
+ {
+ return $this->reason;
+ }
+
+ /**
+ * Reason why IP masquerading was not applied.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason reason = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setReason($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Cloud\NetworkManagement\V1\IpMasqueradingSkippedInfo\Reason::class);
+ $this->reason = $var;
+
+ return $this;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string non_masquerade_range = 2;
+ * @return string
+ */
+ public function getNonMasqueradeRange()
+ {
+ return $this->non_masquerade_range;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string non_masquerade_range = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNonMasqueradeRange($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->non_masquerade_range = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/NetworkManagement/src/V1/IpMasqueradingSkippedInfo/Reason.php b/NetworkManagement/src/V1/IpMasqueradingSkippedInfo/Reason.php
new file mode 100644
index 000000000000..062c715f8dc4
--- /dev/null
+++ b/NetworkManagement/src/V1/IpMasqueradingSkippedInfo/Reason.php
@@ -0,0 +1,101 @@
+google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason
+ */
+class Reason
+{
+ /**
+ * Unused default value.
+ *
+ * Generated from protobuf enum REASON_UNSPECIFIED = 0;
+ */
+ const REASON_UNSPECIFIED = 0;
+ /**
+ * Masquerading not applied because destination IP is in one of configured
+ * non-masquerade ranges.
+ *
+ * Generated from protobuf enum DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE = 1;
+ */
+ const DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE = 1;
+ /**
+ * Masquerading not applied because destination IP is in one of default
+ * non-masquerade ranges.
+ *
+ * Generated from protobuf enum DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE = 2;
+ */
+ const DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE = 2;
+ /**
+ * Masquerading not applied because destination is on the same Node.
+ *
+ * Generated from protobuf enum DESTINATION_ON_SAME_NODE = 3;
+ */
+ const DESTINATION_ON_SAME_NODE = 3;
+ /**
+ * Masquerading not applied because ip-masq-agent doesn't exist and default
+ * SNAT is disabled.
+ *
+ * Generated from protobuf enum DEFAULT_SNAT_DISABLED = 4;
+ */
+ const DEFAULT_SNAT_DISABLED = 4;
+ /**
+ * Masquerading not applied because the packet's IP version is IPv6.
+ *
+ * Generated from protobuf enum NO_MASQUERADING_FOR_IPV6 = 5;
+ */
+ const 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.
+ *
+ * Generated from protobuf enum POD_USES_NODE_NETWORK_NAMESPACE = 6;
+ */
+ const POD_USES_NODE_NETWORK_NAMESPACE = 6;
+ /**
+ * Masquerading not applied because the packet is a return packet.
+ *
+ * Generated from protobuf enum NO_MASQUERADING_FOR_RETURN_PACKET = 7;
+ */
+ const NO_MASQUERADING_FOR_RETURN_PACKET = 7;
+
+ private static $valueToName = [
+ self::REASON_UNSPECIFIED => 'REASON_UNSPECIFIED',
+ self::DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE => 'DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE',
+ self::DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE => 'DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE',
+ self::DESTINATION_ON_SAME_NODE => 'DESTINATION_ON_SAME_NODE',
+ self::DEFAULT_SNAT_DISABLED => 'DEFAULT_SNAT_DISABLED',
+ self::NO_MASQUERADING_FOR_IPV6 => 'NO_MASQUERADING_FOR_IPV6',
+ self::POD_USES_NODE_NETWORK_NAMESPACE => 'POD_USES_NODE_NETWORK_NAMESPACE',
+ self::NO_MASQUERADING_FOR_RETURN_PACKET => 'NO_MASQUERADING_FOR_RETURN_PACKET',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+
diff --git a/NetworkManagement/src/V1/ListVpcFlowLogsConfigsRequest.php b/NetworkManagement/src/V1/ListVpcFlowLogsConfigsRequest.php
index 71327dcf6722..34a42ff012ba 100644
--- a/NetworkManagement/src/V1/ListVpcFlowLogsConfigsRequest.php
+++ b/NetworkManagement/src/V1/ListVpcFlowLogsConfigsRequest.php
@@ -18,7 +18,7 @@ class ListVpcFlowLogsConfigsRequest extends \Google\Protobuf\Internal\Message
/**
* 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`
*
@@ -57,7 +57,7 @@ class ListVpcFlowLogsConfigsRequest extends \Google\Protobuf\Internal\Message
* @param string $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`
@@ -82,7 +82,7 @@ public static function build(string $parent): self
* @type string $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`
* @type int $page_size
@@ -106,7 +106,7 @@ public function __construct($data = NULL) {
/**
* 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`
*
@@ -121,7 +121,7 @@ public function getParent()
/**
* 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/NetworkManagement/src/V1/NatInfo.php b/NetworkManagement/src/V1/NatInfo.php
index 0b290c387878..c87c0106c1da 100644
--- a/NetworkManagement/src/V1/NatInfo.php
+++ b/NetworkManagement/src/V1/NatInfo.php
@@ -95,6 +95,12 @@ class NatInfo extends \Google\Protobuf\Internal\Message
* Generated from protobuf field string nat_gateway_name = 13;
*/
protected $nat_gateway_name = '';
+ /**
+ * Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType cloud_nat_gateway_type = 14;
+ */
+ protected $cloud_nat_gateway_type = 0;
/**
* Constructor.
@@ -130,6 +136,8 @@ class NatInfo extends \Google\Protobuf\Internal\Message
* Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
* @type string $nat_gateway_name
* The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
+ * @type int $cloud_nat_gateway_type
+ * Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
* }
*/
public function __construct($data = NULL) {
@@ -479,5 +487,31 @@ public function setNatGatewayName($var)
return $this;
}
+ /**
+ * Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType cloud_nat_gateway_type = 14;
+ * @return int
+ */
+ public function getCloudNatGatewayType()
+ {
+ return $this->cloud_nat_gateway_type;
+ }
+
+ /**
+ * Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType cloud_nat_gateway_type = 14;
+ * @param int $var
+ * @return $this
+ */
+ public function setCloudNatGatewayType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Cloud\NetworkManagement\V1\NatInfo\CloudNatGatewayType::class);
+ $this->cloud_nat_gateway_type = $var;
+
+ return $this;
+ }
+
}
diff --git a/NetworkManagement/src/V1/NatInfo/CloudNatGatewayType.php b/NetworkManagement/src/V1/NatInfo/CloudNatGatewayType.php
new file mode 100644
index 000000000000..f8181b2012ef
--- /dev/null
+++ b/NetworkManagement/src/V1/NatInfo/CloudNatGatewayType.php
@@ -0,0 +1,83 @@
+google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType
+ */
+class CloudNatGatewayType
+{
+ /**
+ * Type is unspecified.
+ *
+ * Generated from protobuf enum CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED = 0;
+ */
+ const CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED = 0;
+ /**
+ * Public NAT gateway.
+ *
+ * Generated from protobuf enum PUBLIC_NAT44 = 1;
+ */
+ const PUBLIC_NAT44 = 1;
+ /**
+ * Public NAT64 gateway.
+ *
+ * Generated from protobuf enum PUBLIC_NAT64 = 2;
+ */
+ const PUBLIC_NAT64 = 2;
+ /**
+ * Private NAT gateway for NCC.
+ *
+ * Generated from protobuf enum PRIVATE_NAT_NCC = 3;
+ */
+ const PRIVATE_NAT_NCC = 3;
+ /**
+ * Private NAT gateway for hybrid connectivity.
+ *
+ * Generated from protobuf enum PRIVATE_NAT_HYBRID = 4;
+ */
+ const PRIVATE_NAT_HYBRID = 4;
+ /**
+ * Private NAT64 gateway.
+ *
+ * Generated from protobuf enum PRIVATE_NAT64 = 5;
+ */
+ const PRIVATE_NAT64 = 5;
+
+ private static $valueToName = [
+ self::CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED => 'CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED',
+ self::PUBLIC_NAT44 => 'PUBLIC_NAT44',
+ self::PUBLIC_NAT64 => 'PUBLIC_NAT64',
+ self::PRIVATE_NAT_NCC => 'PRIVATE_NAT_NCC',
+ self::PRIVATE_NAT_HYBRID => 'PRIVATE_NAT_HYBRID',
+ self::PRIVATE_NAT64 => 'PRIVATE_NAT64',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+
diff --git a/NetworkManagement/src/V1/Step.php b/NetworkManagement/src/V1/Step.php
index 2f9ac6db3e39..0df8d7a4b492 100644
--- a/NetworkManagement/src/V1/Step.php
+++ b/NetworkManagement/src/V1/Step.php
@@ -100,6 +100,11 @@ class Step extends \Google\Protobuf\Internal\Message
* Display information of a Google Cloud network.
* @type \Google\Cloud\NetworkManagement\V1\GKEMasterInfo $gke_master
* Display information of a Google Kubernetes Engine cluster master.
+ * @type \Google\Cloud\NetworkManagement\V1\GkePodInfo $gke_pod
+ * Display information of a Google Kubernetes Engine Pod.
+ * @type \Google\Cloud\NetworkManagement\V1\IpMasqueradingSkippedInfo $ip_masquerading_skipped
+ * Display information of the reason why GKE Pod IP masquerading was
+ * skipped.
* @type \Google\Cloud\NetworkManagement\V1\CloudSQLInstanceInfo $cloud_sql_instance
* Display information of a Cloud SQL instance.
* @type \Google\Cloud\NetworkManagement\V1\RedisInstanceInfo $redis_instance
@@ -871,6 +876,70 @@ public function setGkeMaster($var)
return $this;
}
+ /**
+ * Display information of a Google Kubernetes Engine Pod.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.GkePodInfo gke_pod = 37;
+ * @return \Google\Cloud\NetworkManagement\V1\GkePodInfo|null
+ */
+ public function getGkePod()
+ {
+ return $this->readOneof(37);
+ }
+
+ public function hasGkePod()
+ {
+ return $this->hasOneof(37);
+ }
+
+ /**
+ * Display information of a Google Kubernetes Engine Pod.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.GkePodInfo gke_pod = 37;
+ * @param \Google\Cloud\NetworkManagement\V1\GkePodInfo $var
+ * @return $this
+ */
+ public function setGkePod($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\NetworkManagement\V1\GkePodInfo::class);
+ $this->writeOneof(37, $var);
+
+ return $this;
+ }
+
+ /**
+ * Display information of the reason why GKE Pod IP masquerading was
+ * skipped.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo ip_masquerading_skipped = 38;
+ * @return \Google\Cloud\NetworkManagement\V1\IpMasqueradingSkippedInfo|null
+ */
+ public function getIpMasqueradingSkipped()
+ {
+ return $this->readOneof(38);
+ }
+
+ public function hasIpMasqueradingSkipped()
+ {
+ return $this->hasOneof(38);
+ }
+
+ /**
+ * Display information of the reason why GKE Pod IP masquerading was
+ * skipped.
+ *
+ * Generated from protobuf field .google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo ip_masquerading_skipped = 38;
+ * @param \Google\Cloud\NetworkManagement\V1\IpMasqueradingSkippedInfo $var
+ * @return $this
+ */
+ public function setIpMasqueradingSkipped($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\NetworkManagement\V1\IpMasqueradingSkippedInfo::class);
+ $this->writeOneof(38, $var);
+
+ return $this;
+ }
+
/**
* Display information of a Cloud SQL instance.
*
diff --git a/NetworkManagement/src/V1/Step/State.php b/NetworkManagement/src/V1/Step/State.php
index 57023ce6b99e..40bf8cd52b4d 100644
--- a/NetworkManagement/src/V1/Step/State.php
+++ b/NetworkManagement/src/V1/Step/State.php
@@ -64,6 +64,13 @@ class State
* Generated from protobuf enum START_FROM_CLOUD_SQL_INSTANCE = 22;
*/
const START_FROM_CLOUD_SQL_INSTANCE = 22;
+ /**
+ * Initial state: packet originating from a Google Kubernetes Engine Pod.
+ * A GkePodInfo is populated with starting Pod information.
+ *
+ * Generated from protobuf enum START_FROM_GKE_POD = 39;
+ */
+ const START_FROM_GKE_POD = 39;
/**
* Initial state: packet originating from a Redis instance.
* A RedisInstanceInfo is populated with starting instance information.
@@ -229,6 +236,13 @@ class State
* Generated from protobuf enum NAT = 14;
*/
const NAT = 14;
+ /**
+ * Transition state: GKE Pod IP masquerading is skipped. The
+ * `ip_masquerading_skipped` field is populated with the reason.
+ *
+ * Generated from protobuf enum SKIP_GKE_POD_IP_MASQUERADING = 40;
+ */
+ const SKIP_GKE_POD_IP_MASQUERADING = 40;
/**
* Transition state: original connection is terminated and a new proxied
* connection is initiated.
@@ -277,6 +291,7 @@ class State
self::START_FROM_PRIVATE_NETWORK => 'START_FROM_PRIVATE_NETWORK',
self::START_FROM_GKE_MASTER => 'START_FROM_GKE_MASTER',
self::START_FROM_CLOUD_SQL_INSTANCE => 'START_FROM_CLOUD_SQL_INSTANCE',
+ self::START_FROM_GKE_POD => 'START_FROM_GKE_POD',
self::START_FROM_REDIS_INSTANCE => 'START_FROM_REDIS_INSTANCE',
self::START_FROM_REDIS_CLUSTER => 'START_FROM_REDIS_CLUSTER',
self::START_FROM_CLOUD_FUNCTION => 'START_FROM_CLOUD_FUNCTION',
@@ -302,6 +317,7 @@ class State
self::DIRECT_VPC_EGRESS_CONNECTION => 'DIRECT_VPC_EGRESS_CONNECTION',
self::SERVERLESS_EXTERNAL_CONNECTION => 'SERVERLESS_EXTERNAL_CONNECTION',
self::NAT => 'NAT',
+ self::SKIP_GKE_POD_IP_MASQUERADING => 'SKIP_GKE_POD_IP_MASQUERADING',
self::PROXY_CONNECTION => 'PROXY_CONNECTION',
self::DELIVER => 'DELIVER',
self::DROP => 'DROP',
diff --git a/NetworkManagement/src/V1/resources/organization_vpc_flow_logs_service_rest_client_config.php b/NetworkManagement/src/V1/resources/organization_vpc_flow_logs_service_rest_client_config.php
index 24c88457f0a3..6228a202a6f6 100644
--- a/NetworkManagement/src/V1/resources/organization_vpc_flow_logs_service_rest_client_config.php
+++ b/NetworkManagement/src/V1/resources/organization_vpc_flow_logs_service_rest_client_config.php
@@ -169,7 +169,7 @@
'additionalBindings' => [
[
'method' => 'post',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*/operations/*}:cancel',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global/operations/*}:cancel',
'body' => '*',
],
],
@@ -187,7 +187,7 @@
'additionalBindings' => [
[
'method' => 'delete',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*/operations/*}',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global/operations/*}',
],
],
'placeholders' => [
@@ -204,7 +204,7 @@
'additionalBindings' => [
[
'method' => 'get',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*/operations/*}',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global/operations/*}',
],
],
'placeholders' => [
@@ -221,7 +221,7 @@
'additionalBindings' => [
[
'method' => 'get',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*}/operations',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global}/operations',
],
],
'placeholders' => [
diff --git a/NetworkManagement/src/V1/resources/reachability_service_rest_client_config.php b/NetworkManagement/src/V1/resources/reachability_service_rest_client_config.php
index 1ebffa3c5a35..33c79e4c81a5 100644
--- a/NetworkManagement/src/V1/resources/reachability_service_rest_client_config.php
+++ b/NetworkManagement/src/V1/resources/reachability_service_rest_client_config.php
@@ -181,7 +181,7 @@
'additionalBindings' => [
[
'method' => 'post',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*/operations/*}:cancel',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global/operations/*}:cancel',
'body' => '*',
],
],
@@ -199,7 +199,7 @@
'additionalBindings' => [
[
'method' => 'delete',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*/operations/*}',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global/operations/*}',
],
],
'placeholders' => [
@@ -216,7 +216,7 @@
'additionalBindings' => [
[
'method' => 'get',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*/operations/*}',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global/operations/*}',
],
],
'placeholders' => [
@@ -233,7 +233,7 @@
'additionalBindings' => [
[
'method' => 'get',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*}/operations',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global}/operations',
],
],
'placeholders' => [
diff --git a/NetworkManagement/src/V1/resources/vpc_flow_logs_service_rest_client_config.php b/NetworkManagement/src/V1/resources/vpc_flow_logs_service_rest_client_config.php
index f19e9ce8414a..afcf1fe55919 100644
--- a/NetworkManagement/src/V1/resources/vpc_flow_logs_service_rest_client_config.php
+++ b/NetworkManagement/src/V1/resources/vpc_flow_logs_service_rest_client_config.php
@@ -191,7 +191,7 @@
'additionalBindings' => [
[
'method' => 'post',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*/operations/*}:cancel',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global/operations/*}:cancel',
'body' => '*',
],
],
@@ -209,7 +209,7 @@
'additionalBindings' => [
[
'method' => 'delete',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*/operations/*}',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global/operations/*}',
],
],
'placeholders' => [
@@ -226,7 +226,7 @@
'additionalBindings' => [
[
'method' => 'get',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*/operations/*}',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global/operations/*}',
],
],
'placeholders' => [
@@ -243,7 +243,7 @@
'additionalBindings' => [
[
'method' => 'get',
- 'uriTemplate' => '/v1/{name=organizations/*/locations/*}/operations',
+ 'uriTemplate' => '/v1/{name=organizations/*/locations/global}/operations',
],
],
'placeholders' => [