123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413 |
- syntax = "proto3";
- package google.cloud.networkservices.v1;
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/protobuf/duration.proto";
- import "google/protobuf/field_mask.proto";
- import "google/protobuf/timestamp.proto";
- option csharp_namespace = "Google.Cloud.NetworkServices.V1";
- option go_package = "google.golang.org/genproto/googleapis/cloud/networkservices/v1;networkservices";
- option java_multiple_files = true;
- option java_outer_classname = "GrpcRouteProto";
- option java_package = "com.google.cloud.networkservices.v1";
- option php_namespace = "Google\\Cloud\\NetworkServices\\V1";
- option ruby_package = "Google::Cloud::NetworkServices::V1";
- message GrpcRoute {
- option (google.api.resource) = {
- type: "networkservices.googleapis.com/GrpcRoute"
- pattern: "projects/{project}/locations/{location}/grpcRoutes/{grpc_route}"
- };
-
- message MethodMatch {
-
- enum Type {
-
- TYPE_UNSPECIFIED = 0;
-
- EXACT = 1;
-
-
- REGULAR_EXPRESSION = 2;
- }
-
-
- Type type = 1 [(google.api.field_behavior) = OPTIONAL];
-
-
- string grpc_service = 2 [(google.api.field_behavior) = REQUIRED];
-
-
- string grpc_method = 3 [(google.api.field_behavior) = REQUIRED];
-
-
- optional bool case_sensitive = 4 [(google.api.field_behavior) = OPTIONAL];
- }
-
- message HeaderMatch {
-
- enum Type {
-
- TYPE_UNSPECIFIED = 0;
-
- EXACT = 1;
-
-
- REGULAR_EXPRESSION = 2;
- }
-
-
- Type type = 1 [(google.api.field_behavior) = OPTIONAL];
-
- string key = 2 [(google.api.field_behavior) = REQUIRED];
-
- string value = 3 [(google.api.field_behavior) = REQUIRED];
- }
-
-
- message RouteMatch {
-
-
- optional MethodMatch method = 1 [(google.api.field_behavior) = OPTIONAL];
-
- repeated HeaderMatch headers = 2 [(google.api.field_behavior) = OPTIONAL];
- }
-
- message Destination {
-
- oneof destination_type {
-
-
- string service_name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "compute.googleapis.com/BackendService"
- }
- ];
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- optional int32 weight = 2 [(google.api.field_behavior) = OPTIONAL];
- }
-
-
-
-
-
-
- message FaultInjectionPolicy {
-
-
- message Delay {
-
- optional google.protobuf.Duration fixed_delay = 1;
-
-
-
- optional int32 percentage = 2;
- }
-
-
- message Abort {
-
-
-
- optional int32 http_status = 1;
-
-
-
- optional int32 percentage = 2;
- }
-
- optional Delay delay = 1;
-
- optional Abort abort = 2;
- }
-
- message RetryPolicy {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- repeated string retry_conditions = 1;
-
-
- uint32 num_retries = 2;
- }
-
- message RouteAction {
-
-
-
- repeated Destination destinations = 1 [(google.api.field_behavior) = OPTIONAL];
-
-
-
-
-
-
-
-
-
- FaultInjectionPolicy fault_injection_policy = 3 [(google.api.field_behavior) = OPTIONAL];
-
-
-
- google.protobuf.Duration timeout = 7 [(google.api.field_behavior) = OPTIONAL];
-
- RetryPolicy retry_policy = 8 [(google.api.field_behavior) = OPTIONAL];
- }
-
- message RouteRule {
-
-
-
-
- repeated RouteMatch matches = 1 [(google.api.field_behavior) = OPTIONAL];
-
- RouteAction action = 2 [(google.api.field_behavior) = REQUIRED];
- }
-
-
- string name = 1 [(google.api.field_behavior) = REQUIRED];
-
- string self_link = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- map<string, string> labels = 4 [(google.api.field_behavior) = OPTIONAL];
-
- string description = 5 [(google.api.field_behavior) = OPTIONAL];
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- repeated string hostnames = 6 [(google.api.field_behavior) = REQUIRED];
-
-
-
-
-
- repeated string meshes = 9 [
- (google.api.field_behavior) = OPTIONAL,
- (google.api.resource_reference) = {
- type: "networkservices.googleapis.com/Mesh"
- }
- ];
-
-
-
-
-
- repeated string gateways = 10 [
- (google.api.field_behavior) = OPTIONAL,
- (google.api.resource_reference) = {
- type: "networkservices.googleapis.com/Gateway"
- }
- ];
-
-
-
-
-
- repeated RouteRule rules = 7 [(google.api.field_behavior) = REQUIRED];
- }
- message ListGrpcRoutesRequest {
-
-
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "networkservices.googleapis.com/GrpcRoute"
- }
- ];
-
- int32 page_size = 2;
-
-
-
- string page_token = 3;
- }
- message ListGrpcRoutesResponse {
-
- repeated GrpcRoute grpc_routes = 1;
-
-
-
- string next_page_token = 2;
- }
- message GetGrpcRouteRequest {
-
-
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "networkservices.googleapis.com/GrpcRoute"
- }
- ];
- }
- message CreateGrpcRouteRequest {
-
-
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "networkservices.googleapis.com/GrpcRoute"
- }
- ];
-
- string grpc_route_id = 2 [(google.api.field_behavior) = REQUIRED];
-
- GrpcRoute grpc_route = 3 [(google.api.field_behavior) = REQUIRED];
- }
- message UpdateGrpcRouteRequest {
-
-
-
-
-
- google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL];
-
- GrpcRoute grpc_route = 2 [(google.api.field_behavior) = REQUIRED];
- }
- message DeleteGrpcRouteRequest {
-
-
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "networkservices.googleapis.com/GrpcRoute"
- }
- ];
- }
|