mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-16 13:00:34 +02:00
feat: add Network Connectivity Center APIs for PSC service automation
docs: update some documentation. PiperOrigin-RevId: 739170914
This commit is contained in:
parent
bad8d92019
commit
d2dcfcf40f
7 changed files with 1659 additions and 89 deletions
|
|
@ -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"],
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
1341
google/cloud/networkconnectivity/v1/cross_network_automation.proto
Normal file
1341
google/cloud/networkconnectivity/v1/cross_network_automation.proto
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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: |-
|
||||
|
|
|
|||
|
|
@ -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).
|
||||
|
|
|
|||
|
|
@ -339,7 +339,6 @@ load(
|
|||
|
||||
csharp_proto_library(
|
||||
name = "networkconnectivity_csharp_proto",
|
||||
extra_opts = [],
|
||||
deps = [":networkconnectivity_proto"],
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue