2020-05-01 18:05:54 -04:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
2020-08-27 20:43:33 -04:00
|
|
|
package controller.api.resources.hostsets.v1;
|
2020-05-01 18:05:54 -04:00
|
|
|
|
2021-08-26 10:44:41 -04:00
|
|
|
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/hostsets;hostsets";
|
2020-05-01 18:05:54 -04:00
|
|
|
|
2020-08-21 10:57:30 -07:00
|
|
|
import "google/protobuf/struct.proto";
|
2020-05-01 18:05:54 -04:00
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
|
import "google/protobuf/wrappers.proto";
|
2020-07-22 00:14:28 -04:00
|
|
|
import "controller/api/resources/scopes/v1/scope.proto";
|
2021-09-24 13:16:13 -07:00
|
|
|
import "controller/api/resources/plugins/v1/plugin.proto";
|
2020-08-07 12:55:02 -04:00
|
|
|
import "controller/custom_options/v1/options.proto";
|
2020-05-01 18:05:54 -04:00
|
|
|
|
2020-09-26 08:30:27 -04:00
|
|
|
// HostSet is a collection of Hosts created and managed by a Host Catalog
|
2020-05-01 18:05:54 -04:00
|
|
|
message HostSet {
|
2020-09-29 13:17:59 -07:00
|
|
|
// Output only. The ID of the Host Set.
|
2020-08-12 13:00:49 -04:00
|
|
|
string id = 10;
|
2020-05-01 18:05:54 -04:00
|
|
|
|
2020-09-29 13:17:59 -07:00
|
|
|
// The Host Catalog of which this Host Set is a part.
|
2020-09-26 08:30:27 -04:00
|
|
|
string host_catalog_id = 20 [json_name="host_catalog_id"];
|
2020-05-01 18:05:54 -04:00
|
|
|
|
2020-09-26 08:30:27 -04:00
|
|
|
// Output only. Scope information for this resource.
|
|
|
|
|
resources.scopes.v1.ScopeInfo scope = 30;
|
2020-05-05 11:19:42 -04:00
|
|
|
|
2021-09-24 13:16:13 -07:00
|
|
|
// Output only. Plugin information for this resource.
|
|
|
|
|
resources.plugins.v1.PluginInfo plugin = 35;
|
|
|
|
|
|
2020-09-26 08:30:27 -04:00
|
|
|
// 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"}];
|
2020-05-01 18:05:54 -04:00
|
|
|
|
2020-09-26 08:30:27 -04:00
|
|
|
// 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"}];
|
2020-05-01 18:05:54 -04:00
|
|
|
|
2020-09-26 08:30:27 -04:00
|
|
|
// Output only. The time this resource was created.
|
|
|
|
|
google.protobuf.Timestamp created_time = 60 [json_name="created_time"];
|
2020-05-01 18:05:54 -04:00
|
|
|
|
2020-09-26 08:30:27 -04:00
|
|
|
// Output only. The time this resource was last updated.
|
|
|
|
|
google.protobuf.Timestamp updated_time = 70 [json_name="updated_time"];
|
2020-08-12 13:00:49 -04:00
|
|
|
|
2020-09-29 13:17:59 -07:00
|
|
|
// Version is used in mutation requests, after the initial creation, to ensure this resource has not changed.
|
2021-01-20 10:53:01 -05:00
|
|
|
// The mutation will fail if the version does not match the latest known good version.
|
2020-09-26 08:30:27 -04:00
|
|
|
uint32 version = 80;
|
2020-08-11 11:20:06 -04:00
|
|
|
|
2020-09-26 08:30:27 -04:00
|
|
|
// The type of the Host Set.
|
|
|
|
|
string type = 90;
|
2020-05-01 18:05:54 -04:00
|
|
|
|
2020-09-26 08:30:27 -04:00
|
|
|
// Output only. A list of Hosts in this Host Set.
|
|
|
|
|
repeated string host_ids = 100 [json_name="host_ids"];
|
2020-08-21 10:57:30 -07:00
|
|
|
|
2021-11-11 11:28:08 -05:00
|
|
|
// 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.
|
2021-11-11 14:32:15 -07:00
|
|
|
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"}];
|
2021-09-20 12:48:38 -04:00
|
|
|
|
2021-11-11 11:28:08 -05:00
|
|
|
// 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
|
2021-11-26 13:56:34 -08:00
|
|
|
// 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.
|
2021-11-11 11:28:08 -05:00
|
|
|
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"}];
|
|
|
|
|
|
2020-09-26 08:30:27 -04:00
|
|
|
// The attributes that are applicable for the specific Host Set type.
|
2021-09-26 11:48:43 -04:00
|
|
|
google.protobuf.Struct attributes = 110 [(custom_options.v1.generate_sdk_option) = true];
|
2021-01-20 10:53:01 -05:00
|
|
|
|
|
|
|
|
// Output only. The available actions on this resource for this user.
|
|
|
|
|
repeated string authorized_actions = 300 [json_name="authorized_actions"];
|
2020-05-01 18:05:54 -04:00
|
|
|
}
|