Skip to content

Commit eae1943

Browse files
Google APIscopybara-github
authored andcommitted
docs: Various documentation and comment improvements, Enable organization-level support for VPC Flow Logs
feat: Enable organization-level support for VPC Flow Logs feat: add field `service_uri` to message `Endpoint.CloudRunRevisionEndpoint` feat: add message `Endpoint.SingleEdgeResponse` feat: add http additional_bindings feat: add enum `Status` to message `InstanceInfo` feat: add field `running` to message `InstanceInfo` feat: add field `policy_priority` to message `NetworkInfo` feat: add enum value `RouteInfo.NextHopType.SECURE_WEB_PROXY_GATEWAY` feat: add enum `DeliverInfo.GoogleServiceType` feat: add field `google_service_type` to message `DeliverInfo` feat: add enum value `AbortInfo.Cause.GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT` feat: add enum values `NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS`, `TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED`, `NO_MATCHING_NAT64_GATEWAY`, `LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH`, and `NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION` to `DropInfo.Cause` feat: add rpc `VpcFlowLogsService.QueryOrgVpcFlowLogsConfigs` feat: add service `OrganizationVpcFlowLogsService` feat: add enum `VpcFlowLogsConfig.CrossProjectMetadata` feat: add enum `VpcFlowLogsConfig.TargetResourceState` feat: add fields `cross_project_metadata`, `target_resource_state`, `network`, and `subnet` to message `VpcFlowLogsConfig` PiperOrigin-RevId: 778807926
1 parent fd0d8aa commit eae1943

File tree

6 files changed

+426
-44
lines changed

6 files changed

+426
-44
lines changed

