feat(credentiallibraries): support vault ssh certificates

This commit is contained in:
Haotian authored and Timothy Messier committed 2023-02-02 17:43:16 +00:00
1 parent 3a78a74571
commit 43f0ba89cf
14 files changed
+2087 -239

No files matched your search

@@ -17,10 +17,7 @@ message CredentialLibrary {
string id = 10; // @gotags: `class:"public"`
// The ID of the Credential Store of which this Credential Library is a part.
string credential_store_id = 20 [
json_name = "credential_store_id",
(controller.custom_options.v1.subtype_source_id) = true
]; // @gotags: `class:"public"`
string credential_store_id = 20 [json_name = "credential_store_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this Credential Library.
resources.scopes.v1.ScopeInfo scope = 30;
@@ -67,6 +64,16 @@ message CredentialLibrary {
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "vault"
];
VaultSSHCertificateCredentialLibraryAttributes vault_ssh_certificate_credential_library_attributes = 102 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "vault-ssh-certificate"
];
VaultCredentialLibraryAttributes vault_generic_credential_library_attributes = 103 [
(google.api.field_visibility).restriction = "INTERNAL",
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.subtype) = "vault-generic"
];
}
// Output only. The available actions on this resource for this user.
@@ -116,3 +123,78 @@ message VaultCredentialLibraryAttributes {
}
]; // @gotags: `class:"secret"`
}
// The attributes of a vault SSH Certificate Credential Library.
message VaultSSHCertificateCredentialLibraryAttributes {
// 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"`
// The username to use when making an SSH connection.
google.protobuf.StringValue username = 20 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.username"
that: "Username"
}
]; // @gotags: `class:"sensitive"`
// The key type to use when generating an SSH private key.
google.protobuf.StringValue key_type = 30 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.key_type"
that: "KeyType"
}
]; // @gotags: `class:"public"`
// The number of bits to use to generate an SSH private key.
google.protobuf.UInt32Value key_bits = 40 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.key_bits"
that: "KeyBits"
}
]; // @gotags: `class:"public"`
// The requested time to live for the certificate.
google.protobuf.StringValue ttl = 50 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.ttl"
that: "Ttl"
}
]; // @gotags: `class:"public"`
// The key id that the created certificate should have.
google.protobuf.StringValue key_id = 60 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.key_id"
that: "KeyId"
}
]; // @gotags: `class:"public"`
// The critical options that the certificate should be signed for.
map<string, string> critical_options = 70 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.critical_options"
that: "CriticalOptions"
}
]; // @gotags: `class:"public"`
// The extensions that the certificate should be signed for.
map<string, string> extensions = 80 [
(custom_options.v1.generate_sdk_option) = true,
(custom_options.v1.mask_mapping) = {
this: "attributes.extensions"
that: "Extensions"
}
]; // @gotags: `class:"public"`
}