2023-03-15 16:00:52 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
2018-06-04 00:48:12 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
2019-04-12 21:54:35 +00:00
|
|
|
option go_package = "github.com/hashicorp/vault/sdk/logical";
|
2018-06-04 00:48:12 +00:00
|
|
|
|
|
|
|
package logical;
|
|
|
|
|
|
|
|
message Entity {
|
|
|
|
// ID is the unique identifier for the entity
|
|
|
|
string ID = 1;
|
|
|
|
|
|
|
|
// Name is the human-friendly unique identifier for the entity
|
|
|
|
string name = 2;
|
|
|
|
|
|
|
|
// Aliases contains thhe alias mappings for the given entity
|
|
|
|
repeated Alias aliases = 3;
|
2018-07-23 16:45:06 +00:00
|
|
|
|
|
|
|
// Metadata represents the custom data tied to this entity
|
|
|
|
map<string, string> metadata = 4;
|
2020-01-06 18:16:52 +00:00
|
|
|
|
|
|
|
// Disabled is true if the entity is disabled.
|
|
|
|
bool disabled = 5;
|
|
|
|
|
|
|
|
// NamespaceID is the identifier of the namespace to which this entity
|
|
|
|
// belongs to.
|
|
|
|
string namespace_id = 6;
|
2018-06-04 00:48:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message Alias {
|
|
|
|
// MountType is the backend mount's type to which this identity belongs
|
|
|
|
string mount_type = 1;
|
|
|
|
|
|
|
|
// MountAccessor is the identifier of the mount entry to which this
|
|
|
|
// identity belongs
|
|
|
|
string mount_accessor = 2;
|
|
|
|
|
|
|
|
// Name is the identifier of this identity in its authentication source
|
|
|
|
string name = 3;
|
|
|
|
|
2020-04-27 17:06:07 +00:00
|
|
|
// Metadata represents the custom data tied to this alias. Fields added
|
|
|
|
// to it should have a low rate of change (or no change) because each
|
|
|
|
// change incurs a storage write, so quickly-changing fields can have
|
|
|
|
// a significant performance impact at scale. See the SDK's
|
|
|
|
// "aliasmetadata" package for a helper that eases and standardizes
|
|
|
|
// using this safely.
|
2018-07-23 16:45:06 +00:00
|
|
|
map<string, string> metadata = 4;
|
2020-01-06 18:16:52 +00:00
|
|
|
|
|
|
|
// ID is the unique identifier for the alias
|
|
|
|
string ID = 5;
|
|
|
|
|
|
|
|
// NamespaceID is the identifier of the namespace to which this alias
|
|
|
|
// belongs.
|
|
|
|
string namespace_id = 6;
|
2021-09-17 18:03:47 +00:00
|
|
|
|
|
|
|
// Custom Metadata represents the custom data tied to this alias
|
|
|
|
map<string, string> custom_metadata = 7;
|
2021-10-15 19:20:00 +00:00
|
|
|
|
|
|
|
// Local indicates if the alias only belongs to the cluster where it was
|
|
|
|
// created. If true, the alias will be stored in a location that are ignored
|
|
|
|
// by the performance replication subsystem.
|
|
|
|
bool local = 8;
|
2018-07-23 16:45:06 +00:00
|
|
|
}
|
2020-01-06 18:16:52 +00:00
|
|
|
|
|
|
|
message Group {
|
|
|
|
// ID is the unique identifier for the group
|
|
|
|
string ID = 1;
|
|
|
|
|
|
|
|
// Name is the human-friendly unique identifier for the group
|
|
|
|
string name = 2;
|
|
|
|
|
|
|
|
// Metadata represents the custom data tied to this group
|
|
|
|
map<string, string> metadata = 3;
|
|
|
|
|
|
|
|
// NamespaceID is the identifier of the namespace to which this group
|
|
|
|
// belongs to.
|
|
|
|
string namespace_id = 4;
|
2022-02-17 21:08:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message MFAMethodID {
|
|
|
|
string type = 1;
|
|
|
|
string id = 2;
|
|
|
|
bool uses_passcode = 3;
|
2023-01-23 20:51:22 +00:00
|
|
|
string name = 4;
|
2022-02-17 21:08:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message MFAConstraintAny {
|
|
|
|
repeated MFAMethodID any = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message MFARequirement {
|
|
|
|
string mfa_request_id = 1;
|
|
|
|
map<string, MFAConstraintAny> mfa_constraints = 2;
|
|
|
|
}
|