* feat: 🎸 Update models for vault ssh cert feature (#1591) ✅ Closes: ICU-7546 * feat: 🎸 Setup types in cred library forms and use HDS component (#1597) * feat: 🎸 Setup types in cred library forms and use HDS component ✅ Closes: ICU-7673 * feat: 🎸 Add vault ssh cert type for credential library (#1608) * feat: 🎸 Add vault ssh cert type for credential library ✅ Closes: ICU-7678 * feat: 🎸 Enable feature flag for vault ssh cert work (#1614) * fix: 🐛 Change fields to optional as they get default by backend (#1615) * Chore/cleanup vault ssh cert (#1616)
117 lines
2.7 KiB
JavaScript
117 lines
2.7 KiB
JavaScript
import BaseModel from '../../models/base';
|
|
import { attr } from '@ember-data/model';
|
|
|
|
/**
|
|
* A credential library is a resource that can generate and retrieve
|
|
* credentials.
|
|
*/
|
|
export default class GeneratedCredentialLibraryModel extends BaseModel {
|
|
// =attributes
|
|
|
|
@attr('string', {
|
|
description: 'The type of the resource, to help differentiate schemas',
|
|
})
|
|
type;
|
|
|
|
@attr('string', {
|
|
description: 'The owning credential store ID.',
|
|
})
|
|
credential_store_id;
|
|
|
|
@attr('string', {
|
|
description: 'Optional name for identification purposes',
|
|
})
|
|
name;
|
|
|
|
@attr('string', {
|
|
description: 'Optional user-set description for identification purposes',
|
|
})
|
|
description;
|
|
|
|
@attr('date', {
|
|
description: 'The time this resource was created\nOutput only.',
|
|
readOnly: true,
|
|
})
|
|
created_time;
|
|
|
|
@attr('date', {
|
|
description: 'The time this resource was last updated\nOutput only.',
|
|
readOnly: true,
|
|
})
|
|
updated_time;
|
|
|
|
@attr('number', {
|
|
description: 'Current version number of this resource.',
|
|
})
|
|
version;
|
|
|
|
//= attributes (vault)
|
|
|
|
@attr('string', {
|
|
isNestedAttribute: true,
|
|
description:
|
|
'The HTTP method the library uses when requesting credentials from Vault.',
|
|
defaultValue: () => 'GET',
|
|
})
|
|
http_method;
|
|
|
|
@attr('string', {
|
|
isNestedAttribute: true,
|
|
description:
|
|
'The body of the HTTP request the library sends to Vault when requesting credentials. Only valid if `http_method` is set to `POST`.',
|
|
})
|
|
http_request_body;
|
|
|
|
@attr('string', {
|
|
isNestedAttribute: true,
|
|
description: 'The path in Vault to request credentials from.',
|
|
})
|
|
path;
|
|
|
|
@attr('string', {
|
|
isNestedAttribute: true,
|
|
description: 'The username to use when making an SSH connection.',
|
|
})
|
|
username;
|
|
|
|
@attr('string', {
|
|
isNestedAttribute: true,
|
|
description: 'The desired key type to use when generating a private key.',
|
|
})
|
|
key_type;
|
|
|
|
@attr('number', {
|
|
isNestedAttribute: true,
|
|
description:
|
|
'Specifies the number of bits used when generating the private key. Not used if key type is ed25519',
|
|
})
|
|
key_bits;
|
|
|
|
@attr('string', {
|
|
isNestedAttribute: true,
|
|
description: 'Specifies the requested time to live for the certificate.',
|
|
})
|
|
ttl;
|
|
|
|
@attr('string', {
|
|
isNestedAttribute: true,
|
|
description:
|
|
'Specifies the key id that the created certificate should have.',
|
|
})
|
|
key_id;
|
|
|
|
@attr('object-as-array', {
|
|
isNestedAttribute: true,
|
|
description:
|
|
'Specifies a map of the critical options that the certificate should be signed for.',
|
|
})
|
|
critical_options;
|
|
|
|
@attr('object-as-array', {
|
|
isNestedAttribute: true,
|
|
description:
|
|
'Specifies a map of the extensions that the certificate should be signed for.',
|
|
})
|
|
extensions;
|
|
}
|