| syntax = "proto3"; |
| |
| package xds.core.v3; |
| |
| import "xds/annotations/v3/status.proto"; |
| import "xds/core/v3/context_params.proto"; |
| |
| import "validate/validate.proto"; |
| |
| option java_outer_classname = "ResourceNameProto"; |
| option java_multiple_files = true; |
| option java_package = "com.github.xds.core.v3"; |
| option go_package = "github.com/cncf/xds/go/xds/core/v3"; |
| |
| option (xds.annotations.v3.file_status).work_in_progress = true; |
| |
| // xDS resource name. This has a canonical xdstp:// URI representation: |
| // |
| // xdstp://{authority}/{type_url}/{id}?{context_params} |
| // |
| // where context_params take the form of URI query parameters. |
| // |
| // A xDS resource name fully identifies a network resource for transport |
| // purposes. xDS resource names in this form appear only in discovery |
| // request/response messages used with the xDS transport. |
| message ResourceName { |
| // Opaque identifier for the resource. Any '/' will not be escaped during URI |
| // encoding and will form part of the URI path. |
| string id = 1; |
| |
| // Logical authority for resource (not necessarily transport network address). |
| // Authorities are opaque in the xDS API, data-plane load balancers will map |
| // them to concrete network transports such as an xDS management server. |
| string authority = 2; |
| |
| // Fully qualified resource type (as in type URL without types.googleapis.com/ |
| // prefix). |
| string resource_type = 3 [(validate.rules).string = {min_len: 1}]; |
| |
| // Additional parameters that can be used to select resource variants. |
| ContextParams context = 4; |
| } |