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