Files
threshold/internal/proto/controller/api/resources/hostsets/v1/host_set.proto
T
Johan Brandhorst-Satzkorn b1d6a1da9a Switch to buf for protobuf generation (#1944)
* Install buf with go install

This reduces the impact of using buf on our dependency
closure, which was significant. It also avoids potential
issues with building buf given our own internal dependency
constraints. This has caused issues (including crashes!)
in the past.

See https://github.com/cockroachdb/cockroach/issues/67216#issuecomment-874176186
for more discussion on using tool dependencies generally, and
https://github.com/bufbuild/buf/issues/52
for an example of where this sort of thing caused an issue for a user.

* Upgrade buf version

We should migrate to v1 sooner rather than later, as it has some
breaking changes from v0.

* Change buf lint/breaking commands

These commands were moved up one level for v1

* Migrate to buf.yaml to v1

* Remove unused imports

These were uncovered by using "buf lint".

* Use buf v1.3.1

* Depend on googleapis and grpc-gateway via BSR

* Switch to buf for proto generation

* Remove third party dependency

* Remove unused tools and scripts

* Move local protos up one level

* Temporarily don't fail on breaking changes

* Generate CI config

* Fix generation of controller.json

* Replace use of deprecated flag

* Remove unused import, regenerate files

* Remove temporary skipping over breaking check
2022-04-04 13:55:42 -04:00

72 lines
3.5 KiB
Protocol Buffer

syntax = "proto3";
package controller.api.resources.hostsets.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/hostsets;hostsets";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/api/resources/plugins/v1/plugin.proto";
import "controller/custom_options/v1/options.proto";
// HostSet is a collection of Hosts created and managed by a Host Catalog
message HostSet {
// Output only. The ID of the Host Set.
string id = 10;
// The Host Catalog of which this Host Set is a part.
string host_catalog_id = 20 [json_name="host_catalog_id"];
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. Plugin information for this resource.
resources.plugins.v1.PluginInfo plugin = 35;
// Optional name for identification purposes.
google.protobuf.StringValue name = 40 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"name" that: "name"}];
// Optional user-set description for identification purposes.
google.protobuf.StringValue description = 50 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"description" that: "description"}];
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name="created_time"];
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name="updated_time"];
// Version is used in mutation requests, after the initial creation, to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 80;
// The type of the Host Set.
string type = 90;
// Output only. A list of Hosts in this Host Set.
repeated string host_ids = 100 [json_name="host_ids"];
// multiple possible endpoints for a host. Preferences are specified by
// "cidr:<valid IPv4/6 CIDR>" or "dns:<globbed name>", specifying which IP
// address or DNS name out of a host's available possibilities should be
// preferred. If no preferences are specified, a value will be chosen from
// among all avialable values using a built-in priority order. May not be
// valid for all plugin types.
repeated string preferred_endpoints = 101 [json_name="preferred_endpoints", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"preferred_endpoints" that: "PreferredEndpoints"}];
// An interger number of seconds indicating the amount of time that should
// elapse between syncs of the host set. The interval will be applied to the
// end of the previous sync operation, not the start. Setting to -1 will
// disable syncing for that host set; setting to zero will cause the set to
// use Boundary's default. The default may change between releases. May not
// be valid for all plugin types.
google.protobuf.Int32Value sync_interval_seconds = 102 [json_name="sync_interval_seconds", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"sync_interval_seconds" that: "SyncIntervalSeconds"}];
// The attributes that are applicable for the specific Host Set type.
google.protobuf.Struct attributes = 110 [(custom_options.v1.generate_sdk_option) = true];
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"];
}