2023-04-20 12:40:22 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
2023-08-11 13:12:13 +00:00
|
|
|
// SPDX-License-Identifier: BUSL-1.1
|
2023-04-20 12:40:22 +00:00
|
|
|
|
2023-04-06 09:40:04 +00:00
|
|
|
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;
|
|
|
|
|
2023-12-13 15:06:39 +00:00
|
|
|
import "pbresource/annotations.proto";
|
2024-09-05 14:50:46 +00:00
|
|
|
import "pbresource/resource.proto";
|
2023-12-13 15:06:39 +00:00
|
|
|
|
2023-04-06 09:40:04 +00:00
|
|
|
message Artist {
|
2023-12-13 15:06:39 +00:00
|
|
|
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
|
|
|
|
|
2023-04-06 09:40:04 +00:00
|
|
|
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;
|
2024-09-05 14:50:46 +00:00
|
|
|
GENRE_ROCK = 13;
|
2023-04-06 09:40:04 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message Album {
|
2023-12-13 15:06:39 +00:00
|
|
|
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
|
|
|
|
|
2023-04-06 09:40:04 +00:00
|
|
|
string title = 1;
|
|
|
|
int32 year_of_release = 2;
|
|
|
|
bool critically_aclaimed = 3;
|
|
|
|
repeated string tracks = 4;
|
|
|
|
}
|
2024-09-05 14:50:46 +00:00
|
|
|
|
|
|
|
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;
|
|
|
|
}
|