Skip to content

Commit 3343c4e

Browse files
Google APIscopybara-github
authored andcommitted
feat: add fields and messages for GKE Pods and IP masquerading
docs: update comments PiperOrigin-RevId: 859595508
1 parent 45500ac commit 3343c4e

File tree

6 files changed

+198
-38
lines changed

6 files changed

+198
-38
lines changed

google/cloud/networkmanagement/v1/connectivity_test.proto

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025 Google LLC
1+
// Copyright 2026 Google LLC
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -116,21 +116,37 @@ message ConnectivityTest {
116116

117117
// Source or destination of the Connectivity Test.
118118
message Endpoint {
119-
// The type definition of an endpoint's network. Use one of the
120-
// following choices:
119+
// The type of the network of the IP address endpoint. Relevant for the source
120+
// IP address endpoints.
121121
enum NetworkType {
122-
// Default type if unspecified.
122+
// Unspecified. The test will analyze all possible IP address locations.
123+
// This might take longer and produce inaccurate or ambiguous results, so
124+
// prefer specifying an explicit network type.
125+
//
126+
// The `project_id` field should be set to the project where the GCP
127+
// endpoint is located, or where the non-GCP endpoint should be reachable
128+
// from (via routes to non-GCP networks). The project might also be inferred
129+
// from the Connectivity Test project or other projects referenced in the
130+
// request.
123131
NETWORK_TYPE_UNSPECIFIED = 0;
124132

125-
// A network hosted within Google Cloud.
126-
// To receive more detailed output, specify the URI for the source or
127-
// destination network.
133+
// A VPC network. Should be used for internal IP addresses in VPC networks.
134+
// The `network` field should be set to the URI of this network. Only
135+
// endpoints within this network will be considered.
128136
GCP_NETWORK = 1;
129137

130-
// A network hosted outside of Google Cloud.
131-
// This can be an on-premises network, an internet resource or a network
132-
// hosted by another cloud provider.
138+
// A non-GCP network (for example, an on-premises network or another cloud
139+
// provider network). Should be used for internal IP addresses outside of
140+
// Google Cloud. The `network` field should be set to the URI of the VPC
141+
// network containing a corresponding Cloud VPN tunnel, Cloud Interconnect
142+
// VLAN attachment, or a router appliance instance. Only endpoints reachable
143+
// from the provided VPC network via the routes to non-GCP networks will be
144+
// considered.
133145
NON_GCP_NETWORK = 2;
146+
147+
// Internet. Should be used for internet-routable external IP addresses or
148+
// IP addresses for global Google APIs and services.
149+
INTERNET = 3;
134150
}
135151

136152
// Type of the target of a forwarding rule.
@@ -233,6 +249,10 @@ message Endpoint {
233249
// Applicable only to destination endpoint.
234250
string redis_cluster = 18;
235251

252+
// A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod)
253+
// URI.
254+
string gke_pod = 21;
255+
236256
// A [Cloud Function](https://cloud.google.com/functions). Applicable only to
237257
// source endpoint.
238258
CloudFunctionEndpoint cloud_function = 10;
@@ -247,23 +267,18 @@ message Endpoint {
247267
// Applicable only to source endpoint.
248268
CloudRunRevisionEndpoint cloud_run_revision = 12;
249269

250-
// A VPC network URI.
270+
// A VPC network URI. For source endpoints, used according to the
271+
// `network_type`. For destination endpoints, used only when the source is an
272+
// external IP address endpoint, and the destination is an internal IP address
273+
// endpoint.
251274
string network = 4;
252275

253-
// Type of the network where the endpoint is located.
254-
// Applicable only to source endpoint, as destination network type can be
255-
// inferred from the source.
276+
// For source endpoints, type of the network where the endpoint is located.
277+
// Not relevant for destination endpoints.
256278
NetworkType network_type = 5;
257279

258-
// Project ID where the endpoint is located.
259-
// The project ID can be derived from the URI if you provide a endpoint or
260-
// network URI.
261-
// The following are two cases where you may need to provide the project ID:
262-
// 1. Only the IP address is specified, and the IP address is within a Google
263-
// Cloud project.
264-
// 2. When you are using Shared VPC and the IP address that you provide is
265-
// from the service project. In this case, the network that the IP address
266-
// resides in is defined in the host project.
280+
// For source endpoints, endpoint project ID. Used according to the
281+
// `network_type`. Not relevant for destination endpoints.
267282
string project_id = 6;
268283
}
269284

google/cloud/networkmanagement/v1/networkmanagement_v1.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,20 +70,20 @@ http:
7070
post: '/v1/{name=projects/*/locations/global/operations/*}:cancel'
7171
body: '*'
7272
additional_bindings:
73-
- post: '/v1/{name=organizations/*/locations/*/operations/*}:cancel'
73+
- post: '/v1/{name=organizations/*/locations/global/operations/*}:cancel'
7474
body: '*'
7575
- selector: google.longrunning.Operations.DeleteOperation
7676
delete: '/v1/{name=projects/*/locations/global/operations/*}'
7777
additional_bindings:
78-
- delete: '/v1/{name=organizations/*/locations/*/operations/*}'
78+
- delete: '/v1/{name=organizations/*/locations/global/operations/*}'
7979
- selector: google.longrunning.Operations.GetOperation
8080
get: '/v1/{name=projects/*/locations/global/operations/*}'
8181
additional_bindings:
82-
- get: '/v1/{name=organizations/*/locations/*/operations/*}'
82+
- get: '/v1/{name=organizations/*/locations/global/operations/*}'
8383
- selector: google.longrunning.Operations.ListOperations
8484
get: '/v1/{name=projects/*/locations/global}/operations'
8585
additional_bindings:
86-
- get: '/v1/{name=organizations/*/locations/*}/operations'
86+
- get: '/v1/{name=organizations/*/locations/global}/operations'
8787

8888
authentication:
8989
rules:

google/cloud/networkmanagement/v1/reachability.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025 Google LLC
1+
// Copyright 2026 Google LLC
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.

0 commit comments

Comments
 (0)