google/cloud/networkmanagement/v1beta1/BUILD.bazel

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ java_gapic_library(
102102
java_gapic_test(
103103
name = "networkmanagement_java_gapic_test_suite",
104104
test_classes = [
105+
# This test is temporarily disabled due to the issue:
106+
# https://github.com/googleapis/sdk-platform-java/issues/1839
107+
# "com.google.cloud.networkmanagement.v1beta1.OrganizationVpcFlowLogsServiceClientHttpJsonTest",
108+
"com.google.cloud.networkmanagement.v1beta1.OrganizationVpcFlowLogsServiceClientTest",
105109
# This test is temporarily disabled due to the issue:
106110
# https://github.com/googleapis/sdk-platform-java/issues/1839
107111
# "com.google.cloud.networkmanagement.v1beta1.ReachabilityServiceClientHttpJsonTest",
@@ -360,7 +364,6 @@ load(
360364

361365
csharp_proto_library(
362366
name = "networkmanagement_csharp_proto",
363-
extra_opts = [],
364367
deps = [":networkmanagement_proto"],
365368
)
366369

google/cloud/networkmanagement/v1beta1/connectivity_test.proto

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,11 @@ message Endpoint {
173173
// URI. The format is:
174174
// projects/{project}/locations/{location}/revisions/{revision}
175175
string uri = 1;
176+
177+
// Output only. The URI of the Cloud Run service that the revision belongs
178+
// to. The format is:
179+
// projects/{project}/locations/{location}/services/{service}
180+
string service_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
176181
}
177182

178183
// The IP address of the endpoint, which can be an external or internal IP.
@@ -376,6 +381,34 @@ message ProbingDetails {
376381
string metropolitan_area = 1;
377382
}
378383

384+
// Probing results for a single edge device.
385+
message SingleEdgeResponse {
386+
// The overall result of active probing for this egress device.
387+
ProbingResult result = 1;
388+
389+
// Number of probes sent.
390+
int32 sent_probe_count = 2;
391+
392+
// Number of probes that reached the destination.
393+
int32 successful_probe_count = 3;
394+
395+
// Latency as measured by active probing in one direction: from the source
396+
// to the destination endpoint.
397+
LatencyDistribution probing_latency = 4;
398+
399+
// The EdgeLocation from which a packet, destined to the internet, will
400+
// egress the Google network.
401+
// This will only be populated for a connectivity test which has an internet
402+
// destination address.
403+
// The absence of this field *must not* be used as an indication that the
404+
// destination is part of the Google network.
405+
EdgeLocation destination_egress_location = 5;
406+
407+
// Router name in the format '{router}.{metroshard}'. For example:
408+
// pf01.aaa01, pr02.aaa01.
409+
string destination_router = 6;
410+
}
411+
379412
// The overall result of active probing.
380413
ProbingResult result = 1;
381414

@@ -402,11 +435,17 @@ message ProbingDetails {
402435
// from the source to the destination endpoint.
403436
LatencyDistribution probing_latency = 8;
404437

405-
// The EdgeLocation from which a packet destined for/originating from the
406-
// internet will egress/ingress the Google network.
438+
// The EdgeLocation from which a packet, destined to the internet, will egress
439+
// the Google network.
407440
// This will only be populated for a connectivity test which has an internet
408-
// destination/source address.
441+
// destination address.
409442
// The absence of this field *must not* be used as an indication that the
410-
// destination/source is part of the Google network.
443+
// destination is part of the Google network.
411444
EdgeLocation destination_egress_location = 9;
445+
446+
// Probing results for all edge devices.
447+
repeated SingleEdgeResponse edge_responses = 10;
448+
449+
// Whether all relevant edge devices were probed.
450+
bool probed_all_devices = 11;
412451
}

google/cloud/networkmanagement/v1beta1/networkmanagement_v1beta1.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ title: Network Management API
55

66
apis:
77
- name: google.cloud.location.Locations
8+
- name: google.cloud.networkmanagement.v1beta1.OrganizationVpcFlowLogsService
89
- name: google.cloud.networkmanagement.v1beta1.ReachabilityService
910
- name: google.cloud.networkmanagement.v1beta1.VpcFlowLogsService
1011
- name: google.iam.v1.IAMPolicy
@@ -51,8 +52,12 @@ http:
5152
rules:
5253
- selector: google.cloud.location.Locations.GetLocation
5354
get: '/v1beta1/{name=projects/*/locations/*}'
55+
additional_bindings:
56+
- get: '/v1beta1/{name=organizations/*/locations/*}'
5457
- selector: google.cloud.location.Locations.ListLocations
5558
get: '/v1beta1/{name=projects/*}/locations'
59+
additional_bindings:
60+
- get: '/v1beta1/{name=organizations/*}/locations'
5661
- selector: google.iam.v1.IAMPolicy.GetIamPolicy
5762
get: '/v1beta1/{resource=projects/*/locations/global/connectivityTests/*}:getIamPolicy'
5863
- selector: google.iam.v1.IAMPolicy.SetIamPolicy
@@ -64,12 +69,21 @@ http:
6469
- selector: google.longrunning.Operations.CancelOperation
6570
post: '/v1beta1/{name=projects/*/locations/global/operations/*}:cancel'
6671
body: '*'
72+
additional_bindings:
73+
- post: '/v1beta1/{name=organizations/*/locations/global/operations/*}:cancel'
74+
body: '*'
6775
- selector: google.longrunning.Operations.DeleteOperation
6876
delete: '/v1beta1/{name=projects/*/locations/global/operations/*}'
77+
additional_bindings:
78+
- delete: '/v1beta1/{name=organizations/*/locations/global/operations/*}'
6979
- selector: google.longrunning.Operations.GetOperation
7080
get: '/v1beta1/{name=projects/*/locations/global/operations/*}'
81+
additional_bindings:
82+
- get: '/v1beta1/{name=organizations/*/locations/global/operations/*}'
7183
- selector: google.longrunning.Operations.ListOperations
7284
get: '/v1beta1/{name=projects/*/locations/global}/operations'
85+
additional_bindings:
86+
- get: '/v1beta1/{name=organizations/*/locations/global}/operations'
7387

7488
authentication:
7589
rules:
@@ -81,6 +95,10 @@ authentication:
8195
oauth:
8296
canonical_scopes: |-
8397
https://www.googleapis.com/auth/cloud-platform
98+
- selector: 'google.cloud.networkmanagement.v1beta1.OrganizationVpcFlowLogsService.*'
99+
oauth:
100+
canonical_scopes: |-
101+
https://www.googleapis.com/auth/cloud-platform
84102
- selector: 'google.cloud.networkmanagement.v1beta1.ReachabilityService.*'
85103
oauth:
86104
canonical_scopes: |-

google/cloud/networkmanagement/v1beta1/trace.proto

Lines changed: 96 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,19 @@ message Step {
316316

317317
// For display only. Metadata associated with a Compute Engine instance.
318318
message InstanceInfo {
319+
// The status of the instance. We treat all states other than "RUNNING" as
320+
// not running.
321+
enum Status {
322+
// Default unspecified value.
323+
STATUS_UNSPECIFIED = 0;
324+
325+
// The instance is running.
326+
RUNNING = 1;
327+
328+
// The instance has any status other than "RUNNING".
329+
NOT_RUNNING = 2;
330+
}
331+
319332
// Name of a Compute Engine instance.
320333
string display_name = 1;
321334

@@ -342,10 +355,16 @@ message InstanceInfo {
342355

343356
// URI of the PSC network attachment the NIC is attached to (if relevant).
344357
string psc_network_attachment_uri = 9;
358+
359+
// Indicates whether the Compute Engine instance is running.
360+
// Deprecated: use the `status` field instead.
361+
bool running = 10 [deprecated = true];
362+
363+
// The status of the instance.
364+
Status status = 11;
345365
}
346366

347367
// For display only. Metadata associated with a Compute Engine network.
348-
// Next ID: 7
349368
message NetworkInfo {
350369
// Name of a Compute Engine network.
351370
string display_name = 1;
@@ -459,6 +478,11 @@ message FirewallInfo {
459478

460479
// The firewall rule's type.
461480
FirewallRuleType firewall_rule_type = 10;
481+
482+
// The priority of the firewall policy that this rule is associated with.
483+
// This field is not applicable to VPC firewall rules and implied VPC firewall
484+
// rules.
485+
int32 policy_priority = 12;
462486
}
463487

464488
// For display only. Metadata associated with a Compute Engine route.
@@ -544,6 +568,9 @@ message RouteInfo {
544568
// Next hop is an NCC hub. This scenario only happens when the user doesn't
545569
// have permissions to the project where the next hop resource is located.
546570
NEXT_HOP_NCC_HUB = 12;
571+
572+
// Next hop is Secure Web Proxy Gateway.
573+
SECURE_WEB_PROXY_GATEWAY = 13;
547574
}
548575

549576
// Indicates where routes are applicable.
@@ -986,6 +1013,35 @@ message DeliverInfo {
9861013
REDIS_CLUSTER = 17;
9871014
}
9881015

1016+
// Recognized type of a Google Service.
1017+
enum GoogleServiceType {
1018+
// Unspecified Google Service.
1019+
GOOGLE_SERVICE_TYPE_UNSPECIFIED = 0;
1020+
1021+
// Identity aware proxy.
1022+
// https://cloud.google.com/iap/docs/using-tcp-forwarding
1023+
IAP = 1;
1024+
1025+
// One of two services sharing IP ranges:
1026+
// * Load Balancer proxy
1027+
// * Centralized Health Check prober
1028+
// https://cloud.google.com/load-balancing/docs/firewall-rules
1029+
GFE_PROXY_OR_HEALTH_CHECK_PROBER = 2;
1030+
1031+
// Connectivity from Cloud DNS to forwarding targets or alternate name
1032+
// servers that use private routing.
1033+
// https://cloud.google.com/dns/docs/zones/forwarding-zones#firewall-rules
1034+
// https://cloud.google.com/dns/docs/policies#firewall-rules
1035+
CLOUD_DNS = 3;
1036+
1037+
// private.googleapis.com and restricted.googleapis.com
1038+
PRIVATE_GOOGLE_ACCESS = 4;
1039+
1040+
// Google API via Serverless VPC Access.
1041+
// https://cloud.google.com/vpc/docs/serverless-vpc-access
1042+
SERVERLESS_VPC_ACCESS = 5;
1043+
}
1044+
9891045
// Target type where the packet is delivered to.
9901046
Target target = 1;
9911047

@@ -1001,6 +1057,10 @@ message DeliverInfo {
10011057

10021058
// PSC Google API target the packet is delivered to (if applicable).
10031059
string psc_google_api_target = 5;
1060+
1061+
// Recognized type of a Google Service the packet is delivered to (if
1062+
// applicable).
1063+
GoogleServiceType google_service_type = 6;
10041064
}
10051065

10061066
// Details of the final state "forward" and associated resource.
@@ -1036,6 +1096,9 @@ message ForwardInfo {
10361096

10371097
// Forwarded to a router appliance.
10381098
ROUTER_APPLIANCE = 9;
1099+
1100+
// Forwarded to a Secure Web Proxy Gateway.
1101+
SECURE_WEB_PROXY_GATEWAY = 10;
10391102
}
10401103

10411104
// Target type where this packet is forwarded to.
@@ -1162,10 +1225,14 @@ message AbortInfo {
11621225
// Aborted because expected route configuration was missing.
11631226
ROUTE_CONFIG_NOT_FOUND = 27;
11641227

1165-
// Aborted because a PSC endpoint selection for the Google-managed service
1228+
// Aborted because PSC endpoint selection for the Google-managed service
11661229
// is ambiguous (several PSC endpoints satisfy test input).
11671230
GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT = 19;
11681231

1232+
// Aborted because endpoint selection for the Google-managed service is
1233+
// ambiguous (several endpoints satisfy test input).
1234+
GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT = 39;
1235+
11691236
// Aborted because tests with a PSC-based Cloud SQL instance as a source are
11701237
// not supported.
11711238
SOURCE_PSC_CLOUD_SQL_UNSUPPORTED = 20;
@@ -1265,9 +1332,14 @@ message DropInfo {
12651332
// rule of the internal passthrough load balancer).
12661333
ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID = 53;
12671334

1268-
// Packet is sent from the Internet to the private IPv6 address.
1335+
// Packet is sent from the Internet or Google service to the private IPv6
1336+
// address.
12691337
NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS = 44;
12701338

1339+
// Packet is sent from the external IPv6 source address of an instance to
1340+
// the private IPv6 address of an instance.
1341+
NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS = 98;
1342+
12711343
// The packet does not match a policy-based VPN tunnel local selector.
12721344
VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH = 45;
12731345

@@ -1277,18 +1349,18 @@ message DropInfo {
12771349
// Packet with internal destination address sent to the internet gateway.
12781350
PRIVATE_TRAFFIC_TO_INTERNET = 7;
12791351

1280-
// Instance with only an internal IP address tries to access Google API and
1281-
// services, but private Google access is not enabled in the subnet.
1352+
// Endpoint with only an internal IP address tries to access Google API and
1353+
// services, but Private Google Access is not enabled in the subnet or is
1354+
// not applicable.
12821355
PRIVATE_GOOGLE_ACCESS_DISALLOWED = 8;
12831356

12841357
// Source endpoint tries to access Google API and services through the VPN
12851358
// tunnel to another network, but Private Google Access needs to be enabled
12861359
// in the source endpoint network.
12871360
PRIVATE_GOOGLE_ACCESS_VIA_VPN_TUNNEL_UNSUPPORTED = 47;
12881361

1289-
// Instance with only an internal IP address tries to access external hosts,
1290-
// but Cloud NAT is not enabled in the subnet, unless special configurations
1291-
// on a VM allow this connection.
1362+
// Endpoint with only an internal IP address tries to access external hosts,
1363+
// but there is no matching Cloud NAT gateway in the subnet.
12921364
NO_EXTERNAL_ADDRESS = 9;
12931365

12941366
// Destination internal address cannot be resolved to a known target. If
@@ -1563,6 +1635,22 @@ message DropInfo {
15631635
// Packet with destination IP address within the reserved NAT64 range is
15641636
// dropped due to matching a route of an unsupported type.
15651637
UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION = 88;
1638+
1639+
// Packet could be dropped because hybrid endpoint like a VPN gateway or
1640+
// Interconnect is not allowed to send traffic to the Internet.
1641+
TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED = 89;
1642+
1643+
// Packet with destination IP address within the reserved NAT64 range is
1644+
// dropped due to no matching NAT gateway in the subnet.
1645+
NO_MATCHING_NAT64_GATEWAY = 90;
1646+
1647+
// Packet is dropped due to being sent to a backend of a passthrough load
1648+
// balancer that doesn't use the same IP version as the frontend.
1649+
LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH = 96;
1650+
1651+
// Packet from the unknown NCC network is dropped due to no known route
1652+
// from the source network to the destination IP address.
1653+
NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION = 97;
15661654
}
15671655

15681656
// Cause that the packet is dropped.

0 commit comments

Comments
 (0)