feat: add Network Connectivity Center APIs for PSC service automation

docs: update some documentation.

PiperOrigin-RevId: 739170914
This commit is contained in:
Google APIs 2025-03-21 07:19:31 -07:00 committed by Copybara-Service
parent bad8d92019
commit d2dcfcf40f
7 changed files with 1659 additions and 89 deletions

View file

@ -25,6 +25,7 @@ proto_library(
name = "networkconnectivity_proto",
srcs = [
"common.proto",
"cross_network_automation.proto",
"hub.proto",
"policy_based_routing.proto",
],
@ -35,6 +36,8 @@ proto_library(
"//google/api:field_info_proto",
"//google/api:resource_proto",
"//google/longrunning:operations_proto",
"//google/rpc:error_details_proto",
"//google/rpc:status_proto",
"@com_google_protobuf//:empty_proto",
"@com_google_protobuf//:field_mask_proto",
"@com_google_protobuf//:timestamp_proto",
@ -99,6 +102,7 @@ java_gapic_library(
java_gapic_test(
name = "networkconnectivity_java_gapic_test_suite",
test_classes = [
"com.google.cloud.networkconnectivity.v1.CrossNetworkAutomationServiceClientTest",
"com.google.cloud.networkconnectivity.v1.HubServiceClientTest",
"com.google.cloud.networkconnectivity.v1.PolicyBasedRoutingServiceClientTest",
],
@ -137,6 +141,8 @@ go_proto_library(
deps = [
"//google/api:annotations_go_proto",
"//google/longrunning:longrunning_go_proto",
"//google/rpc:errdetails_go_proto",
"//google/rpc:status_go_proto",
],
)
@ -352,7 +358,6 @@ load(
csharp_proto_library(
name = "networkconnectivity_csharp_proto",
extra_opts = [],
deps = [":networkconnectivity_proto"],
)

View file

@ -35,6 +35,14 @@ option (google.api.resource_definition) = {
type: "compute.googleapis.com/Network"
pattern: "projects/{project}/global/networks/{resource_id}"
};
option (google.api.resource_definition) = {
type: "compute.googleapis.com/Subnetwork"
pattern: "projects/{project}/regions/{region}/subnetworks/{subnetwork}"
};
option (google.api.resource_definition) = {
type: "compute.googleapis.com/ServiceAttachment"
pattern: "projects/{project}/regions/{region}/serviceAttachments/{service_attachment}"
};
// Represents the metadata of the long-running operation.
message OperationMetadata {
@ -57,9 +65,10 @@ message OperationMetadata {
// Output only. Identifies whether the user has requested cancellation
// of the operation. Operations that have been cancelled successfully
// have [Operation.error][] value with a
// [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
// `Code.CANCELLED`.
// have
// [google.longrunning.Operation.error][google.longrunning.Operation.error]
// value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
// corresponding to `Code.CANCELLED`.
bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. API version used to start the operation.

File diff suppressed because it is too large Load diff

View file

@ -200,6 +200,34 @@ service HubService {
};
}
// Accepts a proposal to update a Network Connectivity Center spoke in a hub.
rpc AcceptSpokeUpdate(AcceptSpokeUpdateRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/global/hubs/*}:acceptSpokeUpdate"
body: "*"
};
option (google.api.method_signature) = "name,spoke_uri,spoke_etag";
option (google.longrunning.operation_info) = {
response_type: "AcceptSpokeUpdateResponse"
metadata_type: "OperationMetadata"
};
}
// Rejects a proposal to update a Network Connectivity Center spoke in a hub.
rpc RejectSpokeUpdate(RejectSpokeUpdateRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/global/hubs/*}:rejectSpokeUpdate"
body: "*"
};
option (google.api.method_signature) = "name,spoke_uri,spoke_etag";
option (google.longrunning.operation_info) = {
response_type: "RejectSpokeUpdateResponse"
metadata_type: "OperationMetadata"
};
}
// Deletes a Network Connectivity Center spoke.
rpc DeleteSpoke(DeleteSpokeRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
@ -336,6 +364,11 @@ enum State {
// The hub associated with this spoke resource has been deleted.
// This state applies to spoke resources only.
OBSOLETE = 10;
// The resource is in an undefined state due to resource creation or deletion
// failure. You can try to delete the resource later or contact support for
// help.
FAILED = 11;
}
// The SpokeType enum represents the type of spoke. The type
@ -416,8 +449,8 @@ message Hub {
// labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
map<string, string> labels = 4;
// An optional description of the hub.
string description = 5;
// Optional. An optional description of the hub.
string description = 5 [(google.api.field_behavior) = OPTIONAL];
// Output only. The Google-generated UUID for the hub. This value is unique
// across all hub resources. If a hub is deleted and another with the same
@ -460,10 +493,10 @@ message Hub {
// the preset_topology is set to PRESET_TOPOLOGY_UNSPECIFIED.
PresetTopology preset_topology = 14 [(google.api.field_behavior) = OPTIONAL];
// Optional. Whether Private Service Connect transitivity is enabled for the
// hub. If true, Private Service Connect endpoints in VPC spokes attached to
// the hub are made accessible to other VPC spokes attached to the hub.
// The default value is false.
// Optional. Whether Private Service Connect connection propagation is enabled
// for the hub. If true, Private Service Connect endpoints in VPC spokes
// attached to the hub are made accessible to other VPC spokes attached to the
// hub. The default value is false.
optional bool export_psc = 15 [(google.api.field_behavior) = OPTIONAL];
}
@ -519,6 +552,16 @@ message Spoke {
// Network Connectivity Center encountered errors while accepting
// the spoke.
FAILED = 4;
// The proposed spoke update is pending review.
UPDATE_PENDING_REVIEW = 5;
// The proposed spoke update has been rejected by the hub administrator.
UPDATE_REJECTED = 6;
// Network Connectivity Center encountered errors while accepting
// the spoke update.
UPDATE_FAILED = 7;
}
// The code associated with this reason.
@ -549,8 +592,8 @@ message Spoke {
// labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
map<string, string> labels = 4;
// An optional description of the spoke.
string description = 5;
// Optional. An optional description of the spoke.
string description = 5 [(google.api.field_behavior) = OPTIONAL];
// Immutable. The name of the hub that this spoke is attached to.
string hub = 6 [
@ -568,14 +611,17 @@ message Spoke {
}
];
// VPN tunnels that are associated with the spoke.
LinkedVpnTunnels linked_vpn_tunnels = 17;
// Optional. VPN tunnels that are associated with the spoke.
LinkedVpnTunnels linked_vpn_tunnels = 17
[(google.api.field_behavior) = OPTIONAL];
// VLAN attachments that are associated with the spoke.
LinkedInterconnectAttachments linked_interconnect_attachments = 18;
// Optional. VLAN attachments that are associated with the spoke.
LinkedInterconnectAttachments linked_interconnect_attachments = 18
[(google.api.field_behavior) = OPTIONAL];
// Router appliance instances that are associated with the spoke.
LinkedRouterApplianceInstances linked_router_appliance_instances = 19;
// Optional. Router appliance instances that are associated with the spoke.
LinkedRouterApplianceInstances linked_router_appliance_instances = 19
[(google.api.field_behavior) = OPTIONAL];
// Optional. VPC network that is associated with the spoke.
LinkedVpcNetwork linked_vpc_network = 20
@ -593,12 +639,20 @@ message Spoke {
// Output only. The current lifecycle state of this spoke.
State state = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The reasons for current state of the spoke. Only present when
// the spoke is in the `INACTIVE` state.
// Output only. The reasons for current state of the spoke.
repeated StateReason reasons = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The type of resource associated with the spoke.
SpokeType spoke_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. This checksum is computed by the server based on the value of
// other fields, and may be sent on update and delete requests to ensure the
// client has an up-to-date value before proceeding.
string etag = 27 [(google.api.field_behavior) = OPTIONAL];
// Optional. The list of fields waiting for hub administration's approval.
repeated string field_paths_pending_update = 28
[(google.api.field_behavior) = OPTIONAL];
}
message RouteTable {
@ -774,10 +828,11 @@ message Group {
// state, and it must be reviewed and accepted by a hub
// administrator.
message AutoAccept {
// A list of project ids or project numbers for which you want
// Optional. A list of project ids or project numbers for which you want
// to enable auto-accept. The auto-accept setting is applied to
// spokes being created or updated in these projects.
repeated string auto_accept_projects = 1;
repeated string auto_accept_projects = 1
[(google.api.field_behavior) = OPTIONAL];
}
// Request for
@ -1376,6 +1431,107 @@ message RejectHubSpokeResponse {
Spoke spoke = 1;
}
// The request for
// [HubService.AcceptSpokeUpdate][google.cloud.networkconnectivity.v1.HubService.AcceptSpokeUpdate].
message AcceptSpokeUpdateRequest {
// Required. The name of the hub to accept spoke update.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "networkconnectivity.googleapis.com/Hub"
}
];
// Required. The URI of the spoke to accept update.
string spoke_uri = 2 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "networkconnectivity.googleapis.com/Spoke"
}
];
// Required. The etag of the spoke to accept update.
string spoke_etag = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. A request ID to identify requests. Specify a unique request ID so
// that if you must retry your request, the server knows to ignore the request
// if it has already been completed. The server guarantees that a request
// doesn't result in creation of duplicate commitments for at least 60
// minutes.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check to see whether the original operation
// was received. If it was, the server ignores the second request. This
// behavior prevents clients from mistakenly creating duplicate commitments.
//
// The request ID must be a valid UUID, with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 4 [
(google.api.field_info).format = UUID4,
(google.api.field_behavior) = OPTIONAL
];
}
// The response for
// [HubService.AcceptSpokeUpdate][google.cloud.networkconnectivity.v1.HubService.AcceptSpokeUpdate].
message AcceptSpokeUpdateResponse {
// The spoke that was operated on.
Spoke spoke = 1;
}
// The request for
// [HubService.RejectSpokeUpdate][google.cloud.networkconnectivity.v1.HubService.RejectSpokeUpdate].
message RejectSpokeUpdateRequest {
// Required. The name of the hub to reject spoke update.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "networkconnectivity.googleapis.com/Hub"
}
];
// Required. The URI of the spoke to reject update.
string spoke_uri = 2 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "networkconnectivity.googleapis.com/Spoke"
}
];
// Required. The etag of the spoke to reject update.
string spoke_etag = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. Additional information provided by the hub administrator.
string details = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. A request ID to identify requests. Specify a unique request ID so
// that if you must retry your request, the server knows to ignore the request
// if it has already been completed. The server guarantees that a request
// doesn't result in creation of duplicate commitments for at least 60
// minutes.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check to see whether the original operation
// was received. If it was, the server ignores the second request. This
// behavior prevents clients from mistakenly creating duplicate commitments.
//
// The request ID must be a valid UUID, with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 5 [
(google.api.field_info).format = UUID4,
(google.api.field_behavior) = OPTIONAL
];
}
// The response for
// [HubService.RejectSpokeUpdate][google.cloud.networkconnectivity.v1.HubService.RejectSpokeUpdate].
message RejectSpokeUpdateResponse {
// The spoke that was operated on.
Spoke spoke = 1;
}
// The request for
// [HubService.GetRouteTable][google.cloud.networkconnectivity.v1.HubService.GetRouteTable].
message GetRouteTableRequest {
@ -1622,9 +1778,23 @@ message LinkedVpcNetwork {
repeated string include_export_ranges = 3
[(google.api.field_behavior) = OPTIONAL];
// Optional. The proposed include export IP ranges waiting for hub
// administration's approval.
repeated string proposed_include_export_ranges = 5
[(google.api.field_behavior) = OPTIONAL];
// Output only. The proposed exclude export IP ranges waiting for hub
// administration's approval.
repeated string proposed_exclude_export_ranges = 6
[(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The list of Producer VPC spokes that this VPC spoke is a
// service consumer VPC spoke for. These producer VPCs are connected through
// VPC peering to this spoke's backing VPC network.
// VPC peering to this spoke's backing VPC network. Because they are directly
// connected throuh VPC peering, NCC export filters do not apply between the
// service consumer VPC spoke and any of its producer VPC spokes. This VPC
// spoke cannot be deleted as long as any of these producer VPC spokes are
// connected to the NCC Hub.
repeated string producer_vpc_spokes = 4 [
(google.api.field_behavior) = OUTPUT_ONLY,
(google.api.resource_reference) = {
@ -1667,6 +1837,16 @@ message LinkedProducerVpcNetwork {
// Optional. IP ranges allowed to be included from peering.
repeated string include_export_ranges = 4
[(google.api.field_behavior) = OPTIONAL];
// Optional. The proposed include export IP ranges waiting for hub
// administration's approval.
repeated string proposed_include_export_ranges = 7
[(google.api.field_behavior) = OPTIONAL];
// Output only. The proposed exclude export IP ranges waiting for hub
// administration's approval.
repeated string proposed_exclude_export_ranges = 8
[(google.api.field_behavior) = OUTPUT_ONLY];
}
// A router appliance instance is a Compute Engine virtual machine (VM) instance

View file

@ -5,6 +5,7 @@ title: Network Connectivity API
apis:
- name: google.cloud.location.Locations
- name: google.cloud.networkconnectivity.v1.CrossNetworkAutomationService
- name: google.cloud.networkconnectivity.v1.HubService
- name: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
- name: google.iam.v1.IAMPolicy
@ -61,6 +62,9 @@ http:
- get: '/v1/{resource=projects/*/locations/global/hubs/*/groups/*}:getIamPolicy'
- get: '/v1/{resource=projects/*/locations/*/spokes/*}:getIamPolicy'
- get: '/v1/{resource=projects/*/locations/global/policyBasedRoutes/*}:getIamPolicy'
- get: '/v1/{resource=projects/*/locations/*/serviceConnectionMaps/*}:getIamPolicy'
- get: '/v1/{resource=projects/*/locations/*/serviceConnectionPolicies/*}:getIamPolicy'
- get: '/v1/{resource=projects/*/locations/*/serviceClasses/*}:getIamPolicy'
- selector: google.iam.v1.IAMPolicy.SetIamPolicy
post: '/v1/{resource=projects/*/locations/global/hubs/*}:setIamPolicy'
body: '*'
@ -71,6 +75,12 @@ http:
body: '*'
- post: '/v1/{resource=projects/*/locations/global/policyBasedRoutes/*}:setIamPolicy'
body: '*'
- post: '/v1/{resource=projects/*/locations/*/serviceConnectionMaps/*}:setIamPolicy'
body: '*'
- post: '/v1/{resource=projects/*/locations/*/serviceConnectionPolicies/*}:setIamPolicy'
body: '*'
- post: '/v1/{resource=projects/*/locations/*/serviceClasses/*}:setIamPolicy'
body: '*'
- selector: google.iam.v1.IAMPolicy.TestIamPermissions
post: '/v1/{resource=projects/*/locations/global/hubs/*}:testIamPermissions'
body: '*'
@ -81,6 +91,12 @@ http:
body: '*'
- post: '/v1/{resource=projects/*/locations/global/policyBasedRoutes/*}:testIamPermissions'
body: '*'
- post: '/v1/{resource=projects/*/locations/*/serviceConnectionMaps/*}:testIamPermissions'
body: '*'
- post: '/v1/{resource=projects/*/locations/*/serviceConnectionPolicies/*}:testIamPermissions'
body: '*'
- post: '/v1/{resource=projects/*/locations/*/serviceClasses/*}:testIamPermissions'
body: '*'
- selector: google.longrunning.Operations.CancelOperation
post: '/v1/{name=projects/*/locations/*/operations/*}:cancel'
body: '*'
@ -101,6 +117,10 @@ authentication:
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.cloud.networkconnectivity.v1.CrossNetworkAutomationService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.cloud.networkconnectivity.v1.HubService.*'
oauth:
canonical_scopes: |-

View file

@ -40,7 +40,7 @@ service PolicyBasedRoutingService {
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform";
// Lists PolicyBasedRoutes in a given project and location.
// Lists policy-based routes in a given project and location.
rpc ListPolicyBasedRoutes(ListPolicyBasedRoutesRequest)
returns (ListPolicyBasedRoutesResponse) {
option (google.api.http) = {
@ -49,7 +49,7 @@ service PolicyBasedRoutingService {
option (google.api.method_signature) = "parent";
}
// Gets details of a single PolicyBasedRoute.
// Gets details of a single policy-based route.
rpc GetPolicyBasedRoute(GetPolicyBasedRouteRequest)
returns (PolicyBasedRoute) {
option (google.api.http) = {
@ -58,7 +58,7 @@ service PolicyBasedRoutingService {
option (google.api.method_signature) = "name";
}
// Creates a new PolicyBasedRoute in a given project and location.
// Creates a new policy-based route in a given project and location.
rpc CreatePolicyBasedRoute(CreatePolicyBasedRouteRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
@ -73,7 +73,7 @@ service PolicyBasedRoutingService {
};
}
// Deletes a single PolicyBasedRoute.
// Deletes a single policy-based route.
rpc DeletePolicyBasedRoute(DeletePolicyBasedRouteRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
@ -87,28 +87,26 @@ service PolicyBasedRoutingService {
}
}
// Policy Based Routes (PBR) are more powerful routes that allows GCP customers
// to route their L4 network traffic based on not just destination IP, but also
// source IP, protocol and more. A PBR always take precedence when it conflicts
// with other types of routes.
// Next id: 22
// Policy-based routes route L4 network traffic based on not just destination IP
// address, but also source IP address, protocol, and more. If a policy-based
// route conflicts with other types of routes, the policy-based route always
// takes precedence.
message PolicyBasedRoute {
option (google.api.resource) = {
type: "networkconnectivity.googleapis.com/PolicyBasedRoute"
pattern: "projects/{project}/locations/global/PolicyBasedRoutes/{policy_based_route}"
};
// VM instances to which this policy based route applies to.
// VM instances that this policy-based route applies to.
message VirtualMachine {
// Optional. A list of VM instance tags to which this policy based route
// applies to. VM instances that have ANY of tags specified here will
// install this PBR.
// Optional. A list of VM instance tags that this policy-based route applies
// to. VM instances that have ANY of tags specified here installs this PBR.
repeated string tags = 1 [(google.api.field_behavior) = OPTIONAL];
}
// InterconnectAttachment to which this route applies to.
// InterconnectAttachment that this route applies to.
message InterconnectAttachment {
// Optional. Cloud region to install this policy based route on interconnect
// Optional. Cloud region to install this policy-based route on interconnect
// attachment. Use `all` to install it on all interconnect attachments.
string region = 1 [(google.api.field_behavior) = OPTIONAL];
}
@ -124,39 +122,39 @@ message PolicyBasedRoute {
IPV4 = 1;
}
// Optional. The IP protocol that this policy based route applies to. Valid
// Optional. The IP protocol that this policy-based route applies to. Valid
// values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
string ip_protocol = 1 [(google.api.field_behavior) = OPTIONAL];
// Optional. The source IP range of outgoing packets that this policy based
// Optional. The source IP range of outgoing packets that this policy-based
// route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
string src_range = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. The destination IP range of outgoing packets that this policy
// based route applies to. Default is "0.0.0.0/0" if protocol version is
// IPv4.
// Optional. The destination IP range of outgoing packets that this
// policy-based route applies to. Default is "0.0.0.0/0" if protocol version
// is IPv4.
string dest_range = 3 [(google.api.field_behavior) = OPTIONAL];
// Required. Internet protocol versions this policy based route applies to.
// For this version, only IPV4 is supported.
// Required. Internet protocol versions this policy-based route applies to.
// For this version, only IPV4 is supported. IPV6 is supported in preview.
ProtocolVersion protocol_version = 6
[(google.api.field_behavior) = REQUIRED];
}
// Informational warning message.
message Warnings {
// Warning code for Policy Based Routing. Expect to add values in the
// Warning code for policy-based routing. Expect to add values in the
// future.
enum Code {
// Default value.
WARNING_UNSPECIFIED = 0;
// The policy based route is not active and functioning. Common causes are
// the dependent network was deleted or the resource project was turned
// off.
// The policy-based route is not active and functioning. Common causes are
// that the dependent network was deleted or the resource project was
// turned off.
RESOURCE_NOT_ACTIVE = 1;
// The policy based route is being modified (e.g. created/deleted) at this
// The policy-based route is being modified (e.g. created/deleted) at this
// time.
RESOURCE_BEING_MODIFIED = 2;
}
@ -182,29 +180,30 @@ message PolicyBasedRoute {
OTHER_ROUTES_UNSPECIFIED = 0;
// Use the routes from the default routing tables (system-generated routes,
// custom routes, peering route) to determine the next hop. This will
// effectively exclude matching packets being applied on other PBRs with a
// lower priority.
// custom routes, peering route) to determine the next hop. This effectively
// excludes matching packets being applied on other PBRs with a lower
// priority.
DEFAULT_ROUTING = 1;
}
// Target specifies network endpoints to which this policy based route applies
// to. If none of the target is specified, the PBR will be installed on all
// network endpoints (e.g. VMs, VPNs, and Interconnects) in the VPC.
// Target specifies network endpoints that this policy-based route applies to.
// If no target is specified, the PBR will be installed on all network
// endpoints (e.g. VMs, VPNs, and Interconnects) in the VPC.
oneof target {
// Optional. VM instances to which this policy based route applies to.
// Optional. VM instances that this policy-based route applies to.
VirtualMachine virtual_machine = 18
[(google.api.field_behavior) = OPTIONAL];
// Optional. The interconnect attachments to which this route applies to.
// Optional. The interconnect attachments that this policy-based route
// applies to.
InterconnectAttachment interconnect_attachment = 9
[(google.api.field_behavior) = OPTIONAL];
}
oneof next_hop {
// Optional. The IP of a global access enabled L4 ILB that should be the
// next hop to handle matching packets. For this version, only
// next_hop_ilb_ip is supported.
// Optional. The IP address of a global-access-enabled L4 ILB that is the
// next hop for matching packets. For this version, only nextHopIlbIp is
// supported.
string next_hop_ilb_ip = 12 [(google.api.field_behavior) = OPTIONAL];
// Optional. Other routes that will be referenced to determine the next hop
@ -217,11 +216,11 @@ message PolicyBasedRoute {
// `projects/{project_number}/locations/global/PolicyBasedRoutes/{policy_based_route_id}`
string name = 1 [(google.api.field_behavior) = IMMUTABLE];
// Output only. Time when the PolicyBasedRoute was created.
// Output only. Time when the policy-based route was created.
google.protobuf.Timestamp create_time = 2
[(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Time when the PolicyBasedRoute was updated.
// Output only. Time when the policy-based route was updated.
google.protobuf.Timestamp update_time = 3
[(google.api.field_behavior) = OUTPUT_ONLY];
@ -232,8 +231,8 @@ message PolicyBasedRoute {
// you create the resource.
string description = 5 [(google.api.field_behavior) = OPTIONAL];
// Required. Fully-qualified URL of the network that this route applies to.
// e.g. projects/my-project/global/networks/my-network.
// Required. Fully-qualified URL of the network that this route applies to,
// for example: projects/my-project/global/networks/my-network.
string network = 6 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "compute.googleapis.com/Network" }
@ -242,9 +241,9 @@ message PolicyBasedRoute {
// Required. The filter to match L4 traffic.
Filter filter = 10 [(google.api.field_behavior) = REQUIRED];
// Optional. The priority of this policy based route. Priority is used to
// break ties in cases where there are more than one matching policy based
// routes found. In cases where multiple policy based routes are matched, the
// Optional. The priority of this policy-based route. Priority is used to
// break ties in cases where there are more than one matching policy-based
// routes found. In cases where multiple policy-based routes are matched, the
// one with the lowest-numbered priority value wins. The default value is
// 1000. The priority value must be from 1 to 65535, inclusive.
int32 priority = 11 [(google.api.field_behavior) = OPTIONAL];
@ -257,11 +256,13 @@ message PolicyBasedRoute {
string self_link = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Type of this resource. Always
// networkconnectivity#policyBasedRoute for Policy Based Route resources.
// networkconnectivity#policyBasedRoute for policy-based Route resources.
string kind = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Request for [PolicyBasedRouting.ListPolicyBasedRoutes][] method.
// Request for
// [PolicyBasedRoutingService.ListPolicyBasedRoutes][google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.ListPolicyBasedRoutes]
// method.
message ListPolicyBasedRoutesRequest {
// Required. The parent resource's name.
string parent = 1 [
@ -284,9 +285,11 @@ message ListPolicyBasedRoutesRequest {
string order_by = 5;
}
// Response for [PolicyBasedRouting.ListPolicyBasedRoutes][] method.
// Response for
// [PolicyBasedRoutingService.ListPolicyBasedRoutes][google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.ListPolicyBasedRoutes]
// method.
message ListPolicyBasedRoutesResponse {
// Policy based routes to be returned.
// Policy-based routes to be returned.
repeated PolicyBasedRoute policy_based_routes = 1;
// The next pagination token in the List response. It should be used as
@ -297,7 +300,9 @@ message ListPolicyBasedRoutesResponse {
repeated string unreachable = 3;
}
// Request for [PolicyBasedRouting.GetPolicyBasedRoute][] method.
// Request for
// [PolicyBasedRoutingService.GetPolicyBasedRoute][google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.GetPolicyBasedRoute]
// method.
message GetPolicyBasedRouteRequest {
// Required. Name of the PolicyBasedRoute resource to get.
string name = 1 [
@ -308,7 +313,9 @@ message GetPolicyBasedRouteRequest {
];
}
// Request for [PolicyBasedRouting.CreatePolicyBasedRoute][] method.
// Request for
// [PolicyBasedRoutingService.CreatePolicyBasedRoute][google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.CreatePolicyBasedRoute]
// method.
message CreatePolicyBasedRouteRequest {
// Required. The parent resource's name of the PolicyBasedRoute.
string parent = 1 [
@ -318,32 +325,41 @@ message CreatePolicyBasedRouteRequest {
}
];
// Required. Unique id for the Policy Based Route to create.
// Required. Unique id for the policy-based route to create. Provided by the
// client when the resource is created. The name must comply with
// https://google.aip.dev/122#resource-id-segments. Specifically, the name
// must be 1-63 characters long and match the regular expression
// [a-z]([a-z0-9-]*[a-z0-9])?. The first character must be a lowercase letter,
// and all following characters (except for the last character) must be a
// dash, lowercase letter, or digit. The last character must be a lowercase
// letter or digit.
string policy_based_route_id = 2 [(google.api.field_behavior) = REQUIRED];
// Required. Initial values for a new Policy Based Route.
// Required. Initial values for a new policy-based route.
PolicyBasedRoute policy_based_route = 3
[(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server knows to
// ignore the request if it has already been completed. The server guarantees
// that for at least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// clients from accidentally creating duplicate commitments.
// was received, and if so, ignores the second request. This prevents clients
// from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Request for [PolicyBasedRouting.DeletePolicyBasedRoute][] method.
// Request for
// [PolicyBasedRoutingService.DeletePolicyBasedRoute][google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.DeletePolicyBasedRoute]
// method.
message DeletePolicyBasedRouteRequest {
// Required. Name of the PolicyBasedRoute resource to delete.
// Required. Name of the policy-based route resource to delete.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
@ -352,15 +368,15 @@ message DeletePolicyBasedRouteRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server knows to
// ignore the request if it has already been completed. The server guarantees
// that for at least 60 minutes after the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// clients from accidentally creating duplicate commitments.
// was received, and if so, ignores the second request. This prevents clients
// from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).

View file

@ -339,7 +339,6 @@ load(
csharp_proto_library(
name = "networkconnectivity_csharp_proto",
extra_opts = [],
deps = [":networkconnectivity_proto"],
)