This moves the generated pb files to the `sdk` module. This allows third parties to make use of them if desired (e.g. in upcoming plugins) and moves away from the `gen` nomenclature in the directory, since we are going to be adding some extra interface functions to the messages.
70 lines
2.9 KiB
Protocol Buffer
70 lines
2.9 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package controller.api.resources.scopes.v1;
|
|
|
|
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/scopes;scopes";
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/protobuf/wrappers.proto";
|
|
import "google/protobuf/struct.proto";
|
|
import "controller/custom_options/v1/options.proto";
|
|
|
|
message ScopeInfo {
|
|
// Output only. The ID of the Scope.
|
|
string id = 1;
|
|
|
|
// Output only. The type of the Scope.
|
|
string type = 2;
|
|
|
|
// Output only. The name of the Scope, if any.
|
|
string name = 3;
|
|
|
|
// Output only. The description of the Scope, if any.
|
|
string description = 4;
|
|
|
|
// Output only. The ID of the parent Scope, if any. This field will be empty if this is the "global" scope.
|
|
string parent_scope_id = 5 [json_name = "parent_scope_id"];
|
|
}
|
|
|
|
// Scope contains all fields related to a Scope resource
|
|
message Scope {
|
|
// Output only. The ID of the Scope.
|
|
string id = 10;
|
|
|
|
// The ID of the Scope this resource is in. If this is the "global" Scope this field will be empty.
|
|
string scope_id = 20 [json_name = "scope_id"];
|
|
|
|
// Output only. Scope information for this resource.
|
|
ScopeInfo scope = 30;
|
|
|
|
// 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 descripton 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 resource.
|
|
string type = 90;
|
|
|
|
// The ID of the primary auth method for this scope. A primary auth method
|
|
// is allowed to vivify users when new accounts are created and is the source for the users account info
|
|
google.protobuf.StringValue primary_auth_method_id = 100
|
|
[json_name = "primary_auth_method_id", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "primary_auth_method_id" that: "PrimaryAuthMethodId" }];
|
|
|
|
// Output only. The available actions on this resource for this user.
|
|
repeated string authorized_actions = 300 [json_name = "authorized_actions"];
|
|
|
|
// Output only. The authorized actions for the scope's collections.
|
|
map<string, google.protobuf.ListValue> authorized_collection_actions = 310 [json_name = "authorized_collection_actions"];
|
|
}
|