2023-03-01 09:39:41 -06:00
|
|
|
/**
|
|
|
|
|
* Copyright (c) HashiCorp, Inc.
|
2024-05-31 11:29:24 -07:00
|
|
|
* SPDX-License-Identifier: BUSL-1.1
|
2023-03-01 09:39:41 -06:00
|
|
|
*/
|
|
|
|
|
|
2022-07-19 13:02:04 -07:00
|
|
|
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;
|
|
|
|
|
|
2025-06-17 11:24:19 -07:00
|
|
|
// =attributes (username_password, ssh_private_key, username_password_domain)
|
2022-08-12 15:56:19 -05:00
|
|
|
@attr('string', {
|
2025-06-17 11:24:19 -07:00
|
|
|
for: ['username_password', 'ssh_private_key', 'username_password_domain'],
|
2022-08-12 15:56:19 -05:00
|
|
|
isNestedAttribute: true,
|
|
|
|
|
description: 'The username for credential.',
|
|
|
|
|
})
|
|
|
|
|
username;
|
|
|
|
|
|
2025-11-03 14:28:25 -08:00
|
|
|
// =attributes (username_password, username_password_domain, password)
|
2022-07-20 12:34:18 -07:00
|
|
|
@attr('string', {
|
2025-11-03 14:28:25 -08:00
|
|
|
for: ['username_password', 'username_password_domain', 'password'],
|
2022-07-20 12:34:18 -07:00
|
|
|
isNestedAttribute: true,
|
2022-11-14 14:45:53 -06:00
|
|
|
isSecret: true,
|
2022-07-20 12:34:18 -07:00
|
|
|
description: 'The password for credential.',
|
|
|
|
|
})
|
|
|
|
|
password;
|
|
|
|
|
|
2022-08-12 15:56:19 -05:00
|
|
|
// =attributes (ssh_private_key)
|
2022-07-19 13:02:04 -07:00
|
|
|
@attr('string', {
|
2022-08-12 15:56:19 -05:00
|
|
|
for: 'ssh_private_key',
|
2022-07-19 13:02:04 -07:00
|
|
|
isNestedAttribute: true,
|
2022-11-14 14:45:53 -06:00
|
|
|
isSecret: true,
|
2022-08-12 15:56:19 -05:00
|
|
|
description: 'The private key for credential.',
|
2022-07-19 13:02:04 -07:00
|
|
|
})
|
2022-08-12 15:56:19 -05:00
|
|
|
private_key;
|
|
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
for: 'ssh_private_key',
|
|
|
|
|
isNestedAttribute: true,
|
2022-11-14 14:45:53 -06:00
|
|
|
isSecret: true,
|
2022-08-30 20:40:31 -05:00
|
|
|
description: 'The private key passphrase for credential.',
|
2022-08-12 15:56:19 -05:00
|
|
|
})
|
2022-08-30 20:40:31 -05:00
|
|
|
private_key_passphrase;
|
2022-11-21 16:28:10 -05:00
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
for: 'json',
|
|
|
|
|
isNestedAttribute: true,
|
|
|
|
|
isSecret: true,
|
|
|
|
|
description: 'The secret associated with credential.',
|
|
|
|
|
})
|
|
|
|
|
json_object;
|
2025-06-17 11:24:19 -07:00
|
|
|
|
|
|
|
|
// =attributes (username_password_domain)
|
|
|
|
|
@attr('string', {
|
|
|
|
|
for: 'username_password_domain',
|
|
|
|
|
isNestedAttribute: true,
|
|
|
|
|
description: 'The domain for credential.',
|
|
|
|
|
})
|
|
|
|
|
domain;
|
2022-07-19 13:02:04 -07:00
|
|
|
}
|