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' => [