mirror of https://github.com/hashicorp/consul
56 lines
1.2 KiB
Protocol Buffer
56 lines
1.2 KiB
Protocol Buffer
// 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.v2;
|
|
|
|
import "pbresource/annotations.proto";
|
|
import "pbresource/resource.proto";
|
|
|
|
message Artist {
|
|
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
|
|
|
|
string name = 1;
|
|
Genre genre = 2;
|
|
map<string, string> group_members = 3;
|
|
}
|
|
|
|
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;
|
|
GENRE_ROCK = 13;
|
|
}
|
|
|
|
message Album {
|
|
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
|
|
|
|
string title = 1;
|
|
int32 year_of_release = 2;
|
|
bool critically_aclaimed = 3;
|
|
repeated string tracks = 4;
|
|
}
|
|
|
|
message Festival {
|
|
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
|
|
|
|
string name = 1;
|
|
repeated Genre genres = 2;
|
|
repeated Artist artists = 3;
|
|
|
|
repeated hashicorp.consul.resource.Reference bound_references = 4;
|
|
}
|