You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
consul/proto/private/pbdemo/v1/demo.proto

65 lines
1.3 KiB

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
syntax = "proto3";
// This package contains fake resource types, which are useful for working on
// Consul's generic storage APIs.
package hashicorp.consul.internal.demo.v1;
import "pbresource/annotations.proto";
// Cluster scoped resource.
message Executive {
option (hashicorp.consul.resource.spec) = {scope: SCOPE_CLUSTER};
string position = 1;
}
// Partition scoped resource
message RecordLabel {
option (hashicorp.consul.resource.spec) = {scope: SCOPE_PARTITION};
string name = 1;
string description = 2;
}
// Namespace scoped resource.
message Artist {
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
string name = 1;
string description = 2;
Genre genre = 3;
int32 group_members = 4;
}
enum Genre {
GENRE_UNSPECIFIED = 0;
GENRE_JAZZ = 1;
GENRE_FOLK = 2;
GENRE_POP = 3;
GENRE_METAL = 4;
GENRE_PUNK = 5;
GENRE_BLUES = 6;
GENRE_R_AND_B = 7;
GENRE_COUNTRY = 8;
GENRE_DISCO = 9;
GENRE_SKA = 10;
GENRE_HIP_HOP = 11;
GENRE_INDIE = 12;
}
message Album {
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
string name = 1;
int32 year_of_release = 2;
bool critically_acclaimed = 3;
repeated string tracks = 4;
}
message Concept {
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
}