1syntax = "proto3"; 2 3package envoy.api.v2; 4 5import "envoy/api/v2/discovery.proto"; 6 7import "google/api/annotations.proto"; 8 9import "envoy/annotations/resource.proto"; 10import "udpa/annotations/migrate.proto"; 11import "udpa/annotations/status.proto"; 12 13import public "envoy/api/v2/scoped_route.proto"; 14 15option java_package = "io.envoyproxy.envoy.api.v2"; 16option java_outer_classname = "SrdsProto"; 17option java_multiple_files = true; 18option go_package = "github.com/envoyproxy/go-control-plane/envoy/api/v2;apiv2"; 19option (udpa.annotations.file_migrate).move_to_package = "envoy.service.route.v3"; 20option (udpa.annotations.file_status).package_version_status = FROZEN; 21 22// [#protodoc-title: SRDS] 23// * Routing :ref:`architecture overview <arch_overview_http_routing>` 24 25// The Scoped Routes Discovery Service (SRDS) API distributes 26// :ref:`ScopedRouteConfiguration<envoy_api_msg.ScopedRouteConfiguration>` 27// resources. Each ScopedRouteConfiguration resource represents a "routing 28// scope" containing a mapping that allows the HTTP connection manager to 29// dynamically assign a routing table (specified via a 30// :ref:`RouteConfiguration<envoy_api_msg_RouteConfiguration>` message) to each 31// HTTP request. 32service ScopedRoutesDiscoveryService { 33 option (envoy.annotations.resource).type = "envoy.api.v2.ScopedRouteConfiguration"; 34 35 rpc StreamScopedRoutes(stream DiscoveryRequest) returns (stream DiscoveryResponse) { 36 } 37 38 rpc DeltaScopedRoutes(stream DeltaDiscoveryRequest) returns (stream DeltaDiscoveryResponse) { 39 } 40 41 rpc FetchScopedRoutes(DiscoveryRequest) returns (DiscoveryResponse) { 42 option (google.api.http).post = "/v2/discovery:scoped-routes"; 43 option (google.api.http).body = "*"; 44 } 45} 46 47// [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing 48// services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. 49message SrdsDummy { 50} 51