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; }