/
models.go
62 lines (54 loc) · 2.01 KB
/
models.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package provider
import (
"github.com/hashicorp/terraform-plugin-framework/types"
)
type User struct {
ID types.String `tfsdk:"id"`
Email types.String `tfsdk:"email"`
Name types.String `tfsdk:"name"`
}
type Group struct {
ID types.String `tfsdk:"id"`
Name types.String `tfsdk:"name"`
Description types.String `tfsdk:"description"`
}
type Vault struct {
ID types.String `tfsdk:"id"`
Name types.String `tfsdk:"name"`
Description types.String `tfsdk:"description"`
}
type Member struct {
ID types.String `tfsdk:"id"`
UserID types.String `tfsdk:"user_id"`
GroupID types.String `tfsdk:"group_id"`
Role types.String `tfsdk:"role"`
}
type VaultGroupAccess struct {
ID types.String `tfsdk:"id"`
VaultID types.String `tfsdk:"vault_id"`
GroupID types.String `tfsdk:"group_id"`
Permissions *AccessPermissions `tfsdk:"permissions"`
}
type VaultUserAccess struct {
ID types.String `tfsdk:"id"`
VaultID types.String `tfsdk:"vault_id"`
UserID types.String `tfsdk:"user_id"`
Permissions *AccessPermissions `tfsdk:"permissions"`
}
type AccessPermissions struct {
AllowViewing types.Bool `tfsdk:"allow_viewing"`
AllowEditing types.Bool `tfsdk:"allow_editing"`
AllowManaging types.Bool `tfsdk:"allow_managing"`
ViewItems types.Bool `tfsdk:"view_items"`
CreateItems types.Bool `tfsdk:"create_items"`
EditItems types.Bool `tfsdk:"edit_items"`
ArchiveItems types.Bool `tfsdk:"archive_items"`
DeleteItems types.Bool `tfsdk:"delete_items"`
ViewAndCopyPasswords types.Bool `tfsdk:"view_and_copy_passwords"`
ViewItemHistory types.Bool `tfsdk:"view_item_history"`
ImportItems types.Bool `tfsdk:"import_items"`
ExportItems types.Bool `tfsdk:"export_items"`
CopyAndShareItems types.Bool `tfsdk:"copy_and_share_items"`
PrintItems types.Bool `tfsdk:"print_items"`
ManageVault types.Bool `tfsdk:"manage_vault"`
}