1syntax = "proto3";
2
3package xds.core.v3;
4
5import "google/protobuf/any.proto";
6
7import "xds/annotations/v3/status.proto";
8import "xds/core/v3/resource_name.proto";
9
10option java_outer_classname = "ResourceProto";
11option java_multiple_files = true;
12option java_package = "com.github.xds.core.v3";
13option go_package = "github.com/cncf/xds/go/xds/core/v3";
14
15option (xds.annotations.v3.file_status).work_in_progress = true;
16
17// xDS resource wrapper. This encapsulates a xDS resource when appearing in an
18// xDS transport discovery response or when accessed as a filesystem object.
19message Resource {
20  // Resource name. This may be omitted for filesystem resources.
21  ResourceName name = 1;
22
23  // The resource's logical version. It is illegal to have the same named xDS
24  // resource name at a given version with different resource payloads.
25  string version = 2;
26
27  // The resource payload, including type URL.
28  google.protobuf.Any resource = 3;
29}
30