* chore: 🤖 JSON credential data modeling Added json type to credential model, created `json_object` attribute for `json` type, updated credential serializer to handle `json_object` attribute data being sent to backend and updated normalizer to handlle secret untracked 'json_object'. ✅ Closes: ICU-6653, ICU-6684, ICU-6685, ICU-6802, ICU-6803 * Update en-us.yaml fixed spelling * Update addons/api/addon/models/credential.js Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com> * refactor: 💡 refactor credential serializer and .yaml Refactored credential serializer to check for `json_object` existence before serializing and changed help variable in `.yaml` file for credentials. * refactor: 💡 refactor for credential serializer Refactor credential serializer removed redundant code, Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
91 lines
2.1 KiB
JavaScript
91 lines
2.1 KiB
JavaScript
import BaseModel from '../../models/base';
|
|
import { attr } from '@ember-data/model';
|
|
|
|
/**
|
|
* A credential is a data structure containing one or more secrets that binds an
|
|
* identity to a set of permissions or capabilities on a host for a session.
|
|
*/
|
|
export default class GeneratedCredentialModel extends BaseModel {
|
|
// =attributes
|
|
|
|
@attr('string', {
|
|
description:
|
|
'The ID of the Credential Store of which this Credential is a part.',
|
|
})
|
|
credential_store_id;
|
|
|
|
@attr('string', {
|
|
description: 'The type of the resource, to help differentiate schemas',
|
|
})
|
|
type;
|
|
|
|
@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 (username_password, ssh_private_key)
|
|
@attr('string', {
|
|
for: ['username_password', 'ssh_private_key'],
|
|
isNestedAttribute: true,
|
|
description: 'The username for credential.',
|
|
})
|
|
username;
|
|
|
|
// =attributes (username_password)
|
|
@attr('string', {
|
|
for: 'username_password',
|
|
isNestedAttribute: true,
|
|
isSecret: true,
|
|
description: 'The password for credential.',
|
|
})
|
|
password;
|
|
|
|
// =attributes (ssh_private_key)
|
|
@attr('string', {
|
|
for: 'ssh_private_key',
|
|
isNestedAttribute: true,
|
|
isSecret: true,
|
|
description: 'The private key for credential.',
|
|
})
|
|
private_key;
|
|
|
|
@attr('string', {
|
|
for: 'ssh_private_key',
|
|
isNestedAttribute: true,
|
|
isSecret: true,
|
|
description: 'The private key passphrase for credential.',
|
|
})
|
|
private_key_passphrase;
|
|
|
|
@attr('string', {
|
|
for: 'json',
|
|
isNestedAttribute: true,
|
|
isSecret: true,
|
|
description: 'The secret associated with credential.',
|
|
})
|
|
json_object;
|
|
}
|