feat(proto): Format protobuf files with buf (#2033)

Formats all protobuf files with buf format. This ensures
a consistent style across all our protobuf files, similar
to gofumpt.
This commit is contained in:
Johan Brandhorst-Satzkorn authored and GitHub committed 2022-05-04 11:10:21 -04:00
1 parent 0fb9b35498
commit f69fbf2255
131 files changed
+2329 -1618

No files matched your search

+1
View File
@@ -54,6 +54,7 @@ install: build
.PHONY: fmt
fmt:
grep -L -R "^\/\/ Code generated .* DO NOT EDIT\.$$" --exclude-dir=.git --include="*.go" . | xargs gofumpt -w
buf format -w
# Set env for all UI targets.
UI_TARGETS := update-ui-version build-ui build-ui-ifne
+6 -6
View File
@@ -1046,12 +1046,12 @@ var file_controller_storage_auth_oidc_store_v1_oidc_proto_rawDesc = []byte{
0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x25, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73,
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x6f, 0x69, 0x64, 0x63,
0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74,
0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x0b, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x4d,
0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f,
0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
+6 -6
View File
@@ -368,12 +368,12 @@ var file_controller_storage_auth_password_store_v1_password_proto_rawDesc = []by
0x77, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x63, 0x6f, 0x6e, 0x74,
0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x61,
0x75, 0x74, 0x68, 0x2e, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2e, 0x73, 0x74, 0x6f,
0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f,
0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0x97, 0x05, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f,
0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64, 0x12, 0x4b,
+6 -6
View File
@@ -877,12 +877,12 @@ var file_controller_storage_credential_vault_store_v1_vault_proto_rawDesc = []by
0x61, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2c, 0x63, 0x6f, 0x6e, 0x74,
0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x63,
0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e,
0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x06, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62,
0x6c, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75,
+1 -1
View File
@@ -5082,7 +5082,7 @@
},
"credential": {
"type": "object",
"description": "Output only. The fields of the strongly typed credential, empty if the credential type of the \ncredential source is unspecified.",
"description": "Output only. The fields of the strongly typed credential, empty if the credential type of the\ncredential source is unspecified.",
"readOnly": true
}
},
@@ -757,20 +757,20 @@ var file_controller_api_services_v1_account_service_proto_rawDesc = []byte{
0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61,
0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e,
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69,
0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32,
0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x32,
0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63,
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31,
0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x23,
0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69,
0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61,
0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e,
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x23,
0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x22, 0x57, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
@@ -1169,27 +1169,27 @@ var file_controller_api_services_v1_auth_method_service_proto_rawDesc = []byte{
0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f,
0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x69, 0x73,
0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66,
0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x63,
0x76, 0x31, 0x1a, 0x39, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61,
0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x75, 0x74,
0x68, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68,
0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x68,
0x6f, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68,
0x6f, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2f, 0x76, 0x31,
0x2f, 0x61, 0x75, 0x74, 0x68, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73,
0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x26, 0x0a, 0x14,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x69, 0x73, 0x69,
0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69,
0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x26, 0x0a, 0x14,
0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x69, 0x64, 0x22, 0x60, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d,
@@ -320,15 +320,15 @@ var file_controller_api_services_v1_authtokens_service_proto_rawDesc = []byte{
0x68, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76,
0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70,
0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x36, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x25, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75,
0x31, 0x1a, 0x36, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d,
0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x25, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75,
0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5d,
0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65,
@@ -526,21 +526,21 @@ var file_controller_api_services_v1_credential_library_service_proto_rawDesc = [
0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d,
0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x48, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x48, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x69,
0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f,
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76,
0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66,
0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e,
0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0x2d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x76,
@@ -534,20 +534,20 @@ var file_controller_api_services_v1_credential_store_service_proto_rawDesc = []b
0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e,
0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d,
0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73,
0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x43, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x43, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x73, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x74, 0x6f, 0x72,
0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61,
0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43,
0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
@@ -868,17 +868,17 @@ var file_controller_api_services_v1_group_service_proto_rawDesc = []byte{
0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x76, 0x31,
0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c,
0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x76, 0x31,
0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, 0x0f,
0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, 0x0f,
0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22,
0x51, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f,
@@ -544,20 +544,20 @@ var file_controller_api_services_v1_host_catalog_service_proto_rawDesc = []byte{
0x74, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d,
0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f,
0x2e, 0x76, 0x31, 0x1a, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x68, 0x6f,
0x73, 0x74, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x6f,
0x73, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73,
0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x15,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c,
0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x15,
0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x63, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74,
@@ -525,19 +525,19 @@ var file_controller_api_services_v1_host_service_proto_rawDesc = []byte{
0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x6f, 0x73,
0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76,
0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63, 0x6f, 0x6e,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2c, 0x63, 0x6f, 0x6e,
0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x68,
0x6f, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65,
0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x48, 0x6f,
@@ -865,19 +865,19 @@ var file_controller_api_services_v1_host_set_service_proto_rawDesc = []byte{
0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e,
0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66,
0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x33, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x65,
0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65,
0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61,
0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x23, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x57, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74,
@@ -526,20 +526,20 @@ var file_controller_api_services_v1_managed_group_service_proto_rawDesc = []byte
0x61, 0x67, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e,
0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
0x73, 0x2e, 0x76, 0x31, 0x1a, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x6d,
0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x76, 0x31, 0x2f,
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f,
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76,
0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66,
0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e,
0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0x28, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x66, 0x0a, 0x17, 0x47, 0x65, 0x74,
@@ -1204,17 +1204,17 @@ var file_controller_api_services_v1_role_service_proto_rawDesc = []byte{
0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x6f, 0x6c,
0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76,
0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63, 0x6f, 0x6e,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2c, 0x63, 0x6f, 0x6e,
0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72,
0x6f, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a, 0x0e, 0x47, 0x65, 0x74,
0x6f, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d,
0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a, 0x0e, 0x47, 0x65, 0x74,
0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x0f, 0x47,
0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b,
@@ -548,17 +548,17 @@ var file_controller_api_services_v1_scope_service_proto_rawDesc = []byte{
0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x63, 0x6f,
0x70, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31,
0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c,
0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31,
0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, 0x0f,
0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, 0x0f,
0x47, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22,
0x51, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
@@ -336,15 +336,15 @@ var file_controller_api_services_v1_session_service_proto_rawDesc = []byte{
0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61,
0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e,
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x32,
0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65,
0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61,
0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x23, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x57, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73,
@@ -2037,19 +2037,19 @@ var file_controller_api_services_v1_target_service_proto_rawDesc = []byte{
0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x61, 0x72,
0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70,
0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65,
0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x63,
0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x30, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f,
0x76, 0x31, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74,
0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76,
0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x22, 0x0a, 0x10, 0x47,
0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22,
@@ -865,17 +865,17 @@ var file_controller_api_services_v1_user_service_proto_rawDesc = []byte{
0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65,
0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76,
0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63, 0x6f, 0x6e,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2c, 0x63, 0x6f, 0x6e,
0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x75,
0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a, 0x0e, 0x47, 0x65, 0x74,
0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d,
0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a, 0x0e, 0x47, 0x65, 0x74,
0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x0f, 0x47,
0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b,
@@ -935,19 +935,19 @@ var file_controller_servers_services_v1_session_service_proto_rawDesc = []byte{
0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
0x65, 0x72, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x73, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x61, 0x72,
0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x30, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x61, 0x72, 0x67,
0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x40, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x40, 0x63, 0x6f, 0x6e, 0x74,
0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x73,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x14,
0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x14,
0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
+12 -12
View File
@@ -1392,18 +1392,18 @@ var file_testing_attribute_v1_attribute_proto_rawDesc = []byte{
0x0a, 0x24, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75,
0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74,
0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2a, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61,
0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67,
0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x02, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x52,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
+5 -5
View File
@@ -180,12 +180,12 @@ var file_testing_event_v1_event_proto_rawDesc = []byte{
0x0a, 0x1c, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f,
0x76, 0x31, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10,
0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31,
0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61,
0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e,
0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a,
0x17, 0x54, 0x65, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68,
+7 -7
View File
@@ -647,13 +647,13 @@ var file_controller_storage_host_plugin_store_v1_host_proto_rawDesc = []byte{
0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x70, 0x6c,
0x75, 0x67, 0x69, 0x6e, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2f, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a,
0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f,
0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x03, 0x0a, 0x0b, 0x48,
0x75, 0x67, 0x69, 0x6e, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2a, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x03, 0x0a, 0x0b, 0x48,
0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
+6 -6
View File
@@ -500,12 +500,12 @@ var file_controller_storage_host_static_store_v1_static_proto_rawDesc = []byte{
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e,
0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a,
0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72,
0x61, 0x67, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31,
0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73,
0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x02, 0x0a,
0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74,
0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e,
0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x02, 0x0a,
0x0b, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x1b, 0x0a, 0x09,
0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x63, 0x72, 0x65,
+7 -7
View File
@@ -140,13 +140,13 @@ var file_controller_storage_iam_store_v1_group_proto_rawDesc = []byte{
0x72, 0x61, 0x67, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
0x31, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2f,
0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61,
0x67, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74,
0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x02, 0x0a, 0x05,
0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2a,
0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f,
0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74,
0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x02, 0x0a, 0x05,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f,
0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14,
+7 -7
View File
@@ -151,13 +151,13 @@ var file_controller_storage_iam_store_v1_role_proto_rawDesc = []byte{
0x72, 0x61, 0x67, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
0x31, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2f, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a,
0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f,
0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x03, 0x0a, 0x04, 0x52,
0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2a, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x03, 0x0a, 0x04, 0x52,
0x6f, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64,
0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01,
+7 -7
View File
@@ -183,13 +183,13 @@ var file_controller_storage_iam_store_v1_user_proto_rawDesc = []byte{
0x72, 0x61, 0x67, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2f, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a,
0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f,
0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x03, 0x0a, 0x04, 0x55,
0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2a, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x03, 0x0a, 0x04, 0x55,
0x73, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x64,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64,
0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01,
+6 -6
View File
@@ -141,12 +141,12 @@ var file_controller_storage_plugin_host_store_v1_plugin_proto_rawDesc = []byte{
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69,
0x6e, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a,
0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72,
0x61, 0x67, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31,
0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73,
0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x02, 0x0a,
0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74,
0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x6f, 0x6e,
0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x02, 0x0a,
0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69,
0x63, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c,
0x69, 0x63, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74,
@@ -2,95 +2,126 @@ syntax = "proto3";
package controller.api.resources.accounts.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/accounts;accounts";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/struct.proto";
import "google/api/visibility.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/visibility.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/accounts;accounts";
// Account contains all fields related to an Account resource
message Account {
// Output only. The ID of the Account.
string id = 10; // @gotags: `class:"public"`
// Output only. The ID of the Account.
string id = 10; // @gotags: `class:"public"`
// Output only. Scope information for the Account.
resources.scopes.v1.ScopeInfo scope = 20;
// Output only. Scope information for the Account.
resources.scopes.v1.ScopeInfo scope = 20;
// Optional name for identification purposes.
google.protobuf.StringValue name = 30 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"name" that: "Name"}]; // @gotags: `class:"public"`
// Optional name for identification purposes.
google.protobuf.StringValue name = 30 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "name"
that: "Name"
}
]; // @gotags: `class:"public"`
// Optional user-set description for identification purposes.
google.protobuf.StringValue description = 40 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"description" that: "Description"}]; // @gotags: `class:"public"`
// Optional user-set description for identification purposes.
google.protobuf.StringValue description = 40 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "description"
that: "Description"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 50 [json_name="created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 50 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 60 [json_name="updated_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 60 [json_name = "updated_time"]; // @gotags: `class:"public"`
// 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 = 70; // @gotags: `class:"public"`
// 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 = 70; // @gotags: `class:"public"`
// The type of this Account.
string type = 80; // @gotags: `class:"public"`
// The type of this Account.
string type = 80; // @gotags: `class:"public"`
// The ID of the Auth Method that is associated with this Account.
string auth_method_id = 90 [json_name="auth_method_id", (custom_options.v1.subtype_source_id) = true]; // @gotags: `class:"public"`
// The ID of the Auth Method that is associated with this Account.
string auth_method_id = 90 [
json_name = "auth_method_id",
(custom_options.v1.subtype_source_id) = true
]; // @gotags: `class:"public"`
oneof attrs {
// The attributes that are applicable for the specific Account type.
google.protobuf.Struct attributes = 100 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.subtype) = "default"];
PasswordAccountAttributes password_account_attributes = 101 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "password"
];
OidcAccountAttributes oidc_account_attributes = 102 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "oidc"
];
}
oneof attrs {
// The attributes that are applicable for the specific Account type.
google.protobuf.Struct attributes = 100 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "default"
];
PasswordAccountAttributes password_account_attributes = 101 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "password"
];
OidcAccountAttributes oidc_account_attributes = 102 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "oidc"
];
}
// Output only. managed_group_ids indicates IDs of the managed groups that currently contain this account
repeated string managed_group_ids = 110 [json_name="managed_group_ids"]; // @gotags: `class:"public"`
// Output only. managed_group_ids indicates IDs of the managed groups that currently contain this account
repeated string managed_group_ids = 110 [json_name = "managed_group_ids"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
}
// Attributes associated only with Accounts with type "password".
message PasswordAccountAttributes {
// The login name of this Account. This is unique per Auth Method.
string login_name = 10 [json_name="login_name", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"attributes.login_name" that: "LoginName"}]; // @gotags: `class:"sensitive"`
// The login name of this Account. This is unique per Auth Method.
string login_name = 10 [
json_name = "login_name",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.login_name"
that: "LoginName"
}
]; // @gotags: `class:"sensitive"`
// The password for this Account.
google.protobuf.StringValue password = 20 [(custom_options.v1.generate_sdk_option) = true]; // @gotags: `class:"secret"`
// The password for this Account.
google.protobuf.StringValue password = 20 [(custom_options.v1.generate_sdk_option) = true]; // @gotags: `class:"secret"`
}
// Attributes associated only with Accounts with type "oidc".
message OidcAccountAttributes {
// issuer is a case sensitive URL that maps to the OIDC iss claim.
// This value is immutable after creation time.
string issuer = 80 [json_name="issuer", (custom_options.v1.generate_sdk_option) = true]; // @gotags: `class:"public"`
// issuer is a case sensitive URL that maps to the OIDC iss claim.
// This value is immutable after creation time.
string issuer = 80 [
json_name = "issuer",
(custom_options.v1.generate_sdk_option) = true
]; // @gotags: `class:"public"`
// subject is a case sensitive string that maps to the OIDC sub claim.
// This value is immutable after creation time.
string subject = 90 [json_name="subject", (custom_options.v1.generate_sdk_option) = true]; // @gotags: `class:"public"`
// subject is a case sensitive string that maps to the OIDC sub claim.
// This value is immutable after creation time.
string subject = 90 [
json_name = "subject",
(custom_options.v1.generate_sdk_option) = true
]; // @gotags: `class:"public"`
// Output only. full_name is a string that maps to the OIDC name claim.
string full_name = 100 [json_name="full_name"]; // @gotags: `class:"public"`
// Output only. full_name is a string that maps to the OIDC name claim.
string full_name = 100 [json_name = "full_name"]; // @gotags: `class:"public"`
// Output only. email is a string that maps to the OIDC email claim.
string email = 110; // @gotags: `class:"public"`
// Output only. email is a string that maps to the OIDC email claim.
string email = 110; // @gotags: `class:"public"`
// Output only. token_claims are the marshaled claims from the token.
google.protobuf.Struct token_claims = 120;
// Output only. token_claims are the marshaled claims from the token.
google.protobuf.Struct token_claims = 120;
// Output only. userinfo_claims are the marshaled claims from userinfo.
google.protobuf.Struct userinfo_claims = 130;
// Output only. userinfo_claims are the marshaled claims from userinfo.
google.protobuf.Struct userinfo_claims = 130;
}
@@ -2,51 +2,64 @@ syntax = "proto3";
package controller.api.resources.authmethods.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/authmethods;authmethods";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/struct.proto";
import "google/api/visibility.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/visibility.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/authmethods;authmethods";
option (custom_options.v1.domain) = "auth";
// AuthMethod contains all fields related to an Auth Method resource
message AuthMethod {
// Output only. The ID of the Auth Method.
string id = 10; // @gotags: `class:"public"`
string id = 10; // @gotags: `class:"public"`
// The ID of the Scope of which this Auth Method is a part.
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this Auth method.
resources.scopes.v1.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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue name = 40 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "name"
that: "Name"
}
]; // @gotags: `class:"public"`
// 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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue description = 50 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "description"
that: "Description"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public"`
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
uint32 version = 80; // @gotags: `class:"public"`
// The Auth Method type.
string type = 90; // @gotags: `class:"public"`
string type = 90; // @gotags: `class:"public"`
oneof attrs {
// The attributes that are applicable for the specific Auth Method type.
google.protobuf.Struct attributes = 100 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.subtype) = "default"];
google.protobuf.Struct attributes = 100 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "default"
];
PasswordAuthMethodAttributes password_auth_method_attributes = 101 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "password",
@@ -61,10 +74,10 @@ message AuthMethod {
// Output only. Whether this auth method is the primary auth method for it's scope.
// To change this value update the primary_auth_method_id field on the scope.
bool is_primary = 110 [json_name = "is_primary"]; // @gotags: `class:"public"`
bool is_primary = 110 [json_name = "is_primary"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
// Output only. The authorized actions for the scope's collections.
map<string, google.protobuf.ListValue> authorized_collection_actions = 310 [json_name = "authorized_collection_actions"]; // classified as public via taggable implementation
@@ -73,78 +86,152 @@ message AuthMethod {
// The attributes of a password typed auth method.
message PasswordAuthMethodAttributes {
// The minimum length allowed for user names for Accounts in this Auth Method.
uint32 min_login_name_length = 10
[json_name = "min_login_name_length", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.min_login_name_length" that: "MinLoginNameLength" }]; // @gotags: `class:"public"`
uint32 min_login_name_length = 10 [
json_name = "min_login_name_length",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.min_login_name_length"
that: "MinLoginNameLength"
}
]; // @gotags: `class:"public"`
// The minimum length allowed for passwords for Accounts in this Auth Method.
uint32 min_password_length = 20
[json_name = "min_password_length", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.min_password_length" that: "MinPasswordLength" }]; // @gotags: `class:"public"`
uint32 min_password_length = 20 [
json_name = "min_password_length",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.min_password_length"
that: "MinPasswordLength"
}
]; // @gotags: `class:"public"`
}
// The attributes of an OIDC typed auth method.
message OidcAuthMethodAttributes {
// Output only. The state of the auth method. Will be "inactive",
// "active-private", or "active-public".
string state = 10 [json_name = "state"]; // @gotags: `class:"public"`
string state = 10 [json_name = "state"]; // @gotags: `class:"public"`
// The issuer URL. Boundary expects only the schema, host, and port and will
// strip off ".well-known/openid-configuration" if present. This will be
// used for configuration discovery as well as for validation of the "iss"
// claim.
google.protobuf.StringValue issuer = 20 [json_name = "issuer", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.issuer" that: "Issuer" }]; // @gotags: `class:"public"`
google.protobuf.StringValue issuer = 20 [
json_name = "issuer",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.issuer"
that: "Issuer"
}
]; // @gotags: `class:"public"`
// An OAuth 2.0 Client Identifier valid at the Authorization Server.
google.protobuf.StringValue client_id = 30
[json_name = "client_id", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.client_id" that: "ClientId" }]; // @gotags: `class:"public"`
google.protobuf.StringValue client_id = 30 [
json_name = "client_id",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.client_id"
that: "ClientId"
}
]; // @gotags: `class:"public"`
// Input only. The client's secret.
google.protobuf.StringValue client_secret = 40
[json_name = "client_secret", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.client_secret" that: "ClientSecret" }]; // @gotags: `class:"secret"`
google.protobuf.StringValue client_secret = 40 [
json_name = "client_secret",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.client_secret"
that: "ClientSecret"
}
]; // @gotags: `class:"secret"`
// Output only. The HMAC'd value of the clients secret to indicate whether
// the client secret has changed.
string client_secret_hmac = 50 [json_name = "client_secret_hmac"]; // @gotags: `class:"public"`
string client_secret_hmac = 50 [json_name = "client_secret_hmac"]; // @gotags: `class:"public"`
// The OIDC "max_age" parameter sent to the Authorization Server indicating
// a maximum acceptable time in seconds since the user's last authentication
// before requiring the user to reauthenticate. 0 indicates an immediate
// need to reauthenticate.
google.protobuf.UInt32Value max_age = 60 [json_name = "max_age", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.max_age" that: "MaxAge" }]; // @gotags: `class:"public"`
google.protobuf.UInt32Value max_age = 60 [
json_name = "max_age",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.max_age"
that: "MaxAge"
}
]; // @gotags: `class:"public"`
// The signing algorithms allowed for the auth method.
repeated string signing_algorithms = 70
[json_name = "signing_algorithms", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.signing_algorithms" that: "SigningAlgs" }]; // @gotags: `class:"public"`
repeated string signing_algorithms = 70 [
json_name = "signing_algorithms",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.signing_algorithms"
that: "SigningAlgs"
}
]; // @gotags: `class:"public"`
// The prefix that should be used for any URLs needed during the
// authentication flow. This includes the callback URL, the token retrieval
// URL, and the redirection URL used by the OIDC Authorization Server.
google.protobuf.StringValue api_url_prefix = 80
[json_name = "api_url_prefix", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.api_url_prefix" that: "ApiUrl" }]; // @gotags: `class:"public"`
google.protobuf.StringValue api_url_prefix = 80 [
json_name = "api_url_prefix",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.api_url_prefix"
that: "ApiUrl"
}
]; // @gotags: `class:"public"`
// Output only. The callback URL that should be configured on the
// Authorization Server to use during the authentication flow.
string callback_url = 90 [json_name = "callback_url"]; // @gotags: `class:"public"`
string callback_url = 90 [json_name = "callback_url"]; // @gotags: `class:"public"`
// Optional PEM-encoded X.509 CA certificates that can be used as trust anchors
// when connecting to an OIDC provider.
repeated string idp_ca_certs = 100
[json_name = "idp_ca_certs", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.idp_ca_certs" that: "Certificates" }]; // @gotags: `class:"public"`
repeated string idp_ca_certs = 100 [
json_name = "idp_ca_certs",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.idp_ca_certs"
that: "Certificates"
}
]; // @gotags: `class:"public"`
// Allowed audience claims for this auth method.
repeated string allowed_audiences = 110
[json_name = "allowed_audiences", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.allowed_audiences" that: "AudClaims" }]; // @gotags: `class:"public"`
repeated string allowed_audiences = 110 [
json_name = "allowed_audiences",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.allowed_audiences"
that: "AudClaims"
}
]; // @gotags: `class:"public"`
// Optional claims scopes that will be requested during authentication.
// see: https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims
repeated string claims_scopes = 112
[json_name = "claims_scopes", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.claims_scopes" that: "ClaimsScopes" }]; // @gotags: `class:"public"`
repeated string claims_scopes = 112 [
json_name = "claims_scopes",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.claims_scopes"
that: "ClaimsScopes"
}
]; // @gotags: `class:"public"`
// account_claim_maps are optional claim maps from custom claims to the
// standard claims of sub, name and email. These maps are represented as
// key=value where the key equals the from_claim and the value equals the
// to_claim. For example "oid=sub".
repeated string account_claim_maps = 113
[json_name = "account_claim_maps", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.account_claim_maps" that: "AccountClaimMaps" }]; // @gotags: `class:"public"`
repeated string account_claim_maps = 113 [
json_name = "account_claim_maps",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.account_claim_maps"
that: "AccountClaimMaps"
}
]; // @gotags: `class:"public"`
// If the Authorization Server's discovered configuration contains values
// that do not match the configuration set on this auth method, this can be
@@ -154,7 +241,10 @@ message OidcAuthMethodAttributes {
// will be treated the same as "false"; that is, every time the method is
// updated or the state is changed, this value must be set to "true" or it
// will be disabled.
bool disable_discovered_config_validation = 120 [json_name = "disable_discovered_config_validation", (custom_options.v1.generate_sdk_option) = true]; // @gotags: `class:"public"`
bool disable_discovered_config_validation = 120 [
json_name = "disable_discovered_config_validation",
(custom_options.v1.generate_sdk_option) = true
]; // @gotags: `class:"public"`
// dry_run, when set on an update request, indicates that the changes should
// not be persisted. Boundary will still perform the normal checks to confirm
@@ -162,42 +252,45 @@ message OidcAuthMethodAttributes {
// This value will also be set on the returned resource when set in the request
// along with the updated fields applied to the resource (but not persisted) as
// a result of the update request.
bool dry_run = 130 [json_name = "dry_run", (custom_options.v1.generate_sdk_option) = true]; // @gotags: `class:"public"`
bool dry_run = 130 [
json_name = "dry_run",
(custom_options.v1.generate_sdk_option) = true
]; // @gotags: `class:"public"`
}
// The structure of the OIDC authenticate start response, in the JSON object
message OidcAuthMethodAuthenticateStartResponse {
// The returned authentication URL
string auth_url = 10 [json_name = "auth_url"]; // @gotags: `class:"public"`
string auth_url = 10 [json_name = "auth_url"]; // @gotags: `class:"public"`
// The returned token ID
string token_id = 30 [json_name = "token_id"]; // @gotags: `class:"public"`
string token_id = 30 [json_name = "token_id"]; // @gotags: `class:"public"`
}
// The structure of OIDC callback request parameters
message OidcAuthMethodAuthenticateCallbackRequest {
// The returned code
string code = 10 [json_name = "code"]; // @gotags: `class:"secret"`
string code = 10 [json_name = "code"]; // @gotags: `class:"secret"`
// The returned state
string state = 20 [json_name = "state"]; // @gotags: `class:"public"`
string state = 20 [json_name = "state"]; // @gotags: `class:"public"`
// Error parameters, if they are returned
string error = 30 [json_name = "error"]; // @gotags: `class:"public"`
string error_description = 40 [json_name = "error_description"]; // @gotags: `class:"public"`
string error_uri = 50 [json_name = "error_uri"]; // @gotags: `class:"public"`
string error = 30 [json_name = "error"]; // @gotags: `class:"public"`
string error_description = 40 [json_name = "error_description"]; // @gotags: `class:"public"`
string error_uri = 50 [json_name = "error_uri"]; // @gotags: `class:"public"`
}
// The structure of OIDC callback response parameters
message OidcAuthMethodAuthenticateCallbackResponse {
// The final redirection URL
string final_redirect_url = 10 [json_name = "final_redirect_url"]; // @gotags: `class:"public"`
string final_redirect_url = 10 [json_name = "final_redirect_url"]; // @gotags: `class:"public"`
}
// The structure of OIDC token request parameters
message OidcAuthMethodAuthenticateTokenRequest {
// The ID of the pending token
string token_id = 10 [json_name = "token_id"]; // @gotags: `class:"secret"`
string token_id = 10 [json_name = "token_id"]; // @gotags: `class:"secret"`
}
// Internal only: the structure of a token response if it _does not_ contain a
@@ -205,5 +298,5 @@ message OidcAuthMethodAuthenticateTokenRequest {
message OidcAuthMethodAuthenticateTokenResponse {
// The status. This will always be "unknown". It will never be forwarded to
// the consumer.
string status = 10; // @gotags: `class:"public"`
string status = 10; // @gotags: `class:"public"`
}
@@ -2,46 +2,46 @@ syntax = "proto3";
package controller.api.resources.authtokens.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/authtokens;authtokens";
import "google/protobuf/timestamp.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/authtokens;authtokens";
// AuthToken contains all fields related to an Auth Token resource
message AuthToken {
// Output only. The ID of the Auth Token.
string id = 10; // @gotags: `class:"public"`
// Output only. The ID of the Auth Token.
string id = 10; // @gotags: `class:"public"`
// The Scope in which this Auth Token was generated.
string scope_id = 20 [json_name="scope_id"]; // @gotags: `class:"public"`
// The Scope in which this Auth Token was generated.
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. The token value, which will only be populated after authentication and is only ever visible to the end user whose login request resulted in this Auth Token being created.
string token = 40; // @gotags: `class:"secret"`
// Output only. The token value, which will only be populated after authentication and is only ever visible to the end user whose login request resulted in this Auth Token being created.
string token = 40; // @gotags: `class:"secret"`
// Output only. The ID of the User associated with this Auth Token.
string user_id = 50 [json_name="user_id"]; // @gotags: `class:"public"`
// Output only. The ID of the User associated with this Auth Token.
string user_id = 50 [json_name = "user_id"]; // @gotags: `class:"public"`
// Output only. The ID of the Auth Method associated with this Auth Token.
string auth_method_id = 60 [json_name="auth_method_id"]; // @gotags: `class:"public"`
// Output only. The ID of the Auth Method associated with this Auth Token.
string auth_method_id = 60 [json_name = "auth_method_id"]; // @gotags: `class:"public"`
// Output only. The ID of the Account associated with this Auth Token.
string account_id = 70 [json_name="account_id"]; // @gotags: `class:"public"`
// Output only. The ID of the Account associated with this Auth Token.
string account_id = 70 [json_name = "account_id"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 80 [json_name="created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 80 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 90 [json_name="updated_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 90 [json_name = "updated_time"]; // @gotags: `class:"public"`
// Output only. The approximate time this Auth Token was last used.
google.protobuf.Timestamp approximate_last_used_time = 100 [json_name = "approximate_last_used_time"]; // @gotags: `class:"public"`
// Output only. The approximate time this Auth Token was last used.
google.protobuf.Timestamp approximate_last_used_time = 100 [json_name = "approximate_last_used_time"]; // @gotags: `class:"public"`
// Output only. The time this Auth Token expires.
google.protobuf.Timestamp expiration_time = 110 [json_name="expiration_time"]; // @gotags: `class:"public"`
// Output only. The time this Auth Token expires.
google.protobuf.Timestamp expiration_time = 110 [json_name = "expiration_time"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
}
@@ -2,14 +2,14 @@ syntax = "proto3";
package controller.api.resources.credentiallibraries.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/credentiallibraries;credentiallibraries";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/struct.proto";
import "google/api/visibility.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/visibility.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/credentiallibraries;credentiallibraries";
// CredentialLibrary contains all fields related to an Credential Library resource
message CredentialLibrary {
@@ -26,10 +26,22 @@ message CredentialLibrary {
resources.scopes.v1.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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue name = 40 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "name"
that: "Name"
}
]; // @gotags: `class:"public"`
// 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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue description = 50 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "description"
that: "Description"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
@@ -61,20 +73,46 @@ message CredentialLibrary {
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
// The type of credential this library will issue, defaults to Unspecified
string credential_type = 310 [json_name = "credential_type", (custom_options.v1.generate_sdk_option) = true]; // @gotags: `class:"public"`
string credential_type = 310 [
json_name = "credential_type",
(custom_options.v1.generate_sdk_option) = true
]; // @gotags: `class:"public"`
// The credential mapping overrides
google.protobuf.Struct credential_mapping_overrides = 320 [json_name = "credential_mapping_overrides", (custom_options.v1.generate_sdk_option) = true];
google.protobuf.Struct credential_mapping_overrides = 320 [
json_name = "credential_mapping_overrides",
(custom_options.v1.generate_sdk_option) = true
];
}
// The attributes of a vault typed Credential Library.
message VaultCredentialLibraryAttributes {
// The path in Vault to request credentials from.
google.protobuf.StringValue path = 10 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.path" that: "VaultPath" }]; // @gotags: `class:"public"`
google.protobuf.StringValue path = 10 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.path"
that: "VaultPath"
}
]; // @gotags: `class:"public"`
// The HTTP method the library uses to communicate with Vault.
google.protobuf.StringValue http_method = 20 [json_name = "http_method", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.http_method" that: "HttpMethod" }]; // @gotags: `class:"public"`
google.protobuf.StringValue http_method = 20 [
json_name = "http_method",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.http_method"
that: "HttpMethod"
}
]; // @gotags: `class:"public"`
// The body of the HTTP request the library sends to vault. When set http_method must be "POST"
google.protobuf.StringValue http_request_body = 30 [json_name = "http_request_body", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.http_request_body" that: "HttpRequestBody" }]; // @gotags: `class:"secret"`
google.protobuf.StringValue http_request_body = 30 [
json_name = "http_request_body",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.http_request_body"
that: "HttpRequestBody"
}
]; // @gotags: `class:"secret"`
}
@@ -2,14 +2,14 @@ syntax = "proto3";
package controller.api.resources.credentialstores.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/credentialstores;credentialstores";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/struct.proto";
import "google/api/visibility.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/visibility.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/credentialstores;credentialstores";
// CredentialStore contains all fields related to an Credential Store resource
message CredentialStore {
@@ -23,10 +23,22 @@ message CredentialStore {
resources.scopes.v1.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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue name = 40 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "name"
that: "Name"
}
]; // @gotags: `class:"public"`
// 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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue description = 50 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "description"
that: "Description"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
@@ -64,22 +76,64 @@ message CredentialStore {
// The attributes of a vault typed Credential Store.
message VaultCredentialStoreAttributes {
// The complete url address of vault.
google.protobuf.StringValue address = 10 [json_name = "address", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.address" that: "VaultAddress" }]; // @gotags: `class:"public"`
google.protobuf.StringValue address = 10 [
json_name = "address",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.address"
that: "VaultAddress"
}
]; // @gotags: `class:"public"`
// The namespace of vault used by this store
google.protobuf.StringValue namespace = 20 [json_name = "namespace", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.namespace" that: "Namespace" }]; // @gotags: `class:"public"`
google.protobuf.StringValue namespace = 20 [
json_name = "namespace",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.namespace"
that: "Namespace"
}
]; // @gotags: `class:"public"`
// The PEM encoded CA cert to verify the vault server's ssl certificate
google.protobuf.StringValue ca_cert = 30 [json_name = "ca_cert", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.ca_cert" that: "CaCert" }]; // @gotags: `class:"public"`
google.protobuf.StringValue ca_cert = 30 [
json_name = "ca_cert",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.ca_cert"
that: "CaCert"
}
]; // @gotags: `class:"public"`
// The value to use as the SNI host when connecting to vault via TLS.
google.protobuf.StringValue tls_server_name = 40 [json_name = "tls_server_name", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.tls_server_name" that: "TlsServerName" }]; // @gotags: `class:"public"`
google.protobuf.StringValue tls_server_name = 40 [
json_name = "tls_server_name",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.tls_server_name"
that: "TlsServerName"
}
]; // @gotags: `class:"public"`
// When set to true verification of the TLS certificate is disabled.
google.protobuf.BoolValue tls_skip_verify = 50 [json_name = "tls_skip_verify", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.tls_skip_verify" that: "TlsSkipVerify" }]; // @gotags: `class:"public"`
google.protobuf.BoolValue tls_skip_verify = 50 [
json_name = "tls_skip_verify",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.tls_skip_verify"
that: "TlsSkipVerify"
}
]; // @gotags: `class:"public"`
// Input only. The current vault token used by this credential store for creating new credentials.
google.protobuf.StringValue token = 60 [json_name = "token", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.token" that: "Token" }]; // @gotags: `class:"secret"`
google.protobuf.StringValue token = 60 [
json_name = "token",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.token"
that: "Token"
}
]; // @gotags: `class:"secret"`
// Output only. The hmac value of the vault token used by this credential store.
string token_hmac = 70 [json_name = "token_hmac"]; // @gotags: `class:"public"`
@@ -88,10 +142,24 @@ message VaultCredentialStoreAttributes {
// optional private key included in the bundle. It is an error to include
// the private key in this bundle as well as setting the certificate_key
// field.
google.protobuf.StringValue client_certificate = 80 [json_name = "client_certificate", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.client_certificate" that: "Certificate" }]; // @gotags: `class:"secret"`
google.protobuf.StringValue client_certificate = 80 [
json_name = "client_certificate",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.client_certificate"
that: "Certificate"
}
]; // @gotags: `class:"secret"`
// Input only. A client certificate private key.
google.protobuf.StringValue client_certificate_key = 90 [json_name = "client_certificate_key", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.client_certificate_key" that: "CertificateKey" }]; // @gotags: `class:"secret"`
google.protobuf.StringValue client_certificate_key = 90 [
json_name = "client_certificate_key",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.client_certificate_key"
that: "CertificateKey"
}
]; // @gotags: `class:"secret"`
// Output only. The hmac value of the private key used by the credential store.
string client_certificate_key_hmac = 100 [json_name = "client_certificate_key_hmac"]; // @gotags: `class:"public"`
@@ -2,54 +2,66 @@ syntax = "proto3";
package controller.api.resources.groups.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/groups;groups";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/groups;groups";
message Member {
// Output only. The ID of the member.
string id = 10; // @gotags: `class:"public"`
// Output only. The ID of the member.
string id = 10; // @gotags: `class:"public"`
// Output only. The Scope ID of the member.
string scope_id = 20 [json_name="scope_id"]; // @gotags: `class:"public"`
// Output only. The Scope ID of the member.
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
}
// Group contains all fields related to a Group resource
message Group {
// Output only. The ID of the Group.
string id = 10; // @gotags: `class:"public"`
// Output only. The ID of the Group.
string id = 10; // @gotags: `class:"public"`
// The ID of the scope of which this Group is a part.
string scope_id = 20 [json_name="scope_id"]; // @gotags: `class:"public"`
// The ID of the scope of which this Group is a part.
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this Group.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. Scope information for this Group.
resources.scopes.v1.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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name="created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name="updated_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// Output only. Contains the list of member IDs in this Group.
repeated string member_ids = 90 [json_name="member_ids"]; // @gotags: `class:"public"`
// Output only. Contains the list of member IDs in this Group.
repeated string member_ids = 90 [json_name = "member_ids"]; // @gotags: `class:"public"`
// Output only. The members of this Group.
repeated Member members = 100;
// Output only. The members of this Group.
repeated Member members = 100;
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
}
@@ -2,65 +2,83 @@ syntax = "proto3";
package controller.api.resources.hostcatalogs.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/hostcatalogs;hostcatalogs";
import "controller/api/resources/plugins/v1/plugin.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/struct.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/api/resources/plugins/v1/plugin.proto";
import "controller/custom_options/v1/options.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/hostcatalogs;hostcatalogs";
// HostCatalog manages Hosts and Host Sets
message HostCatalog {
// Output only. The ID of the host.
string id = 10; // @gotags: `class:"public"`
// Output only. The ID of the host.
string id = 10; // @gotags: `class:"public"`
// The ID of the Scope of which this Host Catalog is a part.
string scope_id = 20 [json_name="scope_id"]; // @gotags: `class:"public"`
// The ID of the Scope of which this Host Catalog is a part.
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// The ID of the plugin of which this catalog is created.
string plugin_id = 34 [json_name="plugin_id", (custom_options.v1.generate_sdk_option) = true]; // @gotags: `class:"public"`
// The ID of the plugin of which this catalog is created.
string plugin_id = 34 [
json_name = "plugin_id",
(custom_options.v1.generate_sdk_option) = true
]; // @gotags: `class:"public"`
// Output only. Plugin information for this resource.
resources.plugins.v1.PluginInfo plugin = 35;
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name="created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name="updated_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// The type of Host Catalog.
string type = 90; // @gotags: `class:"public"`
// The type of Host Catalog.
string type = 90; // @gotags: `class:"public"`
oneof attrs {
// Attributes specific to the catalog type.
google.protobuf.Struct attributes = 100 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.subtype) = "default"];
}
oneof attrs {
// Attributes specific to the catalog type.
google.protobuf.Struct attributes = 100 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "default"
];
}
// Secrets specific to the catalog type. These are never output.
google.protobuf.Struct secrets = 110 [(custom_options.v1.generate_sdk_option) = true];
// Secrets specific to the catalog type. These are never output.
google.protobuf.Struct secrets = 110 [(custom_options.v1.generate_sdk_option) = true];
// Output only. The HMAC of the last secrets supplied via the API, if any.
string secrets_hmac = 120; // @gotags: `class:"public"`
// Output only. The HMAC of the last secrets supplied via the API, if any.
string secrets_hmac = 120; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
// Output only. The authorized actions for the scope's collections.
map<string, google.protobuf.ListValue> authorized_collection_actions = 310 [json_name="authorized_collection_actions"]; // classified as public via taggable implementation
// Output only. The authorized actions for the scope's collections.
map<string, google.protobuf.ListValue> authorized_collection_actions = 310 [json_name = "authorized_collection_actions"]; // classified as public via taggable implementation
}
@@ -2,76 +2,100 @@ syntax = "proto3";
package controller.api.resources.hosts.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/hosts;hosts";
import "controller/api/resources/plugins/v1/plugin.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/visibility.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/api/visibility.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/api/resources/plugins/v1/plugin.proto";
import "controller/custom_options/v1/options.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/hosts;hosts";
// Host contains all fields related to a Host resource
message Host {
// Output only. The ID of the Host.
string id = 10; // @gotags: `class:"public"`
// Output only. The ID of the Host.
string id = 10; // @gotags: `class:"public"`
// The Host Catalog of which this Host is a part.
string host_catalog_id = 20 [json_name="host_catalog_id", (custom_options.v1.subtype_source_id) = true]; // @gotags: `class:"public"`
// The Host Catalog of which this Host is a part.
string host_catalog_id = 20 [
json_name = "host_catalog_id",
(custom_options.v1.subtype_source_id) = true
]; // @gotags: `class:"public"`
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// 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;
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name="created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name="updated_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// The type of the resource.
string type = 90; // @gotags: `class:"public"`
// The type of the resource.
string type = 90; // @gotags: `class:"public"`
// Output only. A list of Host Sets containing this Host.
repeated string host_set_ids = 100 [json_name="host_set_ids"]; // @gotags: `class:"public"`
// Output only. A list of Host Sets containing this Host.
repeated string host_set_ids = 100 [json_name = "host_set_ids"]; // @gotags: `class:"public"`
oneof attrs {
// The attributes that are applicable to the specific Host type.
google.protobuf.Struct attributes = 110 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.subtype) = "default"];
StaticHostAttributes static_host_attributes = 111 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "static"
];
}
oneof attrs {
// The attributes that are applicable to the specific Host type.
google.protobuf.Struct attributes = 110 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "default"
];
StaticHostAttributes static_host_attributes = 111 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "static"
];
}
// Output only. The list of ip addresses associated with this host.
repeated string ip_addresses = 120; // @gotags: `class:"public"`
// Output only. The list of ip addresses associated with this host.
repeated string ip_addresses = 120; // @gotags: `class:"public"`
// Output only. The list of dns addresses associated with this host.
repeated string dns_names = 130; // @gotags: `class:"public"`
// Output only. The list of dns addresses associated with this host.
repeated string dns_names = 130; // @gotags: `class:"public"`
// Output only. The external ID of the host, if any.
string external_id = 140; // @gotags: `class:"public"`
// Output only. The external ID of the host, if any.
string external_id = 140; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
}
message StaticHostAttributes {
// The address (DNS or IP name) used to reach the Host.
google.protobuf.StringValue address = 10 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"attributes.address" that: "address"}]; // @gotags: `class:"public"`
// The address (DNS or IP name) used to reach the Host.
google.protobuf.StringValue address = 10 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.address"
that: "address"
}
]; // @gotags: `class:"public"`
}
@@ -2,72 +2,101 @@ syntax = "proto3";
package controller.api.resources.hostsets.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/hostsets;hostsets";
import "controller/api/resources/plugins/v1/plugin.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
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";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/hostsets;hostsets";
// 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; // @gotags: `class:"public"`
// Output only. The ID of the Host Set.
string id = 10; // @gotags: `class:"public"`
// The Host Catalog of which this Host Set is a part.
string host_catalog_id = 20 [json_name="host_catalog_id"]; // @gotags: `class:"public"`
// The Host Catalog of which this Host Set is a part.
string host_catalog_id = 20 [json_name = "host_catalog_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// 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;
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name="created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name="updated_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// The type of the Host Set.
string type = 90; // @gotags: `class:"public"`
// The type of the Host Set.
string type = 90; // @gotags: `class:"public"`
// Output only. A list of Hosts in this Host Set.
repeated string host_ids = 100 [json_name="host_ids"]; // @gotags: `class:"public"`
// Output only. A list of Hosts in this Host Set.
repeated string host_ids = 100 [json_name = "host_ids"]; // @gotags: `class:"public"`
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
oneof attrs {
// The attributes that are applicable for the specific Host Set type.
google.protobuf.Struct attributes = 110 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.subtype) = "default"];
}
oneof attrs {
// The attributes that are applicable for the specific Host Set type.
google.protobuf.Struct attributes = 110 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "default"
];
}
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
}
@@ -2,67 +2,89 @@ syntax = "proto3";
package controller.api.resources.managedgroups.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/managedgroups;managedgroups";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/struct.proto";
import "google/api/visibility.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/visibility.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/managedgroups;managedgroups";
// ManagedGroup contains all fields related to an ManagedGroup resource
message ManagedGroup {
// Output only. The ID of the ManagedGroup.
string id = 10; // @gotags: `class:"public"`
// Output only. The ID of the ManagedGroup.
string id = 10; // @gotags: `class:"public"`
// Output only. Scope information for the ManagedGroup.
resources.scopes.v1.ScopeInfo scope = 20;
// Output only. Scope information for the ManagedGroup.
resources.scopes.v1.ScopeInfo scope = 20;
// Optional name for identification purposes.
google.protobuf.StringValue name = 30 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"name" that: "Name"}]; // @gotags: `class:"public"`
// Optional name for identification purposes.
google.protobuf.StringValue name = 30 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "name"
that: "Name"
}
]; // @gotags: `class:"public"`
// Optional user-set description for identification purposes.
google.protobuf.StringValue description = 40 [(custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"description" that: "Description"}]; // @gotags: `class:"public"`
// Optional user-set description for identification purposes.
google.protobuf.StringValue description = 40 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "description"
that: "Description"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 50 [json_name="created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 50 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 60 [json_name="updated_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 60 [json_name = "updated_time"]; // @gotags: `class:"public"`
// 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 = 70; // @gotags: `class:"public"`
// 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 = 70; // @gotags: `class:"public"`
// The type of this ManagedGroup.
string type = 80; // @gotags: `class:"public"`
// The type of this ManagedGroup.
string type = 80; // @gotags: `class:"public"`
// The ID of the Auth Method that is associated with this ManagedGroup.
string auth_method_id = 90 [json_name="auth_method_id", (custom_options.v1.subtype_source_id) = true]; // @gotags: `class:"public"`
// The ID of the Auth Method that is associated with this ManagedGroup.
string auth_method_id = 90 [
json_name = "auth_method_id",
(custom_options.v1.subtype_source_id) = true
]; // @gotags: `class:"public"`
oneof attrs {
// The attributes that are applicable for the specific ManagedGroup type.
google.protobuf.Struct attributes = 100 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "default"
];
OidcManagedGroupAttributes oidc_managed_group_attributes = 101 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "oidc"
];
}
oneof attrs {
// The attributes that are applicable for the specific ManagedGroup type.
google.protobuf.Struct attributes = 100 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "default"
];
OidcManagedGroupAttributes oidc_managed_group_attributes = 101 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "oidc"
];
}
// Output only. The IDs of the current set of members (accounts) that are associated with this ManagedGroup.
repeated string member_ids = 110 [json_name="member_ids"]; // @gotags: `class:"public"`
// Output only. The IDs of the current set of members (accounts) that are associated with this ManagedGroup.
repeated string member_ids = 110 [json_name = "member_ids"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
}
// Attributes associated only with ManagedGroups with type "oidc".
message OidcManagedGroupAttributes {
// The boolean expression filter to use to determine membership.
string filter = 10 [json_name="filter", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"attributes.filter" that: "Filter"}]; // @gotags: `class:"public"`
// The boolean expression filter to use to determine membership.
string filter = 10 [
json_name = "filter",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.filter"
that: "Filter"
}
]; // @gotags: `class:"public"`
}
@@ -6,11 +6,11 @@ option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resour
message PluginInfo {
// Output only. The ID of the Plugin.
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
// Output only. The name of the plugin resource in boundary, if any.
string name = 2; // @gotags: `class:"public"`
string name = 2; // @gotags: `class:"public"`
// Output only. The description of the plugin in boundary, if any.
string description = 3; // @gotags: `class:"public"`
string description = 3; // @gotags: `class:"public"`
}
@@ -2,88 +2,107 @@ syntax = "proto3";
package controller.api.resources.roles.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/roles;roles";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/roles;roles";
message Principal {
// Output only. The ID of the principal.
string id = 1; // @gotags: `class:"public"`
// Output only. The ID of the principal.
string id = 1; // @gotags: `class:"public"`
// Output only. The type of the principal.
string type = 2; // @gotags: `class:"public"`
// Output only. The type of the principal.
string type = 2; // @gotags: `class:"public"`
// Output only. The Scope of the principal.
string scope_id = 3 [json_name="scope_id"]; // @gotags: `class:"public"`
// Output only. The Scope of the principal.
string scope_id = 3 [json_name = "scope_id"]; // @gotags: `class:"public"`
}
message GrantJson {
// Output only. The ID, if set.
string id = 1; // @gotags: `class:"public"`
// Output only. The ID, if set.
string id = 1; // @gotags: `class:"public"`
// Output only. The type, if set.
string type = 2; // @gotags: `class:"public"`
// Output only. The type, if set.
string type = 2; // @gotags: `class:"public"`
// Output only. The actions.
repeated string actions = 3; // @gotags: `class:"public"`
// Output only. The actions.
repeated string actions = 3; // @gotags: `class:"public"`
}
message Grant {
// Output only. The original user-supplied string.
string raw = 1; // @gotags: `class:"public"`
// Output only. The original user-supplied string.
string raw = 1; // @gotags: `class:"public"`
// Output only. The canonically-formatted string.
string canonical = 2; // @gotags: `class:"public"`
// Output only. The canonically-formatted string.
string canonical = 2; // @gotags: `class:"public"`
// Output only. The JSON representation of the grant.
GrantJson json = 3;
// Output only. The JSON representation of the grant.
GrantJson json = 3;
}
// Role contains all fields related to a Role resource
message Role {
// Output only. The ID of the Role.
string id = 10; // @gotags: `class:"public"`
// Output only. The ID of the Role.
string id = 10; // @gotags: `class:"public"`
// The ID of the Scope containing this Role.
string scope_id = 20 [json_name="scope_id"]; // @gotags: `class:"public"`
// The ID of the Scope containing this Role.
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. Scope information for this resource.
resources.scopes.v1.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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// 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"}]; // @gotags: `class:"public"`
// 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"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name="created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name="updated_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
// The Scope the grants will apply to. If the Role is at the global scope, this can be an org or project. If the Role is at an org scope, this can be a project within the org. It is invalid for this to be anything other than the Role's scope when the Role's scope is a project.
google.protobuf.StringValue grant_scope_id = 90 [json_name="grant_scope_id", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = {this:"grant_scope_id" that: "GrantScopeId"}]; // @gotags: `class:"public"`
// The Scope the grants will apply to. If the Role is at the global scope, this can be an org or project. If the Role is at an org scope, this can be a project within the org. It is invalid for this to be anything other than the Role's scope when the Role's scope is a project.
google.protobuf.StringValue grant_scope_id = 90 [
json_name = "grant_scope_id",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "grant_scope_id"
that: "GrantScopeId"
}
]; // @gotags: `class:"public"`
// Output only. The IDs (only) of principals that are assigned to this role.
repeated string principal_ids = 100 [json_name="principal_ids"]; // @gotags: `class:"public"`
// Output only. The IDs (only) of principals that are assigned to this role.
repeated string principal_ids = 100 [json_name = "principal_ids"]; // @gotags: `class:"public"`
// Output only. The principals that are assigned to this role.
repeated Principal principals = 110;
// Output only. The principals that are assigned to this role.
repeated Principal principals = 110;
// Output only. The grants that this role provides for its principals.
repeated string grant_strings = 120 [json_name="grant_strings"]; // @gotags: `class:"public"`
// Output only. The grants that this role provides for its principals.
repeated string grant_strings = 120 [json_name = "grant_strings"]; // @gotags: `class:"public"`
// Output only. The parsed grant information.
repeated Grant grants = 130;
// Output only. The parsed grant information.
repeated Grant grants = 130;
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
}
@@ -2,71 +2,85 @@ syntax = "proto3";
package controller.api.resources.scopes.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/scopes;scopes";
import "controller/custom_options/v1/options.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/struct.proto";
import "controller/custom_options/v1/options.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/scopes;scopes";
message ScopeInfo {
// Output only. The ID of the Scope.
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
// Output only. The type of the Scope.
string type = 2; // @gotags: `class:"public"`
string type = 2; // @gotags: `class:"public"`
// Output only. The name of the Scope, if any.
string name = 3; // @gotags: `class:"public"`
string name = 3; // @gotags: `class:"public"`
// Output only. The description of the Scope, if any.
string description = 4; // @gotags: `class:"public"`
string description = 4; // @gotags: `class:"public"`
// 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"]; // @gotags: `class:"public"`
string parent_scope_id = 5 [json_name = "parent_scope_id"]; // @gotags: `class:"public"`
}
// Scope contains all fields related to a Scope resource
message Scope {
// Output only. The ID of the Scope.
string id = 10; // @gotags: `class:"public"`
string id = 10; // @gotags: `class:"public"`
// 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"]; // @gotags: `class:"public"`
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
// 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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue name = 40 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}
]; // @gotags: `class:"public"`
// 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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue description = 50 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public"`
google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public"`
// 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; // @gotags: `class:"public"`
uint32 version = 80; // @gotags: `class:"public"`
// The type of the resource.
string type = 90; // @gotags: `class:"public"`
string type = 90; // @gotags: `class:"public"`
// 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" }
]; // @gotags: `class:"public"`
(custom_options.v1.mask_mapping) = {
this: "primary_auth_method_id"
that: "PrimaryAuthMethodId"
}
]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
// Output only. The authorized actions for the scope's collections.
map<string, google.protobuf.ListValue> authorized_collection_actions = 310 [json_name = "authorized_collection_actions"];
@@ -2,10 +2,10 @@ syntax = "proto3";
package controller.api.resources.sessions.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/sessions;sessions";
import "google/protobuf/timestamp.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/sessions;sessions";
message WorkerInfo {
// The address of the worker.
@@ -25,27 +25,26 @@ message SessionState {
// Connection contains information about a specific connection in a session
message Connection {
// client_tcp_address of the connection
string client_tcp_address = 3; // @gotags: `class:"public"`
// client_tcp_address of the connection
string client_tcp_address = 3; // @gotags: `class:"public"`
// client_tcp_port of the connection
uint32 client_tcp_port = 4; // @gotags: `class:"public"`
// client_tcp_port of the connection
uint32 client_tcp_port = 4; // @gotags: `class:"public"`
// endpoint_tcp_address of the connection
string endpoint_tcp_address = 5; // @gotags: `class:"public"`
// endpoint_tcp_address of the connection
string endpoint_tcp_address = 5; // @gotags: `class:"public"`
// endpoint_tcp_port of the connection
uint32 endpoint_tcp_port = 6; // @gotags: `class:"public"`
// endpoint_tcp_port of the connection
uint32 endpoint_tcp_port = 6; // @gotags: `class:"public"`
// bytes_up of the connection
uint64 bytes_up = 7; // @gotags: `class:"public"`
// bytes_up of the connection
uint64 bytes_up = 7; // @gotags: `class:"public"`
// bytes_down of the connection
uint64 bytes_down = 8; // @gotags: `class:"public"`
// bytes_down of the connection
uint64 bytes_down = 8; // @gotags: `class:"public"`
// closed_reason of the conneciont
string closed_reason = 9; // @gotags: `class:"public"`
// closed_reason of the conneciont
string closed_reason = 9; // @gotags: `class:"public"`
}
// Session contains all fields related to a Session resource
@@ -108,7 +107,7 @@ message Session {
string termination_reason = 210 [json_name = "termination_reason"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name="authorized_actions"]; // @gotags: `class:"public"`
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
// Output only. The associated connections with this session.
repeated Connection connections = 310;
@@ -2,14 +2,14 @@ syntax = "proto3";
package controller.api.resources.targets.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/targets;targets";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/struct.proto";
import "google/api/visibility.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/visibility.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/targets;targets";
message HostSource {
// Output only. The ID of the Host Set.
@@ -85,7 +85,7 @@ message SessionCredential {
// Output only. The secret of this credential base64 encoded.
SessionSecret secret = 20;
// Output only. The fields of the strongly typed credential, empty if the credential type of the
// Output only. The fields of the strongly typed credential, empty if the credential type of the
// credential source is unspecified.
google.protobuf.Struct credential = 40;
}
@@ -102,10 +102,22 @@ message Target {
resources.scopes.v1.ScopeInfo scope = 30;
// Required 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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue name = 40 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}
]; // @gotags: `class:"public"`
// 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" }]; // @gotags: `class:"public"`
google.protobuf.StringValue description = 50 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}
]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
@@ -133,21 +145,45 @@ message Target {
repeated HostSource host_sources = 430 [json_name = "host_sources"];
// Maximum total lifetime of a created Session, in seconds.
google.protobuf.UInt32Value session_max_seconds = 120
[json_name = "session_max_seconds", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "session_max_seconds" that: "SessionMaxSeconds" }]; // @gotags: `class:"public"`
google.protobuf.UInt32Value session_max_seconds = 120 [
json_name = "session_max_seconds",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "session_max_seconds"
that: "SessionMaxSeconds"
}
]; // @gotags: `class:"public"`
// Maximum number of connections allowed in a Session. Unlimited is indicated by the value -1.
google.protobuf.Int32Value session_connection_limit = 130
[json_name = "session_connection_limit", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "session_connection_limit" that: "SessionConnectionLimit" }]; // @gotags: `class:"public"`
google.protobuf.Int32Value session_connection_limit = 130 [
json_name = "session_connection_limit",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "session_connection_limit"
that: "SessionConnectionLimit"
}
]; // @gotags: `class:"public"`
// Optional boolean expression to filter the workers that are allowed to satisfy this request.
google.protobuf.StringValue worker_filter = 140
[json_name = "worker_filter", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "worker_filter" that: "WorkerFilter" }]; // @gotags: `class:"public"`
google.protobuf.StringValue worker_filter = 140 [
json_name = "worker_filter",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "worker_filter"
that: "WorkerFilter"
}
]; // @gotags: `class:"public"`
// Output only. The IDs of the application credential library ids associated with this Target. Deprecated: use application_credential_source_ids instead.
repeated string application_credential_library_ids = 150 [json_name = "application_credential_library_ids", deprecated = true]; // @gotags: `class:"public"`
repeated string application_credential_library_ids = 150 [
json_name = "application_credential_library_ids",
deprecated = true
]; // @gotags: `class:"public"`
// Output only. The application credential libraries associated with this Target. Deprecated: use application_credential_sources instead.
repeated CredentialLibrary application_credential_libraries = 180 [json_name = "application_credential_libraries", deprecated = true];
repeated CredentialLibrary application_credential_libraries = 180 [
json_name = "application_credential_libraries",
deprecated = true
];
// Output only. The IDs of the application credential source ids associated with this Target.
repeated string application_credential_source_ids = 400 [json_name = "application_credential_source_ids"]; // @gotags: `class:"public"`
@@ -179,47 +215,53 @@ message Target {
// TcpTargetAttributes contains attributes relevant to Targets of type "tcp"
message TcpTargetAttributes {
// The default TCP port that will be used when connecting to the endpoint unless overridden by a Host Set or Host.
google.protobuf.UInt32Value default_port = 10
[json_name = "default_port", (custom_options.v1.generate_sdk_option) = true, (custom_options.v1.mask_mapping) = { this: "attributes.default_port" that: "DefaultPort" }]; // @gotags: `class:"public"`
google.protobuf.UInt32Value default_port = 10 [
json_name = "default_port",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.default_port"
that: "DefaultPort"
}
]; // @gotags: `class:"public"`
}
// WorkerInfo contains information about workers, returned in to the client in SessionAuthorization
message WorkerInfo {
// Output only. The address of the worker.
string address = 10; // @gotags: `class:"public"`
string address = 10; // @gotags: `class:"public"`
}
// SessionAuthorizationData contains the fields needed by the proxy command to connect to a worker. It is marshaled inside the SessionAuthorization message.
message SessionAuthorizationData {
// Output only. The ID of the session.
string session_id = 10 [json_name = "session_id"]; // @gotags: `class:"public"`
string session_id = 10 [json_name = "session_id"]; // @gotags: `class:"public"`
// Output only. The ID of the Target authorizing this session.
string target_id = 20 [json_name = "target_id"]; // @gotags: `class:"public"`
string target_id = 20 [json_name = "target_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this the Target that authorized this session.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 40 [json_name = "created_time"]; // @gotags: `class:"public"`
google.protobuf.Timestamp created_time = 40 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. Type of the session (e.g. tcp, ssh, etc.).
string type = 80; // @gotags: `class:"public"`
string type = 80; // @gotags: `class:"public"`
// Output only. The connection limit being applied to this session. -1 means unlimited. This is not actually enforced on the client side but it provides for better listener handling by including it.
int32 connection_limit = 90 [json_name = "connection_limit"];
// Output only. The certificate to use when connecting. Raw DER bytes.
bytes certificate = 120; // @gotags: `class:"sensitive"`
bytes certificate = 120; // @gotags: `class:"sensitive"`
// Output only. The private key to use when connecting. We are using Ed25519, so this is purely raw bytes, no marshaling.
bytes private_key = 130 [json_name = "private_key"]; // @gotags: `class:"secret"`
bytes private_key = 130 [json_name = "private_key"]; // @gotags: `class:"secret"`
// Output only. The host ID...not used for security purposes, but for some special command handling (e.g. ssh host key aliasing).
string host_id = 140; // @gotags: `class:"public"`
string host_id = 140; // @gotags: `class:"public"`
// Output only. The endpoint, for some special command handling.
string endpoint = 141; // @gotags: `class:"public"`
string endpoint = 141; // @gotags: `class:"public"`
// Output only. Worker information. The first worker in the array should be prioritized.
repeated WorkerInfo worker_info = 150 [json_name = "worker_info"];
@@ -228,34 +270,34 @@ message SessionAuthorizationData {
// SessionAuthorization contains all fields related to authorization for a Session. It's in the Targets package because it's returned by a Target's authorize action.
message SessionAuthorization {
// Output only. The ID of the Session.
string session_id = 10 [json_name = "session_id"]; // @gotags: `class:"public"`
string session_id = 10 [json_name = "session_id"]; // @gotags: `class:"public"`
// Output only. The ID of the Target authorizing this Session.
string target_id = 20 [json_name = "target_id"]; // @gotags: `class:"public"`
string target_id = 20 [json_name = "target_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 40 [json_name = "created_time"]; // @gotags: `class:"public"`
google.protobuf.Timestamp created_time = 40 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The User for which this Session was authorized.
string user_id = 50 [json_name = "user_id"]; // @gotags: `class:"public"`
string user_id = 50 [json_name = "user_id"]; // @gotags: `class:"public"`
// Output only. The Host Set containing the Host being used for this Session.
string host_set_id = 60 [json_name = "host_set_id"]; // @gotags: `class:"public"`
string host_set_id = 60 [json_name = "host_set_id"]; // @gotags: `class:"public"`
// Output only. The Host whose address is being used as the endpoint for this Session.
string host_id = 70 [json_name = "host_id"]; // @gotags: `class:"public"`
string host_id = 70 [json_name = "host_id"]; // @gotags: `class:"public"`
// Output only. Type of the Session (e.g. tcp, ssh, etc.).
string type = 80; // @gotags: `class:"public"`
string type = 80; // @gotags: `class:"public"`
// Output only. The marshaled SessionAuthorizationData message containing all information that the proxy needs.
string authorization_token = 90 [json_name = "authorization_token"]; // @gotags: `class:"private"`
string authorization_token = 90 [json_name = "authorization_token"]; // @gotags: `class:"private"`
// Output only. The endpoint address that the worker will connect to, useful for setting TLS parameters.
string endpoint = 100; // @gotags: `class:"public"`
string endpoint = 100; // @gotags: `class:"public"`
// Output only. The credentials for this session.
repeated SessionCredential credentials = 110 [json_name = "credentials"];
@@ -2,12 +2,12 @@ syntax = "proto3";
package controller.api.resources.users.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/users;users";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "controller/custom_options/v1/options.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/users;users";
message Account {
// Output only. The ID of the Account.
@@ -29,10 +29,22 @@ message User {
resources.scopes.v1.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" }]; // @gotags: `class:"sensitive"`
google.protobuf.StringValue name = 40 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}
]; // @gotags: `class:"sensitive"`
// 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" }]; // @gotags: `class:"sensitive"`
google.protobuf.StringValue description = 50 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}
]; // @gotags: `class:"sensitive"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public"`
@@ -2,25 +2,23 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/accounts/v1/account.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (custom_options.v1.domain) = "auth";
service AccountService {
// GetAccount returns a stored Account if present. The provided request must
// include the id for the Account be retrieved. If missing, malformed or
// referencing a non existing Account an error is returned.
rpc GetAccount(GetAccountRequest) returns (GetAccountResponse) {
option (google.api.http) = {
get: "/v1/accounts/{id}"
response_body: "item"
get: "/v1/accounts/{id}"
response_body: "item"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Gets a single Account."
@@ -34,7 +32,7 @@ service AccountService {
rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse) {
option (google.api.http) = {
get: "/v1/accounts"
};
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Lists all Accounts in a specific Auth Method."
};
@@ -117,7 +115,7 @@ service AccountService {
}
message GetAccountRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message GetAccountResponse {
@@ -125,8 +123,8 @@ message GetAccountResponse {
}
message ListAccountsRequest {
string auth_method_id = 1 [json_name="auth_method_id"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"sensitive"`
string auth_method_id = 1 [json_name = "auth_method_id"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"sensitive"`
}
message ListAccountsResponse {
@@ -138,14 +136,14 @@ message CreateAccountRequest {
}
message CreateAccountResponse {
string uri = 1; // @gotags: `class:"public"`
string uri = 1; // @gotags: `class:"public"`
resources.accounts.v1.Account item = 2;
}
message UpdateAccountRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
resources.accounts.v1.Account item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
message UpdateAccountResponse {
@@ -153,17 +151,17 @@ message UpdateAccountResponse {
}
message DeleteAccountRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message DeleteAccountResponse {}
message SetPasswordRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
string password = 3; // @gotags: `class:"secret"`
uint32 version = 2; // @gotags: `class:"public"`
string password = 3; // @gotags: `class:"secret"`
}
message SetPasswordResponse {
@@ -171,12 +169,12 @@ message SetPasswordResponse {
}
message ChangePasswordRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
string current_password = 3 [json_name="current_password"]; // @gotags: `class:"secret"`
string new_password = 4 [json_name="new_password"]; // @gotags: `class:"secret"`
uint32 version = 2; // @gotags: `class:"public"`
string current_password = 3 [json_name = "current_password"]; // @gotags: `class:"secret"`
string new_password = 4 [json_name = "new_password"]; // @gotags: `class:"secret"`
}
message ChangePasswordResponse {
@@ -2,17 +2,16 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "controller/api/resources/authmethods/v1/auth_method.proto";
import "controller/api/resources/authtokens/v1/authtoken.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/annotations.proto";
import "google/api/visibility.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/struct.proto";
import "controller/api/resources/authmethods/v1/auth_method.proto";
import "controller/api/resources/authtokens/v1/authtoken.proto";
import "controller/custom_options/v1/options.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (custom_options.v1.domain) = "auth";
service AuthMethodService {
@@ -112,7 +111,7 @@ service AuthMethodService {
}
message GetAuthMethodRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message GetAuthMethodResponse {
@@ -120,9 +119,9 @@ message GetAuthMethodResponse {
}
message ListAuthMethodsRequest {
string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListAuthMethodsResponse {
@@ -134,12 +133,12 @@ message CreateAuthMethodRequest {
}
message CreateAuthMethodResponse {
string uri = 1; // @gotags: `class:"public"`
string uri = 1; // @gotags: `class:"public"`
resources.authmethods.v1.AuthMethod item = 2;
}
message UpdateAuthMethodRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
resources.authmethods.v1.AuthMethod item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
@@ -149,7 +148,7 @@ message UpdateAuthMethodResponse {
}
message DeleteAuthMethodRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message DeleteAuthMethodResponse {}
@@ -157,23 +156,26 @@ message DeleteAuthMethodResponse {}
// Attributes specific to changing the state of an oidc auth method.
message OidcChangeStateAttributes {
// state must be `inactive`, `active-private`, or `active-public`
string state = 1; // @gotags: `class:"public"`
string state = 1; // @gotags: `class:"public"`
// This flag is only useful for an oidc auth method. It should not be used
// unless the oidc provider's config is incorrectly set and is stopping the
// activation of this auth method.
bool disable_discovered_config_validation = 2 [json_name = "disable_discovered_config_validation"]; // @gotags: `class:"public"`
bool disable_discovered_config_validation = 2 [json_name = "disable_discovered_config_validation"]; // @gotags: `class:"public"`
}
message ChangeStateRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
uint32 version = 2; // @gotags: `class:"public"`
oneof attrs {
// The attributes specific to this auth method's state.
google.protobuf.Struct attributes = 4 [(custom_options.v1.subtype) = "default"];
OidcChangeStateAttributes oidc_change_state_attributes = 5 [(custom_options.v1.subtype) = "oidc", (google.api.field_visibility).restriction = "INTERNAL"];
OidcChangeStateAttributes oidc_change_state_attributes = 5 [
(custom_options.v1.subtype) = "oidc",
(google.api.field_visibility).restriction = "INTERNAL"
];
}
}
@@ -184,8 +186,8 @@ message ChangeStateResponse {
// The layout of the struct for "attributes" field in AuthenticateRequest for a password type. This message isn't directly referenced anywhere but is used here to define the expected field names and
// types.
message PasswordLoginAttributes {
string login_name = 1 [json_name = "login_name"]; // @gotags: `class:"sensitive"`
string password = 2; // @gotags: `class:"secret"`
string login_name = 1 [json_name = "login_name"]; // @gotags: `class:"sensitive"`
string password = 2; // @gotags: `class:"secret"`
}
// The layout of the struct for "attributes" field in AuthenticateRequest for a oidc type's start command. This message isn't directly referenced anywhere but is used here to define the expected field
@@ -194,18 +196,21 @@ message OidcStartAttributes {
// An object which will be marshaled as JSON and roundtripped in the token command call.
google.protobuf.Struct roundtrip_payload = 1 [json_name = "roundtrip_payload"];
// Cached marshaled payload. This is not ingressed from the client; anything found will be thrown out.
string cached_roundtrip_payload = 2; // @gotags: `class:"sensitive"`
string cached_roundtrip_payload = 2; // @gotags: `class:"sensitive"`
}
message AuthenticateRequest {
// The ID of the Auth Method in the system that should be used for authentication.
string auth_method_id = 1 [json_name = "auth_method_id"]; // @gotags: `class:"public"`
string auth_method_id = 1 [json_name = "auth_method_id"]; // @gotags: `class:"public"`
// This can be "cookie" or "token". If not provided, "token" will be used. "cookie" activates a split-cookie method where the token is split partially between http-only and regular cookies in order
// to keep it safe from rogue JS in the browser. Deprecated, use "type" instead.
string token_type = 2 [json_name = "token_type", deprecated = true]; // @gotags: `class:"public"`
string token_type = 2 [
json_name = "token_type",
deprecated = true
]; // @gotags: `class:"public"`
// This can be "cookie" or "token". If not provided, "token" will be used. "cookie" activates a split-cookie method where the token is split partially between http-only and regular cookies in order
// to keep it safe from rogue JS in the browser.
string type = 6 [json_name = "type"]; // @gotags: `class:"public"`
string type = 6 [json_name = "type"]; // @gotags: `class:"public"`
oneof attrs {
// Attributes are passed to the Auth Method; the valid keys and values depend on the type of Auth Method as well as the command.
google.protobuf.Struct attributes = 4;
@@ -217,7 +222,7 @@ message AuthenticateRequest {
controller.api.resources.authmethods.v1.OidcAuthMethodAuthenticateTokenRequest oidc_auth_method_authenticate_token_request = 10 [(google.api.field_visibility).restriction = "INTERNAL"];
}
// The command to perform.
string command = 5 [json_name = "command"]; // @gotags: `class:"public"`
string command = 5 [json_name = "command"]; // @gotags: `class:"public"`
// Deprecated fields
reserved "credentials";
@@ -225,10 +230,10 @@ message AuthenticateRequest {
}
message AuthenticateResponse {
reserved 1, 2; // Old item and token_type
reserved 1, 2; // Old item and token_type
reserved "item", "token_type";
// The type of the token returned. Either "cookie" or "token".
string type = 3; // @gotags: `class:"public"`
string type = 3; // @gotags: `class:"public"`
oneof attrs {
// Valid keys and values depend on the type of Auth Method as well as the command.
google.protobuf.Struct attributes = 4 [json_name = "attributes"];
@@ -240,5 +245,5 @@ message AuthenticateResponse {
controller.api.resources.authtokens.v1.AuthToken auth_token_response = 9 [(google.api.field_visibility).restriction = "INTERNAL"];
}
// The command that was performed.
string command = 5 [json_name = "command"]; // @gotags: `class:"public"`
string command = 5 [json_name = "command"]; // @gotags: `class:"public"`
}
@@ -2,17 +2,16 @@ syntax = "proto3";
package controller.api.services.v1;
import "controller/api/resources/authtokens/v1/authtoken.proto";
import "google/api/annotations.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "controller/api/resources/authtokens/v1/authtoken.proto";
service AuthTokenService {
// GetAuthToken returns a stored Auth Token if present. The provided request
// must include the Auth Token id and if it is missing, malformed or
// referencing a non existing resource an error is returned.
// referencing a non existing resource an error is returned.
rpc GetAuthToken(GetAuthTokenRequest) returns (GetAuthTokenResponse) {
option (google.api.http) = {
get: "/v1/auth-tokens/{id}"
@@ -49,7 +48,7 @@ service AuthTokenService {
}
message GetAuthTokenRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message GetAuthTokenResponse {
@@ -57,9 +56,9 @@ message GetAuthTokenResponse {
}
message ListAuthTokensRequest {
string scope_id = 1 [json_name="scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name="recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"public"`
string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListAuthTokensResponse {
@@ -67,7 +66,7 @@ message ListAuthTokensResponse {
}
message DeleteAuthTokenRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message DeleteAuthTokenResponse {}
@@ -2,14 +2,13 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/credentiallibraries/v1/credential_library.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (custom_options.v1.domain) = "credential";
service CredentialLibraryService {
@@ -2,14 +2,13 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/credentialstores/v1/credential_store.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (custom_options.v1.domain) = "credential";
service CredentialStoreService {
@@ -2,15 +2,14 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "controller/api/resources/groups/v1/group.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/groups/v1/group.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
service GroupService {
// GetGroup returns a stored Group if present. The provided request must
// include the Group id and if it is missing, malformed or referencing a
// non existing resource an error is returned.
@@ -139,9 +138,9 @@ message GetGroupResponse {
}
message ListGroupsRequest {
string scope_id = 1 [json_name="scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name="recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"public"`
string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListGroupsResponse {
@@ -160,7 +159,7 @@ message CreateGroupResponse {
message UpdateGroupRequest {
string id = 1; // @gotags: `class:"public"`
resources.groups.v1.Group item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
message UpdateGroupResponse {
@@ -178,7 +177,7 @@ message AddGroupMembersRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string member_ids = 3 [json_name="member_ids"]; // @gotags: `class:"public"`
repeated string member_ids = 3 [json_name = "member_ids"]; // @gotags: `class:"public"`
}
message AddGroupMembersResponse {
@@ -190,7 +189,7 @@ message SetGroupMembersRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string member_ids = 3 [json_name="member_ids"]; // @gotags: `class:"public"`
repeated string member_ids = 3 [json_name = "member_ids"]; // @gotags: `class:"public"`
}
message SetGroupMembersResponse {
@@ -202,7 +201,7 @@ message RemoveGroupMembersRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string member_ids = 3 [json_name="member_ids"]; // @gotags: `class:"public"`
repeated string member_ids = 3 [json_name = "member_ids"]; // @gotags: `class:"public"`
}
message RemoveGroupMembersResponse {
@@ -2,18 +2,16 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/hostcatalogs/v1/host_catalog.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (custom_options.v1.domain) = "host";
service HostCatalogService {
// GetHostCatalog returns a stored Host Catalog if present. The provided
// request must include the Catalog IDs for the Host Catalog being retrieved.
// If missing, malformed, or referencing a non-existing resource an error is
@@ -87,7 +85,7 @@ service HostCatalogService {
}
message GetHostCatalogRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message GetHostCatalogResponse {
@@ -95,9 +93,9 @@ message GetHostCatalogResponse {
}
message ListHostCatalogsRequest {
string scope_id = 1 [json_name="scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name="recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"public"`
string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListHostCatalogsResponse {
@@ -108,16 +106,16 @@ message CreateHostCatalogRequest {
api.resources.hostcatalogs.v1.HostCatalog item = 1;
// As an alternative to providing the plugin id in the provided HostCatalog,
// this field can be used to lookup the plugin using its name.
string plugin_name = 2 [json_name="plugin_name"]; // @gotags: `class:"public"`
string plugin_name = 2 [json_name = "plugin_name"]; // @gotags: `class:"public"`
}
message CreateHostCatalogResponse {
string uri = 1; // @gotags: `class:"public"`
string uri = 1; // @gotags: `class:"public"`
api.resources.hostcatalogs.v1.HostCatalog item = 2;
}
message UpdateHostCatalogRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
api.resources.hostcatalogs.v1.HostCatalog item = 2;
google.protobuf.FieldMask update_mask = 3;
}
@@ -127,7 +125,7 @@ message UpdateHostCatalogResponse {
}
message DeleteHostCatalogRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message DeleteHostCatalogResponse {}
@@ -2,21 +2,20 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/hosts/v1/host.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (custom_options.v1.domain) = "host";
service HostService {
// GetHost returns a stored Host if present. The provided request
// must include the host ID for the resource being retrieved. If the ID is
// missing, malformed or referencing anon existing resource an error is
// returned.
// returned.
rpc GetHost(GetHostRequest) returns (GetHostResponse) {
option (google.api.http) = {
get: "/v1/hosts/{id}"
@@ -88,7 +87,7 @@ service HostService {
}
message GetHostRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message GetHostResponse {
@@ -96,8 +95,8 @@ message GetHostResponse {
}
message ListHostsRequest {
string host_catalog_id = 1 [json_name="host_catalog_id"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"public"`
string host_catalog_id = 1 [json_name = "host_catalog_id"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListHostsResponse {
@@ -109,14 +108,14 @@ message CreateHostRequest {
}
message CreateHostResponse {
string uri = 1; // @gotags: `class:"public"`
string uri = 1; // @gotags: `class:"public"`
api.resources.hosts.v1.Host item = 2;
}
message UpdateHostRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
api.resources.hosts.v1.Host item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
message UpdateHostResponse {
@@ -124,7 +123,7 @@ message UpdateHostResponse {
}
message DeleteHostRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message DeleteHostResponse {}
@@ -2,14 +2,13 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/hostsets/v1/host_set.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (custom_options.v1.domain) = "host";
service HostSetService {
@@ -138,7 +137,7 @@ service HostSetService {
}
message GetHostSetRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message GetHostSetResponse {
@@ -146,8 +145,8 @@ message GetHostSetResponse {
}
message ListHostSetsRequest {
string host_catalog_id = 1 [json_name="host_catalog_id"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"public"`
string host_catalog_id = 1 [json_name = "host_catalog_id"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListHostSetsResponse {
@@ -159,14 +158,14 @@ message CreateHostSetRequest {
}
message CreateHostSetResponse {
string uri = 1; // @gotags: `class:"public"`
string uri = 1; // @gotags: `class:"public"`
api.resources.hostsets.v1.HostSet item = 2;
}
message UpdateHostSetRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
api.resources.hostsets.v1.HostSet item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
message UpdateHostSetResponse {
@@ -174,19 +173,19 @@ message UpdateHostSetResponse {
}
message DeleteHostSetRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message DeleteHostSetResponse {}
message AddHostSetHostsRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
uint32 version = 2; // @gotags: `class:"public"`
// A list of Host IDs which will be added to this Host Set. Each Host referenced here must be a child of the same Host Catalog of which this Host Set is a child.
repeated string host_ids = 3 [json_name="host_ids"]; // @gotags: `class:"public"`
repeated string host_ids = 3 [json_name = "host_ids"]; // @gotags: `class:"public"`
}
message AddHostSetHostsResponse {
@@ -194,13 +193,13 @@ message AddHostSetHostsResponse {
}
message SetHostSetHostsRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
uint32 version = 2; // @gotags: `class:"public"`
// A list of Host IDs which will be set on this Host Set. Each Host referenced here must be a child of the same Host Catalog of which this Host Set is a child.
repeated string host_ids = 3 [json_name="host_ids"]; // @gotags: `class:"public"`
repeated string host_ids = 3 [json_name = "host_ids"]; // @gotags: `class:"public"`
}
message SetHostSetHostsResponse {
@@ -208,13 +207,13 @@ message SetHostSetHostsResponse {
}
message RemoveHostSetHostsRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
uint32 version = 2; // @gotags: `class:"public"`
// A list of Host IDs which will be removed from this Host Set.
repeated string host_ids = 3 [json_name="host_ids"]; // @gotags: `class:"public"`
repeated string host_ids = 3 [json_name = "host_ids"]; // @gotags: `class:"public"`
}
message RemoveHostSetHostsResponse {
@@ -2,25 +2,23 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/managedgroups/v1/managed_group.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (custom_options.v1.domain) = "auth";
service ManagedGroupService {
// GetManagedGroup returns a stored ManagedGroup if present. The provided request must
// include the id for the ManagedGroup be retrieved. If missing, malformed or
// referencing a non existing ManagedGroup an error is returned.
rpc GetManagedGroup(GetManagedGroupRequest) returns (GetManagedGroupResponse) {
option (google.api.http) = {
get: "/v1/managed-groups/{id}"
response_body: "item"
get: "/v1/managed-groups/{id}"
response_body: "item"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Gets a single ManagedGroup."
@@ -34,7 +32,7 @@ service ManagedGroupService {
rpc ListManagedGroups(ListManagedGroupsRequest) returns (ListManagedGroupsResponse) {
option (google.api.http) = {
get: "/v1/managed-groups"
};
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Lists all ManagedGroups in a specific Auth Method."
};
@@ -97,8 +95,8 @@ message GetManagedGroupResponse {
}
message ListManagedGroupsRequest {
string auth_method_id = 1 [json_name="auth_method_id"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"public"`
string auth_method_id = 1 [json_name = "auth_method_id"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListManagedGroupsResponse {
@@ -117,7 +115,7 @@ message CreateManagedGroupResponse {
message UpdateManagedGroupRequest {
string id = 1; // @gotags: `class:"public"`
resources.managedgroups.v1.ManagedGroup item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
message UpdateManagedGroupResponse {
@@ -2,15 +2,14 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "controller/api/resources/roles/v1/role.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/roles/v1/role.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
service RoleService {
// GetRole returns a stored Role if present. The provided request must include
// the Role ID for the Role being retrieved. If the ID is missing, malformed
// or reference a non-existing resource an error is returned.
@@ -176,7 +175,6 @@ service RoleService {
summary: "Removes grants from a Role."
};
}
}
message GetRoleRequest {
@@ -188,9 +186,9 @@ message GetRoleResponse {
}
message ListRolesRequest {
string scope_id = 1 [json_name="scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name="recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"public"`
string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListRolesResponse {
@@ -209,7 +207,7 @@ message CreateRoleResponse {
message UpdateRoleRequest {
string id = 1; // @gotags: `class:"public"`
resources.roles.v1.Role item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
message UpdateRoleResponse {
@@ -227,7 +225,7 @@ message AddRolePrincipalsRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string principal_ids = 3 [json_name="principal_ids"]; // @gotags: `class:"public"`
repeated string principal_ids = 3 [json_name = "principal_ids"]; // @gotags: `class:"public"`
}
message AddRolePrincipalsResponse {
@@ -239,7 +237,7 @@ message SetRolePrincipalsRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string principal_ids = 3 [json_name="principal_ids"]; // @gotags: `class:"public"`
repeated string principal_ids = 3 [json_name = "principal_ids"]; // @gotags: `class:"public"`
}
message SetRolePrincipalsResponse {
@@ -251,7 +249,7 @@ message RemoveRolePrincipalsRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string principal_ids = 3 [json_name="principal_ids"]; // @gotags: `class:"public"`
repeated string principal_ids = 3 [json_name = "principal_ids"]; // @gotags: `class:"public"`
}
message RemoveRolePrincipalsResponse {
@@ -263,7 +261,7 @@ message AddRoleGrantsRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string grant_strings = 3 [json_name="grant_strings"]; // @gotags: `class:"public"`
repeated string grant_strings = 3 [json_name = "grant_strings"]; // @gotags: `class:"public"`
}
message AddRoleGrantsResponse {
@@ -275,7 +273,7 @@ message SetRoleGrantsRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string grant_strings = 3 [json_name="grant_strings"]; // @gotags: `class:"public"`
repeated string grant_strings = 3 [json_name = "grant_strings"]; // @gotags: `class:"public"`
}
message SetRoleGrantsResponse {
@@ -287,7 +285,7 @@ message RemoveRoleGrantsRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string grant_strings = 3 [json_name="grant_strings"]; // @gotags: `class:"public"`
repeated string grant_strings = 3 [json_name = "grant_strings"]; // @gotags: `class:"public"`
}
message RemoveRoleGrantsResponse {
@@ -2,13 +2,12 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/scopes/v1/scope.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
info: {
title: "Boundary Controller HTTP API"
@@ -100,8 +99,8 @@ message GetScopeResponse {
message ListScopesRequest {
string scope_id = 1;
bool recursive = 20 [json_name="recursive"];
string filter = 30 [json_name="filter"];
bool recursive = 20 [json_name = "recursive"];
string filter = 30 [json_name = "filter"];
}
message ListScopesResponse {
@@ -122,7 +121,7 @@ message CreateScopeResponse {
message UpdateScopeRequest {
string id = 1;
resources.scopes.v1.Scope item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
message UpdateScopeResponse {
@@ -2,78 +2,78 @@ syntax = "proto3";
package controller.api.services.v1;
import "controller/api/resources/sessions/v1/session.proto";
import "google/api/annotations.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "controller/api/resources/sessions/v1/session.proto";
service SessionService {
// GetSession returns a stored Session if present. The provided request
// must include the Session ID for the Session being retrieved. If
// any that ID is missing, malformed or reference a non existing
// resource an error is returned.
rpc GetSession(GetSessionRequest) returns (GetSessionResponse) {
option (google.api.http) = {
get: "/v1/sessions/{id}"
response_body: "item"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Gets a single Session."
};
}
// GetSession returns a stored Session if present. The provided request
// must include the Session ID for the Session being retrieved. If
// any that ID is missing, malformed or reference a non existing
// resource an error is returned.
rpc GetSession(GetSessionRequest) returns (GetSessionResponse) {
option (google.api.http) = {
get: "/v1/sessions/{id}"
response_body: "item"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Gets a single Session."
};
}
// ListSessions returns a list of stored Sessions which exist inside the scope
// referenced inside the request. The request must include the scope ID for
// the Sessions being retrieved. If the scope ID is missing, malformed, or
// reference a non existing scope, an error is returned.
rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse) {
option (google.api.http) = {
get: "/v1/sessions"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Lists all Sessions."
};
}
// ListSessions returns a list of stored Sessions which exist inside the scope
// referenced inside the request. The request must include the scope ID for
// the Sessions being retrieved. If the scope ID is missing, malformed, or
// reference a non existing scope, an error is returned.
rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse) {
option (google.api.http) = {
get: "/v1/sessions"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Lists all Sessions."
};
}
// CancelSession cancels an existing Session in boundary. An error
// is returned if the request attempts to cancel a Session that does
// not exist.
rpc CancelSession(CancelSessionRequest) returns (CancelSessionResponse) {
option (google.api.http) = {
post: "/v1/sessions/{id}:cancel"
body: "*"
response_body: "item"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Cancels a Session."
};
}
// CancelSession cancels an existing Session in boundary. An error
// is returned if the request attempts to cancel a Session that does
// not exist.
rpc CancelSession(CancelSessionRequest) returns (CancelSessionResponse) {
option (google.api.http) = {
post: "/v1/sessions/{id}:cancel"
body: "*"
response_body: "item"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Cancels a Session."
};
}
}
message GetSessionRequest {
string id = 1; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
}
message GetSessionResponse {
resources.sessions.v1.Session item = 1;
resources.sessions.v1.Session item = 1;
}
message ListSessionsRequest {
string scope_id = 1; // @gotags: `class:"public"`
bool recursive = 20 [json_name="recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"public"`
string scope_id = 1; // @gotags: `class:"public"`
bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListSessionsResponse {
repeated resources.sessions.v1.Session items = 1;
repeated resources.sessions.v1.Session items = 1;
}
message CancelSessionRequest {
string id = 1; // @gotags: `class:"public"`
uint32 version = 2; // @gotags: `class:"public"`
string id = 1; // @gotags: `class:"public"`
uint32 version = 2; // @gotags: `class:"public"`
}
message CancelSessionResponse {
resources.sessions.v1.Session item = 1;
resources.sessions.v1.Session item = 1;
}
@@ -2,18 +2,16 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/targets/v1/target.proto";
import "controller/custom_options/v1/options.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
option (custom_options.v1.domain) = "target";
service TargetService {
// GetTarget returns a stored Target if present. The provided request
// must include the Target ID for the Target being retrieved. If
// that ID is missing, malformed or reference a non existing
@@ -205,7 +203,6 @@ service TargetService {
};
}
// AddTargetCredentialLibraries adds Credential Libraries to this Target.
// The provided request must include the Target ID to which the Credential
// Libraries will be added. All Credential Libraries added to the provided
@@ -328,8 +325,8 @@ message GetTargetResponse {
message ListTargetsRequest {
string scope_id = 1; // @gotags: `class:"public"`
bool recursive = 20 [json_name="recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"public"`
bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"`
}
message ListTargetsResponse {
@@ -348,7 +345,7 @@ message CreateTargetResponse {
message UpdateTargetRequest {
string id = 1; // @gotags: `class:"public"`
resources.targets.v1.Target item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
message UpdateTargetResponse {
@@ -366,7 +363,7 @@ message AddTargetHostSetsRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string host_set_ids = 3 [json_name="host_set_ids"]; // @gotags: `class:"public"`
repeated string host_set_ids = 3 [json_name = "host_set_ids"]; // @gotags: `class:"public"`
}
message AddTargetHostSetsResponse {
@@ -378,7 +375,7 @@ message SetTargetHostSetsRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string host_set_ids = 3 [json_name="host_set_ids"]; // @gotags: `class:"public"`
repeated string host_set_ids = 3 [json_name = "host_set_ids"]; // @gotags: `class:"public"`
}
message SetTargetHostSetsResponse {
@@ -390,7 +387,7 @@ message RemoveTargetHostSetsRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string host_set_ids = 3 [json_name="host_set_ids"]; // @gotags: `class:"public"`
repeated string host_set_ids = 3 [json_name = "host_set_ids"]; // @gotags: `class:"public"`
}
message RemoveTargetHostSetsResponse {
@@ -402,7 +399,7 @@ message AddTargetHostSourcesRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string host_source_ids = 3 [json_name="host_source_ids"]; // @gotags: `class:"public"`
repeated string host_source_ids = 3 [json_name = "host_source_ids"]; // @gotags: `class:"public"`
}
message AddTargetHostSourcesResponse {
@@ -414,7 +411,7 @@ message SetTargetHostSourcesRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string host_source_ids = 3 [json_name="host_source_ids"]; // @gotags: `class:"public"`
repeated string host_source_ids = 3 [json_name = "host_source_ids"]; // @gotags: `class:"public"`
}
message SetTargetHostSourcesResponse {
@@ -426,7 +423,7 @@ message RemoveTargetHostSourcesRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string host_source_ids = 3 [json_name="host_source_ids"]; // @gotags: `class:"public"`
repeated string host_source_ids = 3 [json_name = "host_source_ids"]; // @gotags: `class:"public"`
}
message RemoveTargetHostSourcesResponse {
@@ -438,7 +435,7 @@ message AddTargetCredentialLibrariesRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string application_credential_library_ids = 3 [json_name="application_credential_library_ids"]; // @gotags: `class:"public"`
repeated string application_credential_library_ids = 3 [json_name = "application_credential_library_ids"]; // @gotags: `class:"public"`
}
message AddTargetCredentialLibrariesResponse {
@@ -453,7 +450,7 @@ message SetTargetCredentialLibrariesRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string application_credential_library_ids = 3 [json_name="application_credential_library_ids"]; // @gotags: `class:"public"`
repeated string application_credential_library_ids = 3 [json_name = "application_credential_library_ids"]; // @gotags: `class:"public"`
}
message SetTargetCredentialLibrariesResponse {
@@ -465,7 +462,7 @@ message RemoveTargetCredentialLibrariesRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string application_credential_library_ids = 3 [json_name="application_credential_library_ids"]; // @gotags: `class:"public"`
repeated string application_credential_library_ids = 3 [json_name = "application_credential_library_ids"]; // @gotags: `class:"public"`
}
message RemoveTargetCredentialLibrariesResponse {
@@ -477,8 +474,8 @@ message AddTargetCredentialSourcesRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string application_credential_source_ids = 3 [json_name="application_credential_source_ids"]; // @gotags: `class:"public"`
repeated string egress_credential_source_ids = 4 [json_name="egress_credential_source_ids"]; // @gotags: `class:"public"`
repeated string application_credential_source_ids = 3 [json_name = "application_credential_source_ids"]; // @gotags: `class:"public"`
repeated string egress_credential_source_ids = 4 [json_name = "egress_credential_source_ids"]; // @gotags: `class:"public"`
}
message AddTargetCredentialSourcesResponse {
@@ -492,8 +489,8 @@ message SetTargetCredentialSourcesRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string application_credential_source_ids = 3 [json_name="application_credential_source_ids"]; // @gotags: `class:"public"`
repeated string egress_credential_source_ids = 4 [json_name="egress_credential_source_ids"]; // @gotags: `class:"public"`
repeated string application_credential_source_ids = 3 [json_name = "application_credential_source_ids"]; // @gotags: `class:"public"`
repeated string egress_credential_source_ids = 4 [json_name = "egress_credential_source_ids"]; // @gotags: `class:"public"`
}
message SetTargetCredentialSourcesResponse {
@@ -505,8 +502,8 @@ message RemoveTargetCredentialSourcesRequest {
// Version is used to ensure this resource has not changed.
// The mutation will fail if the version does not match the latest known good version.
uint32 version = 2; // @gotags: `class:"public"`
repeated string application_credential_source_ids = 3 [json_name="application_credential_source_id"]; // @gotags: `class:"public"`
repeated string egress_credential_source_ids = 4 [json_name="egress_credential_source_ids"]; // @gotags: `class:"public"`
repeated string application_credential_source_ids = 3 [json_name = "application_credential_source_id"]; // @gotags: `class:"public"`
repeated string egress_credential_source_ids = 4 [json_name = "egress_credential_source_ids"]; // @gotags: `class:"public"`
}
message RemoveTargetCredentialSourcesResponse {
@@ -527,7 +524,7 @@ message AuthorizeSessionRequest {
string scope_name = 5; // @gotags: `class:"public"`
// An optional parameter allowing specification of the particular Host within the Target's configured Host Sets to connect to during this Session.
string host_id = 2 [json_name="host_id"]; // @gotags: `class:"public"`
string host_id = 2 [json_name = "host_id"]; // @gotags: `class:"public"`
}
message AuthorizeSessionResponse {
@@ -2,15 +2,14 @@ syntax = "proto3";
package controller.api.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
import "protoc-gen-openapiv2/options/annotations.proto";
import "controller/api/resources/users/v1/user.proto";
import "google/api/annotations.proto";
import "google/protobuf/field_mask.proto";
import "controller/api/resources/users/v1/user.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
service UserService {
// GetUser returns a stored User if present. The provided request
// must include the User ID for the User being retrieved. If
// that ID is missing, malformed or reference a non existing
@@ -145,8 +144,8 @@ message GetUserResponse {
message ListUsersRequest {
string scope_id = 1; // @gotags: `class:"public"`
bool recursive = 20 [json_name="recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name="filter"]; // @gotags: `class:"sensitive"`
bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"`
string filter = 30 [json_name = "filter"]; // @gotags: `class:"sensitive"`
}
message ListUsersResponse {
@@ -165,7 +164,7 @@ message CreateUserResponse {
message UpdateUserRequest {
string id = 1; // @gotags: `class:"public"`
resources.users.v1.User item = 2;
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
}
message UpdateUserResponse {
@@ -182,7 +181,7 @@ message AddUserAccountsRequest {
string id = 1; // @gotags: `class:"public"`
// The version ensures the User hasn't changed since it was last retrieved and if it has the request will fail.
uint32 version = 2; // @gotags: `class:"public"`
repeated string account_ids = 3 [json_name="account_ids"]; // @gotags: `class:"public"`
repeated string account_ids = 3 [json_name = "account_ids"]; // @gotags: `class:"public"`
}
message AddUserAccountsResponse {
@@ -193,7 +192,7 @@ message SetUserAccountsRequest {
string id = 1; // @gotags: `class:"public"`
// The version ensures the User hasn't changed since it was last retrieved and if it has the request will fail.
uint32 version = 2; // @gotags: `class:"public"`
repeated string account_ids = 3 [json_name="account_ids"]; // @gotags: `class:"public"`
repeated string account_ids = 3 [json_name = "account_ids"]; // @gotags: `class:"public"`
}
message SetUserAccountsResponse {
@@ -204,7 +203,7 @@ message RemoveUserAccountsRequest {
string id = 1; // @gotags: `class:"public"`
// The version ensures the User hasn't changed since it was last retrieved and if it has the request will fail.
uint32 version = 2; // @gotags: `class:"public"`
repeated string account_ids = 3 [json_name="account_ids"]; // @gotags: `class:"public"`
repeated string account_ids = 3 [json_name = "account_ids"]; // @gotags: `class:"public"`
}
message RemoveUserAccountsResponse {
+19 -19
View File
@@ -6,37 +6,37 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api;a
// Error information relevant to an error that was wrapped by the backend.
message WrappedError {
// An string indicating what operation was being run when the wrapped error was created.
string op = 1;
string message = 2;
// An string indicating what operation was being run when the wrapped error was created.
string op = 1;
string message = 2;
}
// Additional details regarding a specific error.
message ErrorDetails {
// Request-field-specific error details.
repeated FieldError request_fields = 1 [json_name="request_fields"];
// Request-field-specific error details.
repeated FieldError request_fields = 1 [json_name = "request_fields"];
// The errors that were wrapped in the backend for this returned error.
repeated WrappedError wrapped_errors = 2 [json_name="wrapped_errors"];
// The errors that were wrapped in the backend for this returned error.
repeated WrappedError wrapped_errors = 2 [json_name = "wrapped_errors"];
}
// FieldErrors contains error information on a per field basis.
message FieldError {
// The name of the field.
string name = 1;
// The name of the field.
string name = 1;
// The description of the error.
string description = 2;
// The description of the error.
string description = 2;
}
// Error is returned by the JSON API when an error occurs.
message Error {
// The kind of error this is.
string kind = 1;
// An string indicating what operation was being run when the error was returned.
string op = 2;
// A human-readable explanation specific to this occurrence of the error.
string message = 3;
// Additional metadata regarding the error. Depending on the error, different fields will be populated.
ErrorDetails details = 4;
// The kind of error this is.
string kind = 1;
// An string indicating what operation was being run when the error was returned.
string op = 2;
// A human-readable explanation specific to this occurrence of the error.
string message = 3;
// Additional metadata regarding the error. Depending on the error, different fields will be populated.
ErrorDetails details = 4;
}
@@ -1,4 +1,5 @@
syntax = "proto3";
package controller.custom_options.v1;
import "google/protobuf/descriptor.proto";
@@ -6,32 +7,32 @@ import "google/protobuf/descriptor.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions;protooptions";
extend google.protobuf.FieldOptions {
// mask_mapping is an option which tags a field with the expected field mask
// used by a companion proto if applied on the field this option is for.
// The value of this option should be for the field name itself and not for
// the json name.
MaskMapping mask_mapping = 85464;
// mask_mapping is an option which tags a field with the expected field mask
// used by a companion proto if applied on the field this option is for.
// The value of this option should be for the field name itself and not for
// the json name.
MaskMapping mask_mapping = 85464;
// generate_sdk_option is a directive used when generating the SDK to
// indicate that an option should be created for the field
bool generate_sdk_option = 85412;
// generate_sdk_option is a directive used when generating the SDK to
// indicate that an option should be created for the field
bool generate_sdk_option = 85412;
// subtype is used for oneOf attribute subtypes, to identify that we only need to parse attributes
// of oneOf once and not for each option when generating the API
// This will serve as a JSON key, used to transform that into the key the protobuf expects
string subtype = 85555;
// subtype is used for oneOf attribute subtypes, to identify that we only need to parse attributes
// of oneOf once and not for each option when generating the API
// This will serve as a JSON key, used to transform that into the key the protobuf expects
string subtype = 85555;
// subtype_source_id is used to indicate that a field provided an id that can be used
// to determine the subtype of a message.
bool subtype_source_id = 85556;
// subtype_source_id is used to indicate that a field provided an id that can be used
// to determine the subtype of a message.
bool subtype_source_id = 85556;
}
extend google.protobuf.FileOptions {
// domain is used to associate the messages in a file with a domain package.
string domain = 85556;
// domain is used to associate the messages in a file with a domain package.
string domain = 85556;
}
message MaskMapping {
string this = 1;
string that = 2;
string this = 1;
string that = 2;
}
@@ -1,51 +1,114 @@
syntax = "proto3";
package controller.custom_options.v1;
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions;protooptions";
package controller.custom_options.v1;
import "controller/custom_options/v1/options.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions;protooptions";
message TestBase {
string first_field = 1 [(mask_mapping) = {this: "first_field" that: "OtherFirstField"}];
string StrangeFormatField = 2 [(mask_mapping) = {this: "strangly_formatted_field" that: "other_second_field"}];
string field_with_different_json_name = 3 [json_name="json_name", (mask_mapping) = {this: "field3" that:"other_field_3"}];
string extra_field = 4;
string first_field = 1 [(mask_mapping) = {
this: "first_field"
that: "OtherFirstField"
}];
string StrangeFormatField = 2 [(mask_mapping) = {
this: "strangly_formatted_field"
that: "other_second_field"
}];
string field_with_different_json_name = 3 [
json_name = "json_name",
(mask_mapping) = {
this: "field3"
that: "other_field_3"
}
];
string extra_field = 4;
}
message TestBaseSplit1 {
string first_field = 1 [(mask_mapping) = {this: "first_field" that: "OtherFirstField"}];
string field_with_different_json_name = 2 [json_name="json_name", (mask_mapping) = {this: "field3" that:"other_field_3"}];
string extra_field = 3;
string first_field = 1 [(mask_mapping) = {
this: "first_field"
that: "OtherFirstField"
}];
string field_with_different_json_name = 2 [
json_name = "json_name",
(mask_mapping) = {
this: "field3"
that: "other_field_3"
}
];
string extra_field = 3;
}
message TestBaseSplit2 {
string split_field1 = 1 [(mask_mapping) = {this: "strangly_formatted_field" that: "other_second_field"}];
string split_field1 = 1 [(mask_mapping) = {
this: "strangly_formatted_field"
that: "other_second_field"
}];
}
message TestProperlyNamedFields {
string other_first_field = 1 [(mask_mapping) = {this: "OtherFirstField" that:"first_field"}];
string other_second_field = 2 [(mask_mapping) = {this: "other_second_field" that:"strangly_formatted_field"}];
string other_third_field = 3 [json_name="other_third_field", (mask_mapping) = {this: "other_field_3" that: "field3"}];
string another_extra_field = 4;
string other_first_field = 1 [(mask_mapping) = {
this: "OtherFirstField"
that: "first_field"
}];
string other_second_field = 2 [(mask_mapping) = {
this: "other_second_field"
that: "strangly_formatted_field"
}];
string other_third_field = 3 [
json_name = "other_third_field",
(mask_mapping) = {
this: "other_field_3"
that: "field3"
}
];
string another_extra_field = 4;
}
message TestNameDoesntMap {
string first_doesnt_map = 1 [(mask_mapping) = {this: "first_doesnt_map" that: "first_field"}];
string second_doesnt_map = 2 [(mask_mapping) = {this: "second_doesnt_map" that:"StrangeFormatField"}];
string third_doesnt_map = 3 [(mask_mapping) = {this: "third_doesnt_map" that:"field_with_different_json_name"}];
string another_extra_field = 4;
string first_doesnt_map = 1 [(mask_mapping) = {
this: "first_doesnt_map"
that: "first_field"
}];
string second_doesnt_map = 2 [(mask_mapping) = {
this: "second_doesnt_map"
that: "StrangeFormatField"
}];
string third_doesnt_map = 3 [(mask_mapping) = {
this: "third_doesnt_map"
that: "field_with_different_json_name"
}];
string another_extra_field = 4;
}
message TestNotEnoughFields {
string other_first_field = 1 [(mask_mapping) = {this: "OtherFirstField" that:"first_field"}];
string other_second_field = 2 [(mask_mapping) = {this: "other_second_field" that:"strangly_formatted_field"}];
string other_first_field = 1 [(mask_mapping) = {
this: "OtherFirstField"
that: "first_field"
}];
string other_second_field = 2 [(mask_mapping) = {
this: "other_second_field"
that: "strangly_formatted_field"
}];
}
message TestManyToOneMappings {
string other_first_field = 1 [(mask_mapping) = {this: "OtherFirstField" that:"first_field"}];
string other_second_field = 2 [(mask_mapping) = {this: "other_second_field" that:"strangly_formatted_field"}];
string other_third_field = 3 [(mask_mapping) = {this: "other_field_3" that: "field3"}];
// this field maps to the first_field like 'other_first_field'
string extra_field = 4 [(mask_mapping) = {this: "ExtraField" that:"first_field"}];
}
string other_first_field = 1 [(mask_mapping) = {
this: "OtherFirstField"
that: "first_field"
}];
string other_second_field = 2 [(mask_mapping) = {
this: "other_second_field"
that: "strangly_formatted_field"
}];
string other_third_field = 3 [(mask_mapping) = {
this: "other_field_3"
that: "field3"
}];
// this field maps to the first_field like 'other_first_field'
string extra_field = 4 [(mask_mapping) = {
this: "ExtraField"
that: "first_field"
}];
}
@@ -2,14 +2,14 @@ syntax = "proto3";
package controller.ops.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/ops/services;services";
import "google/api/annotations.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/ops/services;services";
service HealthService {
rpc GetHealth(GetHealthRequest) returns (GetHealthResponse) {
option (google.api.http) = {
get : "/health"
get: "/health"
};
}
}
@@ -1,20 +1,20 @@
syntax = "proto3";
package controller.servers.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services";
message Credential {
oneof credential {
UserPassword user_password = 1;
}
}
// UserPassword is a credential containing a username and a password.
message UserPassword {
// The username of the credential
string username = 10; // @gotags: `class:"public"`
// The password of the credential
string password = 20; // @gotags: `class:"secret"`
}
syntax = "proto3";
package controller.servers.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services";
message Credential {
oneof credential {
UserPassword user_password = 1;
}
}
// UserPassword is a credential containing a username and a password.
message UserPassword {
// The username of the credential
string username = 10; // @gotags: `class:"public"`
// The password of the credential
string password = 20; // @gotags: `class:"secret"`
}
@@ -2,10 +2,10 @@ syntax = "proto3";
package controller.servers.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services";
import "controller/servers/v1/servers.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services";
service ServerCoordinationService {
// Status gets worker status requests which include the ongoing jobs the worker is handling and
// returns the status response which includes the changes the controller would like to make to
@@ -2,12 +2,12 @@ syntax = "proto3";
package controller.servers.services.v1;
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services";
import "google/protobuf/timestamp.proto";
import "controller/api/resources/targets/v1/target.proto";
import "controller/servers/services/v1/credential.proto";
import "controller/servers/services/v1/server_coordination_service.proto";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services";
service SessionService {
// LookupSession allows a worker to retrieve session information from the
@@ -32,94 +32,94 @@ service SessionService {
message LookupSessionRequest {
// The session ID from the client
string session_id = 10; // @gotags: `class:"public"`
string session_id = 10; // @gotags: `class:"public"`
// The name of the requesting worker, used for filtering to ensure this
// worker is allowed to handle this session.
string server_id = 20; // @gotags: `class:"public"`
string server_id = 20; // @gotags: `class:"public"`
}
// LookupSessionResponse contains information necessary for a client to
// establish a session.
message LookupSessionResponse {
api.resources.targets.v1.SessionAuthorizationData authorization = 10;
string tofu_token = 20; // @gotags: `class:"secret"`
uint32 version = 30; // @gotags: `class:"public"`
string endpoint = 40; // @gotags: `class:"public"`
google.protobuf.Timestamp expiration = 50; // @gotags: `class:"public"`
controller.servers.services.v1.SESSIONSTATUS status = 60; // @gotags: `class:"public"`
int32 connection_limit = 70; // @gotags: `class:"public"`
int32 connections_left = 80; // @gotags: `class:"public"`
string host_id = 90; // @gotags: `class:"public"`
string host_set_id = 100; // @gotags: `class:"public"`
string target_id = 110; // @gotags: `class:"public"`
string user_id = 120; // @gotags: `class:"public"`
repeated Credential credentials = 130; // @gotags: `class:"secret"`
string tofu_token = 20; // @gotags: `class:"secret"`
uint32 version = 30; // @gotags: `class:"public"`
string endpoint = 40; // @gotags: `class:"public"`
google.protobuf.Timestamp expiration = 50; // @gotags: `class:"public"`
controller.servers.services.v1.SESSIONSTATUS status = 60; // @gotags: `class:"public"`
int32 connection_limit = 70; // @gotags: `class:"public"`
int32 connections_left = 80; // @gotags: `class:"public"`
string host_id = 90; // @gotags: `class:"public"`
string host_set_id = 100; // @gotags: `class:"public"`
string target_id = 110; // @gotags: `class:"public"`
string user_id = 120; // @gotags: `class:"public"`
repeated Credential credentials = 130; // @gotags: `class:"secret"`
}
message ActivateSessionRequest {
string session_id = 10; // @gotags: `class:"public"`
string tofu_token = 20; // @gotags: `class:"secret"`
uint32 version = 30; // @gotags: `class:"public"`
string worker_id = 40; // @gotags: `class:"public"`
controller.servers.services.v1.SESSIONSTATUS status = 50; // @gotags: `class:"public"`
string session_id = 10; // @gotags: `class:"public"`
string tofu_token = 20; // @gotags: `class:"secret"`
uint32 version = 30; // @gotags: `class:"public"`
string worker_id = 40; // @gotags: `class:"public"`
controller.servers.services.v1.SESSIONSTATUS status = 50; // @gotags: `class:"public"`
}
message ActivateSessionResponse {
controller.servers.services.v1.SESSIONSTATUS status = 10; // @gotags: `class:"public"`
controller.servers.services.v1.SESSIONSTATUS status = 10; // @gotags: `class:"public"`
}
message CancelSessionRequest {
string session_id = 10; // @gotags: `class:"public"`
string session_id = 10; // @gotags: `class:"public"`
}
message CancelSessionResponse {
controller.servers.services.v1.SESSIONSTATUS status = 10; // @gotags: `class:"public"`
controller.servers.services.v1.SESSIONSTATUS status = 10; // @gotags: `class:"public"`
}
message AuthorizeConnectionRequest {
string session_id = 10; // @gotags: `class:"public"`
string worker_id = 20; // @gotags: `class:"public"`
string session_id = 10; // @gotags: `class:"public"`
string worker_id = 20; // @gotags: `class:"public"`
}
message AuthorizeConnectionResponse {
string connection_id = 10; // @gotags: `class:"public"`
controller.servers.services.v1.CONNECTIONSTATUS status = 20; // @gotags: `class:"public"`
int32 connections_left = 30; // @gotags: `class:"public"`
string connection_id = 10; // @gotags: `class:"public"`
controller.servers.services.v1.CONNECTIONSTATUS status = 20; // @gotags: `class:"public"`
int32 connections_left = 30; // @gotags: `class:"public"`
}
message ConnectConnectionRequest {
string connection_id = 10; // @gotags: `class:"public"`
string client_tcp_address = 20; // @gotags: `class:"public"`
uint32 client_tcp_port = 30; // @gotags: `class:"public"`
string endpoint_tcp_address = 40; // @gotags: `class:"public"`
uint32 endpoint_tcp_port = 50; // @gotags: `class:"public"`
string type = 60; // @gotags: `class:"public"`
string connection_id = 10; // @gotags: `class:"public"`
string client_tcp_address = 20; // @gotags: `class:"public"`
uint32 client_tcp_port = 30; // @gotags: `class:"public"`
string endpoint_tcp_address = 40; // @gotags: `class:"public"`
uint32 endpoint_tcp_port = 50; // @gotags: `class:"public"`
string type = 60; // @gotags: `class:"public"`
// user_client_ip is the user's client ip for the connection as determined by
// the inbound http request handler
string user_client_ip = 70; // @gotags: `class:"public"
string user_client_ip = 70; // @gotags: `class:"public"
}
message ConnectConnectionResponse {
controller.servers.services.v1.CONNECTIONSTATUS status = 10; // @gotags: `class:"public"`
controller.servers.services.v1.CONNECTIONSTATUS status = 10; // @gotags: `class:"public"`
}
message CloseConnectionRequestData {
string connection_id = 10; // @gotags: `class:"public"`
uint64 bytes_up = 20; // @gotags: `class:"public"`
uint64 bytes_down = 30; // @gotags: `class:"public"`
string reason = 40; // @gotags: `class:"public"`
string connection_id = 10; // @gotags: `class:"public"`
uint64 bytes_up = 20; // @gotags: `class:"public"`
uint64 bytes_down = 30; // @gotags: `class:"public"`
string reason = 40; // @gotags: `class:"public"`
}
message CloseConnectionRequest {
repeated CloseConnectionRequestData close_request_data = 10; // @gotags: `class:"public"`
repeated CloseConnectionRequestData close_request_data = 10; // @gotags: `class:"public"`
}
message CloseConnectionResponseData {
string connection_id = 10;
controller.servers.services.v1.CONNECTIONSTATUS status = 20; // @gotags: `class:"public"`
controller.servers.services.v1.CONNECTIONSTATUS status = 20; // @gotags: `class:"public"`
}
message CloseConnectionResponse {
repeated CloseConnectionResponseData close_response_data = 10; // @gotags: `class:"public"`
repeated CloseConnectionResponseData close_response_data = 10; // @gotags: `class:"public"`
}
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.servers.v1;
option go_package = "github.com/hashicorp/boundary/internal/servers;servers";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/servers;servers";
// Server contains all fields related to a Controller or Worker resource
message Server {
// Private ID of the resource
@@ -41,4 +42,4 @@ message Server {
// message
message TagValues {
repeated string values = 10;
}
}
@@ -2,10 +2,11 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the password package.
package controller.storage.auth.oidc.request.v1;
option go_package = "github.com/hashicorp/boundary/internal/auth/oidc/request;request";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/auth/oidc/request;request";
// State represents an oidc request state. State will be marshaled and then
// wrapped with an EncryptedState before that's marshaled and encrypted.
// State used in two legs of the oidc authentication flow.
@@ -2,10 +2,11 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the password package.
package controller.storage.auth.oidc.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/auth/oidc/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/auth/oidc/store;store";
// AuthMethod represents an OIDC auth method.
message AuthMethod {
@@ -22,11 +23,17 @@ message AuthMethod {
// name is optional. If set, it must be unique within scope_id.
// @inject_tag: `gorm:"default:null"`
string name = 40 [(custom_options.v1.mask_mapping) = { this: "Name" that: "name" }];
string name = 40 [(custom_options.v1.mask_mapping) = {
this: "Name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 50 [(custom_options.v1.mask_mapping) = { this: "Description" that: "description" }];
string description = 50 [(custom_options.v1.mask_mapping) = {
this: "Description"
that: "description"
}];
// The scope_id of the owning scope. Must be set.
// @inject_tag: `gorm:"not_null"`
@@ -54,11 +61,17 @@ message AuthMethod {
// issuer is the OIDC Discovery URL without any .well-known component
// @inject_tag: `gorm:"default:null"`
string issuer = 90 [(custom_options.v1.mask_mapping) = { this: "Issuer" that: "attributes.issuer" }];
string issuer = 90 [(custom_options.v1.mask_mapping) = {
this: "Issuer"
that: "attributes.issuer"
}];
// client_id is the OIDC client identifier
// @inject_tag: `gorm:"not_null"`
string client_id = 100 [(custom_options.v1.mask_mapping) = { this: "ClientId" that: "attributes.client_id" }];
string client_id = 100 [(custom_options.v1.mask_mapping) = {
this: "ClientId"
that: "attributes.client_id"
}];
// ct_client_secret is the encrypted OIDC client secret which is stored in the db.
// @inject_tag: `gorm:"column:client_secret;not_null" wrapping:"ct,client_secret"`
@@ -66,7 +79,10 @@ message AuthMethod {
// client_secret is the unencrypted OIDC client secret which is not stored in the database.
// @inject_tag: `gorm:"-" wrapping:"pt,client_secret"`
string client_secret = 120 [(custom_options.v1.mask_mapping) = { this: "ClientSecret" that: "attributes.client_secret" }];
string client_secret = 120 [(custom_options.v1.mask_mapping) = {
this: "ClientSecret"
that: "attributes.client_secret"
}];
// client_secret_hmac is a sha256-hmac of the unencrypted client_secret that
// is returned from the API for read. It is recalculated everytime the raw
@@ -85,44 +101,65 @@ message AuthMethod {
// should be re-authenticated immediately and would represent the zero value
// for max age based on the oidc spec.
// @inject_tag: `gorm:"default:null"`
int32 max_age = 150 [(custom_options.v1.mask_mapping) = { this: "MaxAge" that: "attributes.max_age" }];
int32 max_age = 150 [(custom_options.v1.mask_mapping) = {
this: "MaxAge"
that: "attributes.max_age"
}];
// api_url is the URLs prefix at which the boundary api is reachable. This value
// is used by the auth method in the different steps of the auth flow.
// @inject_tag: `gorm:"default:null"`
string api_url = 160 [(custom_options.v1.mask_mapping) = { this: "ApiUrl" that: "attributes.api_url_prefix" }];
string api_url = 160 [(custom_options.v1.mask_mapping) = {
this: "ApiUrl"
that: "attributes.api_url_prefix"
}];
// signing_algs are the signing algorithms allowed for an oidc auth method.
// These are Value Objects that will be stored as SigningAlg messages, and are
// operated on as a complete set.
// @inject_tag: `gorm:"-"`
repeated string signing_algs = 170 [(custom_options.v1.mask_mapping) = { this: "SigningAlgs" that: "attributes.signing_algorithms" }];
repeated string signing_algs = 170 [(custom_options.v1.mask_mapping) = {
this: "SigningAlgs"
that: "attributes.signing_algorithms"
}];
// aud_claims are the audience claims for a specific oidc auth method. These
// are Value Objects that will be stored as AudClaim messages, and are
// operatated on as a complete set.
// @inject_tag: `gorm:"-"`
repeated string aud_claims = 180 [(custom_options.v1.mask_mapping) = { this: "AudClaims" that: "attributes.allowed_audiences" }];
repeated string aud_claims = 180 [(custom_options.v1.mask_mapping) = {
this: "AudClaims"
that: "attributes.allowed_audiences"
}];
// certificates are optional PEM encoded x509 certificates that can be
// used as trust anchors when connecting to an OIDC provider. These are Value
// Objects that will be stored as Certificate messages, and are operatated on
// as a complete set.
// @inject_tag: `gorm:"-"`
repeated string certificates = 190 [(custom_options.v1.mask_mapping) = { this: "Certificates" that: "attributes.idp_ca_certs" }];
repeated string certificates = 190 [(custom_options.v1.mask_mapping) = {
this: "Certificates"
that: "attributes.idp_ca_certs"
}];
// claims_scopes are the optional claims scopes a specific oidc auth method.
// These are Value Objects that will be stored as ClaimsScope messages, and
// are operatated on as a complete set.
// @inject_tag: `gorm:"-"`
repeated string claims_scopes = 200 [(custom_options.v1.mask_mapping) = { this: "ClaimsScopes" that: "attributes.claims_scopes" }];
repeated string claims_scopes = 200 [(custom_options.v1.mask_mapping) = {
this: "ClaimsScopes"
that: "attributes.claims_scopes"
}];
// account_claim_maps are optional claim maps from custom claims to the
// standard claims of sub, name and email. These maps are represented as
// key=value where the key equals the from_claim and the value equals the
// to_claim. For example "oid=sub".
// @inject_tag: `gorm:"-"`
repeated string account_claim_maps = 210 [(custom_options.v1.mask_mapping) = { this: "AccountClaimMaps" that: "attributes.account_claim_maps" }];
repeated string account_claim_maps = 210 [(custom_options.v1.mask_mapping) = {
this: "AccountClaimMaps"
that: "attributes.account_claim_maps"
}];
}
// Account represents an OIDC account
@@ -142,11 +179,17 @@ message Account {
// name is optional. If set, it must be unique within scope_id.
// @inject_tag: `gorm:"default:null"`
string name = 40 [(custom_options.v1.mask_mapping) = { this: "Name" that: "name" }];
string name = 40 [(custom_options.v1.mask_mapping) = {
this: "Name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 50 [(custom_options.v1.mask_mapping) = { this: "Description" that: "description" }];
string description = 50 [(custom_options.v1.mask_mapping) = {
this: "Description"
that: "description"
}];
// @inject_tag: `gorm:"default:null"`
uint32 version = 60;
@@ -276,11 +319,17 @@ message ManagedGroup {
// name is optional. If set, it must be unique within auth_method_id.
// @inject_tag: `gorm:"default:null"`
string name = 40 [(custom_options.v1.mask_mapping) = { this: "Name" that: "name" }];
string name = 40 [(custom_options.v1.mask_mapping) = {
this: "Name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 50 [(custom_options.v1.mask_mapping) = { this: "Description" that: "description" }];
string description = 50 [(custom_options.v1.mask_mapping) = {
this: "Description"
that: "description"
}];
// @inject_tag: `gorm:"default:null"`
uint32 version = 60;
@@ -291,7 +340,10 @@ message ManagedGroup {
// filter is a go-bexpr filter
// @inject_tag: `gorm:"not_null"`
string filter = 80 [(custom_options.v1.mask_mapping) = { this: "Filter" that: "attributes.filter" }];
string filter = 80 [(custom_options.v1.mask_mapping) = {
this: "Filter"
that: "attributes.filter"
}];
}
// ManagedGroupMemberAccount contains a mapping between a managed group and a
@@ -2,10 +2,11 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the password package.
package controller.storage.auth.password.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/auth/password/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/auth/password/store;store";
// Argon2Configuration is a configuration for using the argon2id key
// derivation function. It is owned by an AuthMethod.
//
@@ -2,10 +2,11 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the password package.
package controller.storage.auth.password.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/auth/password/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/auth/password/store;store";
message AuthMethod {
// @inject_tag: `gorm:"primary_key"`
@@ -21,11 +22,17 @@ message AuthMethod {
// name is optional. If set, it must be unique within scope_id.
// @inject_tag: `gorm:"default:null"`
string name = 4 [(custom_options.v1.mask_mapping) = { this: "Name" that: "name" }];
string name = 4 [(custom_options.v1.mask_mapping) = {
this: "Name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 5 [(custom_options.v1.mask_mapping) = { this: "Description" that: "description" }];
string description = 5 [(custom_options.v1.mask_mapping) = {
this: "Description"
that: "description"
}];
// The scope_id of the owning scope. Must be set.
// @inject_tag: `gorm:"not_null"`
@@ -38,10 +45,16 @@ message AuthMethod {
string password_conf_id = 8;
// @inject_tag: `gorm:"default:null"`
uint32 min_login_name_length = 9 [(custom_options.v1.mask_mapping) = { this: "MinLoginNameLength" that: "attributes.min_login_name_length" }];
uint32 min_login_name_length = 9 [(custom_options.v1.mask_mapping) = {
this: "MinLoginNameLength"
that: "attributes.min_login_name_length"
}];
// @inject_tag: `gorm:"default:null"`
uint32 min_password_length = 10 [(custom_options.v1.mask_mapping) = { this: "MinPasswordLength" that: "attributes.min_password_length" }];
uint32 min_password_length = 10 [(custom_options.v1.mask_mapping) = {
this: "MinPasswordLength"
that: "attributes.min_password_length"
}];
// is_primary_auth_method is a read-only output field which indicates if the
// auth method is set as the scope's primary auth method.
@@ -63,11 +76,17 @@ message Account {
// name is optional. If set, it must be unique within scope_id.
// @inject_tag: `gorm:"default:null"`
string name = 4 [(custom_options.v1.mask_mapping) = { this: "Name" that: "name" }];
string name = 4 [(custom_options.v1.mask_mapping) = {
this: "Name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 5 [(custom_options.v1.mask_mapping) = { this: "Description" that: "description" }];
string description = 5 [(custom_options.v1.mask_mapping) = {
this: "Description"
that: "description"
}];
// @inject_tag: `gorm:"default:null"`
uint32 version = 6;
@@ -76,10 +95,13 @@ message Account {
string auth_method_id = 7;
// @inject_tag: `gorm:"not_null"`
string login_name = 8 [(custom_options.v1.mask_mapping) = { this: "LoginName" that: "attributes.login_name" }];
string login_name = 8 [(custom_options.v1.mask_mapping) = {
this: "LoginName"
that: "attributes.login_name"
}];
// the scope_id column is not included here as it is used only to ensure
// data integrity in the database between iam users and auth methods.
// the scope_id column is not included here as it is used only to ensure
// data integrity in the database between iam users and auth methods.
}
message Credential {
@@ -1,6 +1,7 @@
syntax = "proto3";
package controller.storage.auth.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/auth/store;store";
// Account is a "shared table" between the iam, authtoken, and auth
@@ -1,6 +1,7 @@
syntax = "proto3";
package controller.storage.auth.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/auth/store;store";
// TODO - fill out the comments for these protobufs... at this point, I'm just
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.authtoken.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/authtoken/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/authtoken/store;store";
message AuthToken {
// public_id is used to access the auth token via an API
// @inject_tag: gorm:"primary_key"
@@ -64,4 +65,4 @@ message AuthToken {
// database.
// @inject_tag: `gorm:"default:null"`
string status = 15;
}
}
@@ -2,6 +2,7 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the credential package.
package controller.storage.credential.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/credential/store;store";
message Store {
@@ -3,10 +3,11 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the vault
// credential package.
package controller.storage.credential.vault.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/credential/vault/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/credential/vault/store;store";
message CredentialStore {
// public_id is a surrogate key suitable for use in a public API.
@@ -27,11 +28,17 @@ message CredentialStore {
// name is optional. If set, it must be unique within scope_id.
// @inject_tag: `gorm:"default:null"`
string name = 5 [(custom_options.v1.mask_mapping) = {this:"Name" that: "name"}];
string name = 5 [(custom_options.v1.mask_mapping) = {
this: "Name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 6 [(custom_options.v1.mask_mapping) = {this:"Description" that: "description"}];
string description = 6 [(custom_options.v1.mask_mapping) = {
this: "Description"
that: "description"
}];
// The scope_id of the owning scope.
// It must be set.
@@ -46,30 +53,45 @@ message CredentialStore {
// complete URL.
// It must be set.
// @inject_tag: `gorm:"not_null"`
string vault_address = 9 [(custom_options.v1.mask_mapping) = {this:"VaultAddress" that: "attributes.address"}];
string vault_address = 9 [(custom_options.v1.mask_mapping) = {
this: "VaultAddress"
that: "attributes.address"
}];
// namespace is the vault namespace the credential store should use.
// It is optional.
// @inject_tag: `gorm:"default:null"`
string namespace = 10 [(custom_options.v1.mask_mapping) = {this:"Namespace" that: "attributes.namespace"}];
string namespace = 10 [(custom_options.v1.mask_mapping) = {
this: "Namespace"
that: "attributes.namespace"
}];
// ca_cert is a single PEM-encoded CA certificate to verify the Vault
// server's SSL certificate.
// It is optional.
// @inject_tag: `gorm:"default:null"`
bytes ca_cert = 11 [(custom_options.v1.mask_mapping) = {this:"CaCert" that: "attributes.ca_cert"}];
bytes ca_cert = 11 [(custom_options.v1.mask_mapping) = {
this: "CaCert"
that: "attributes.ca_cert"
}];
// tls_server_name is the name to use as the SNI host when connecting to
// Vault via TLS.
// It is optional.
// @inject_tag: `gorm:"default:null"`
string tls_server_name = 12 [(custom_options.v1.mask_mapping) = {this:"TlsServerName" that: "attributes.tls_server_name"}];
string tls_server_name = 12 [(custom_options.v1.mask_mapping) = {
this: "TlsServerName"
that: "attributes.tls_server_name"
}];
// tls_skip_verify disables verification of TLS certificates. Using this
// option is highly discouraged as it decreases the security of data
// transmissions to and from the Vault server.
// @inject_tag: `gorm:"default:false"`
bool tls_skip_verify = 13 [(custom_options.v1.mask_mapping) = {this:"TlsSkipVerify" that: "attributes.tls_skip_verify"}];
bool tls_skip_verify = 13 [(custom_options.v1.mask_mapping) = {
this: "TlsSkipVerify"
that: "attributes.tls_skip_verify"
}];
}
message Token {
@@ -81,7 +103,10 @@ message Token {
// token is the plain-text of the token data. We are not storing this
// plain-text token in the database.
// @inject_tag: `gorm:"-" wrapping:"pt,token_data"`
bytes token = 2 [(custom_options.v1.mask_mapping) = {this:"Token" that: "attributes.token"}];
bytes token = 2 [(custom_options.v1.mask_mapping) = {
this: "Token"
that: "attributes.token"
}];
// ct_token is the ciphertext of the token data. It is stored in the database.
// @inject_tag: `gorm:"column:token;not_null" wrapping:"ct,token_data"`
@@ -137,12 +162,18 @@ message ClientCertificate {
// certificate is the PEM encoded certificate.
// It must be set.
// @inject_tag: `gorm:"not_null"`
bytes certificate = 2 [(custom_options.v1.mask_mapping) = {this:"Certificate" that: "attributes.client_certificate"}];
bytes certificate = 2 [(custom_options.v1.mask_mapping) = {
this: "Certificate"
that: "attributes.client_certificate"
}];
// certificate_key is the plain-text of the certificate key data. We are
// not storing this plain-text key in the database.
// @inject_tag: `gorm:"-" wrapping:"pt,certificate_key_data"`
bytes certificate_key = 3 [(custom_options.v1.mask_mapping) = {this:"CertificateKey" that: "attributes.client_certificate_key"}];
bytes certificate_key = 3 [(custom_options.v1.mask_mapping) = {
this: "CertificateKey"
that: "attributes.client_certificate_key"
}];
// ct_certificate_key is the ciphertext of the certificate key data. It
// is stored in the database.
@@ -176,11 +207,17 @@ message CredentialLibrary {
// name is optional. If set, it must be unique within scope_id.
// @inject_tag: `gorm:"default:null"`
string name = 4 [(custom_options.v1.mask_mapping) = {this:"Name" that: "name"}];
string name = 4 [(custom_options.v1.mask_mapping) = {
this: "Name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 5 [(custom_options.v1.mask_mapping) = {this:"Description" that: "description"}];
string description = 5 [(custom_options.v1.mask_mapping) = {
this: "Description"
that: "description"
}];
// store_id of the owning vault credential store.
// It must be set.
@@ -194,17 +231,26 @@ message CredentialLibrary {
// vault_path is the path in Vault to request credentials from.
// It must be set.
// @inject_tag: `gorm:"not_null"`
string vault_path = 8 [(custom_options.v1.mask_mapping) = {this:"VaultPath" that: "attributes.path"}];
string vault_path = 8 [(custom_options.v1.mask_mapping) = {
this: "VaultPath"
that: "attributes.path"
}];
// The HTTP method the library uses to communicate with Vault.
// It must be set. Can only be GET or POST.
// @inject_tag: `gorm:"not_null"`
string http_method = 9 [(custom_options.v1.mask_mapping) = {this:"HttpMethod" that: "attributes.http_method"}];
string http_method = 9 [(custom_options.v1.mask_mapping) = {
this: "HttpMethod"
that: "attributes.http_method"
}];
// The body of the HTTP request the library sends to Vault.
// Can only be set if http_method is POST.
// @inject_tag: `gorm:"default:null"`
bytes http_request_body = 10 [(custom_options.v1.mask_mapping) = {this:"HttpRequestBody" that: "attributes.http_request_body"}];
bytes http_request_body = 10 [(custom_options.v1.mask_mapping) = {
this: "HttpRequestBody"
that: "attributes.http_request_body"
}];
// credential_type is optional. If set, it indicates the type of
// credential the library returns.
@@ -273,13 +319,13 @@ message Credential {
string status = 12;
}
message UserPasswordOverride {
message UserPasswordOverride {
// library_id of the owning vault credential library.
// @inject_tag: `gorm:"primary_key"`
string library_id = 1;
// username_attribute is the name of the attribute in the Data field of a
// Vault api.Secret that maps to a username.
// Vault api.Secret that maps to a username.
// If set, it overrides any default attribute names the system uses to
// find a username attribute.
//
@@ -289,7 +335,7 @@ message UserPasswordOverride {
string username_attribute = 2;
// password_attribute is the name of the attribute in the Data field of a
// Vault api.Secret that maps to a password.
// Vault api.Secret that maps to a password.
// If set, it overrides any default attribute names the system uses to
// find a password attribute.
//
@@ -4,10 +4,11 @@ syntax = "proto3";
// are only used for unit tests and are not part of the rest of the boundary
// domain model
package controller.storage.db.db_test.v1;
option go_package = "github.com/hashicorp/boundary/internal/db/db_test;db_test";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/db/db_test;db_test";
// TestUser for gorm test user model
message StoreTestUser {
// @inject_tag: gorm:"primary_key"
@@ -141,4 +142,4 @@ message StoreTestScooterAccessory {
// @inject_tag: `gorm:"default:null"`
string review = 3;
}
}
@@ -3,10 +3,11 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the plugin host
// package.
package controller.storage.host.plugin.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/host/plugin/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/host/plugin/store;store";
message HostCatalog {
// public_id is a surrogate key suitable for use in a public API.
@@ -23,11 +24,17 @@ message HostCatalog {
// name is optional. If set, it must be unique within scope_id.
// @inject_tag: `gorm:"default:null"`
string name = 4 [(custom_options.v1.mask_mapping) = {this:"name" that: "name"}];
string name = 4 [(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 5 [(custom_options.v1.mask_mapping) = {this:"description" that: "description"}];
string description = 5 [(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}];
// The scope_id of the owning scope and must be set.
// @inject_tag: `gorm:"not_null"`
@@ -76,11 +83,17 @@ message HostSet {
// name is optional. If set, it must be unique within
// catalog_id.
// @inject_tag: `gorm:"default:null"`
string name = 6 [(custom_options.v1.mask_mapping) = {this:"name" that: "name"}];
string name = 6 [(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 7 [(custom_options.v1.mask_mapping) = {this:"description" that: "description"}];
string description = 7 [(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}];
// catalog_id is the public_id of the owning
// plugin_host_catalog and must be set.
@@ -97,11 +110,17 @@ message HostSet {
// preferred_endpoints stores string preference values
// @inject_tag: `gorm:"-"`
repeated string preferred_endpoints = 11 [(custom_options.v1.mask_mapping) = {this:"PreferredEndpoints" that: "preferred_endpoints"}];
repeated string preferred_endpoints = 11 [(custom_options.v1.mask_mapping) = {
this: "PreferredEndpoints"
that: "preferred_endpoints"
}];
// Sync interval is a value representing a duration in seconds
// @inject_tag: `gorm:"default:null"`
int32 sync_interval_seconds = 12 [(custom_options.v1.mask_mapping) = {this: "SyncIntervalSeconds" that: "sync_interval_seconds"}];
int32 sync_interval_seconds = 12 [(custom_options.v1.mask_mapping) = {
this: "SyncIntervalSeconds"
that: "sync_interval_seconds"
}];
}
message HostCatalogSecret {
@@ -3,10 +3,11 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the static host
// package.
package controller.storage.host.static.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/host/static/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/host/static/store;store";
message HostCatalog {
// public_is is a surrogate key suitable for use in a public API.
@@ -23,11 +24,17 @@ message HostCatalog {
// name is optional. If set, it must be unique within scope_id.
// @inject_tag: `gorm:"default:null"`
string name = 4 [(custom_options.v1.mask_mapping) = {this:"name" that: "name"}];
string name = 4 [(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 5 [(custom_options.v1.mask_mapping) = {this:"description" that: "description"}];
string description = 5 [(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}];
// The scope_id of the owning scope and must be set.
// @inject_tag: `gorm:"not_null"`
@@ -54,11 +61,17 @@ message Host {
// name is optional. If set, it must be unique within
// catalog_id.
// @inject_tag: `gorm:"default:null"`
string name = 4 [(custom_options.v1.mask_mapping) = {this:"name" that: "name"}];
string name = 4 [(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 5 [(custom_options.v1.mask_mapping) = {this:"description" that: "description"}];
string description = 5 [(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}];
// catalog_id is the public_id of the owning
// static_host_catalog and must be set.
@@ -68,7 +81,10 @@ message Host {
// address is the IP Address or DNS name of the host. It must be set and
// it must be unique within catalog_id.
// @inject_tag: `gorm:"default:null"`
string address = 7 [(custom_options.v1.mask_mapping) = {this:"address" that: "attributes.address"}];
string address = 7 [(custom_options.v1.mask_mapping) = {
this: "address"
that: "attributes.address"
}];
// version allows optimistic locking of the resource
// @inject_tag: `gorm:"default:null"`
@@ -91,11 +107,17 @@ message HostSet {
// name is optional. If set, it must be unique within
// catalog_id.
// @inject_tag: `gorm:"default:null"`
string name = 4 [(custom_options.v1.mask_mapping) = {this:"name" that: "name"}];
string name = 4 [(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 5 [(custom_options.v1.mask_mapping) = {this:"description" that: "description"}];
string description = 5 [(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}];
// catalog_id is the public_id of the owning
// static_host_catalog and must be set.
@@ -122,6 +144,12 @@ message HostSetMember {
// here for the purpose of identifying the mask maps which are on the top level
// api set resource but aren't present in the static host set storage.
message UnimplementedSetFields {
repeated string preferred_endpoints = 11 [(custom_options.v1.mask_mapping) = {this:"PreferredEndpoints" that: "preferred_endpoints"}];
int32 sync_interval_seconds = 22 [(custom_options.v1.mask_mapping) = {this: "SyncIntervalSeconds" that: "sync_interval_seconds"}];
}
repeated string preferred_endpoints = 11 [(custom_options.v1.mask_mapping) = {
this: "PreferredEndpoints"
that: "preferred_endpoints"
}];
int32 sync_interval_seconds = 22 [(custom_options.v1.mask_mapping) = {
this: "SyncIntervalSeconds"
that: "sync_interval_seconds"
}];
}
@@ -2,6 +2,7 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the host package.
package controller.storage.host.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/host/store;store";
message Catalog {
@@ -62,4 +63,4 @@ message DnsName {
// @inject_tag: `gorm:"primary_key"`
string name = 2;
}
}
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.iam.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
message Group {
// public_id is used to access the Group via an API
@@ -18,11 +19,17 @@ message Group {
// name is the optional friendly name used to
// access the Group via an API
// @inject_tag: `gorm:"default:null"`
string name = 30 [(custom_options.v1.mask_mapping) = {this:"name" that: "name"}];
string name = 30 [(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}];
// description of the group
// @inject_tag: `gorm:"default:null"`
string description = 40 [(custom_options.v1.mask_mapping) = {this:"description" that: "description"}];
string description = 40 [(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}];
// create_time from the RDBMS
// @inject_tag: `gorm:"default:current_timestamp"`
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.iam.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
message GroupMemberUser {
// create_time from the RDBMS
// @inject_tag: `gorm:"default:current_timestamp"`
@@ -1,11 +1,11 @@
syntax = "proto3";
package controller.storage.iam.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
message UserRole {
// create_time from the RDBMS
// @inject_tag: `gorm:"default:current_timestamp"`
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.iam.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
message Role {
// public_id is used to access the Role via an API
@@ -18,11 +19,17 @@ message Role {
// name is the optional friendly name used to
// access the Role via an API
// @inject_tag: `gorm:"default:null"`
string name = 30 [(custom_options.v1.mask_mapping) = {this:"name" that: "name"}];
string name = 30 [(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}];
// description of the role
// @inject_tag: `gorm:"default:null"`
string description = 40 [(custom_options.v1.mask_mapping) = {this:"description" that: "description"}];
string description = 40 [(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}];
// create_time from the RDBMS
// @inject_tag: `gorm:"default:current_timestamp"`
@@ -40,5 +47,8 @@ message Role {
// grant_scope_id is used for delegating access; it defines a scope other than
// the role's scope that is used when compiling these grants into an ACL
// @inject_tag: `gorm:"default:null"`
string grant_scope_id = 80 [(custom_options.v1.mask_mapping) = {this:"GrantScopeId" that: "grant_scope_id"}];
string grant_scope_id = 80 [(custom_options.v1.mask_mapping) = {
this: "GrantScopeId"
that: "grant_scope_id"
}];
}
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.iam.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
message RoleGrant {
// create_time from the RDBMS
// @inject_tag: `gorm:"default:current_timestamp"`
@@ -1,11 +1,12 @@
syntax = "proto3";
package controller.storage.iam.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
message Scope {
// public_id is the used to access the Scope via an API
// @inject_tag: gorm:"primary_key"
@@ -22,7 +23,10 @@ message Scope {
// name is the optional friendly name used to
// access the Scope via an API
// @inject_tag: `gorm:"default:null"`
string name = 4 [(custom_options.v1.mask_mapping) = { this: "name" that: "name" }];
string name = 4 [(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}];
// Type of scope
string type = 5;
@@ -33,7 +37,10 @@ message Scope {
// description of scope
// @inject_tag: `gorm:"default:null"`
string description = 7 [(custom_options.v1.mask_mapping) = { this: "description" that: "description" }];
string description = 7 [(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}];
// version allows optimistic locking of the scope
// @inject_tag: `gorm:"default:null"`
@@ -44,5 +51,8 @@ message Scope {
// method will also be designated as the auth method which can autovivify
// users.
// @inject_tag: `gorm:"default:null"`
string primary_auth_method_id = 20 [(custom_options.v1.mask_mapping) = { this: "PrimaryAuthMethodId" that: "primary_auth_method_id" }];
string primary_auth_method_id = 20 [(custom_options.v1.mask_mapping) = {
this: "PrimaryAuthMethodId"
that: "primary_auth_method_id"
}];
}
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.iam.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/iam/store;store";
message User {
// public_id is used to access the User via an API
@@ -18,11 +19,17 @@ message User {
// name is the optional friendly name used to
// access the User via an API
// @inject_tag: `gorm:"default:null"`
string name = 30 [(custom_options.v1.mask_mapping) = { this: "name" that: "name" }];
string name = 30 [(custom_options.v1.mask_mapping) = {
this: "name"
that: "name"
}];
// description of the user
// @inject_tag: `gorm:"default:null"`
string description = 40 [(custom_options.v1.mask_mapping) = { this: "description" that: "description" }];
string description = 40 [(custom_options.v1.mask_mapping) = {
this: "description"
that: "description"
}];
// create_time from the RDBMS
// @inject_tag: `gorm:"default:current_timestamp"`
@@ -55,4 +62,4 @@ message User {
// public_id from the scope's primary auth method
// @inject_tag: `gorm:"->"`
string primary_account_id = 120 [json_name = "primary_account_id"];
}
}
@@ -2,10 +2,11 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the job package.
package controller.storage.job.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/scheduler/job/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/scheduler/job/store;store";
message Job {
// plugin_id is the primary key of the plugin that registered and owns the job
// @inject_tag: `gorm:"primary_key"`
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.kms.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
message AuditKey {
// private_id is used to access the key via an API
// @inject_tag: gorm:"primary_key"
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.kms.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
message DatabaseKey {
// private_id is used to access the key via an API
// @inject_tag: gorm:"primary_key"
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.kms.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
message OidcKey {
// private_id is used to access the key via an API
// @inject_tag: gorm:"primary_key"
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.kms.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
message OplogKey {
// private_id is used to access the key via an API
// @inject_tag: gorm:"primary_key"
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.kms.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
message RootKey {
// private_id is used to access the root key via an API
// @inject_tag: gorm:"primary_key"
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.kms.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
message SessionKey {
// private_id is used to access the key via an API
// @inject_tag: gorm:"primary_key"
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.kms.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
message TokenKey {
// private_id is used to access the key via an API
// @inject_tag: gorm:"primary_key"
@@ -2,10 +2,11 @@ syntax = "proto3";
// define an oplog package within the boundary controller
package controller.storage.oplog.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/oplog/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/oplog/store;store";
// Entry provides a message for oplog entries that's compatible with gorm
message Entry {
// @inject_tag: gorm:"primary_key"
@@ -43,6 +44,7 @@ message Metadata {
timestamp.v1.Timestamp create_time = 2;
// @inject_tag: gorm:"not_nul
uint32 entry_id = 3;
// @inject_tag: gorm:"foreignkey:EntryId"
Entry entry = 4;
@@ -2,6 +2,7 @@ syntax = "proto3";
// define a test proto package
package controller.storage.oplog.test.v1;
option go_package = "github.com/hashicorp/boundary/internal/oplog/oplog_test;oplog_test";
// TestUser for gorm test user model
@@ -40,4 +41,4 @@ message TestNonReplayableUser {
string name = 4;
string phone_number = 5;
string email = 6;
}
}
@@ -1,10 +1,11 @@
syntax = "proto3";
package controller.storage.oplog.v1;
import "google/protobuf/field_mask.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/wrappers.proto";
package controller.storage.oplog.v1;
option go_package = "github.com/hashicorp/boundary/internal/oplog;oplog";
// OpType provides the type of database operation the Any message represents
@@ -82,7 +83,7 @@ message WithOnConflict {
// columns are the on conflict columns
Columns columns = 11;
};
}
// action defines the on conflict action
oneof action {
@@ -94,7 +95,7 @@ message WithOnConflict {
// column_values defines on conflict action with the columns to update
ColumnValues column_values = 52;
};
}
}
// Columns defines a set of column properties
@@ -113,7 +114,7 @@ message ColumnValue {
google.protobuf.Value raw = 2;
ExprValue expr_value = 3;
Column column = 4;
};
}
}
// ColumnValues defines a set of column value properies
@@ -137,4 +138,4 @@ message Column {
string name = 1;
// table name of the column
string table = 2;
}
}
@@ -2,10 +2,11 @@ syntax = "proto3";
// Package store provides protobufs for storing types in the host package.
package controller.storage.plugin.host.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/plugin/host/store;store";
import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";
import "controller/storage/timestamp/v1/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/internal/plugin/host/store;store";
message Plugin {
// public_id is a surrogate key suitable for use in a public API.
@@ -22,11 +23,17 @@ message Plugin {
// name is optional. If set, it must be unique within scope_id.
// @inject_tag: `gorm:"default:null"`
string name = 4 [(custom_options.v1.mask_mapping) = {this:"Name" that: "name"}];
string name = 4 [(custom_options.v1.mask_mapping) = {
this: "Name"
that: "name"
}];
// description is optional.
// @inject_tag: `gorm:"default:null"`
string description = 50 [(custom_options.v1.mask_mapping) = {this:"Description" that: "description"}];
string description = 50 [(custom_options.v1.mask_mapping) = {
this: "Description"
that: "description"
}];
// The scope_id of the owning scope and must be set.
// @inject_tag: `gorm:"not_null"`
@@ -34,4 +41,4 @@ message Plugin {
// @inject_tag: `gorm:"default:null"`
uint32 version = 70;
}
}
Loaded 100 of 131 files, more files were not shown because too many files have changed in this diff. Show more