2023-06-19 16:23:53 +00:00
|
|
|
/**
|
|
|
|
|
* Copyright (c) HashiCorp, Inc.
|
2024-05-31 11:29:24 -07:00
|
|
|
* SPDX-License-Identifier: BUSL-1.1
|
2023-06-19 16:23:53 +00:00
|
|
|
*/
|
|
|
|
|
|
2023-03-03 12:56:28 -05:00
|
|
|
import BaseModel from '../../models/base';
|
|
|
|
|
import { attr } from '@ember-data/model';
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A storage bucket is a resource that that represents a bucket in an external object store.
|
|
|
|
|
*/
|
|
|
|
|
export default class GeneratedStorageBucketModel extends BaseModel {
|
|
|
|
|
// =attributes
|
|
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
description: 'The type of the resource, to help differentiate schemas',
|
|
|
|
|
})
|
|
|
|
|
type;
|
|
|
|
|
|
|
|
|
|
@attr({
|
|
|
|
|
description: 'Plugin information for this resource.',
|
|
|
|
|
readOnly: true,
|
|
|
|
|
})
|
|
|
|
|
plugin;
|
|
|
|
|
|
|
|
|
|
@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;
|
|
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
description: 'The name of the bucket in the external object store.',
|
|
|
|
|
})
|
|
|
|
|
bucket_name;
|
|
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
description:
|
|
|
|
|
'The base path where session recordings will be stored in the external object store.',
|
|
|
|
|
})
|
|
|
|
|
bucket_prefix;
|
|
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
description:
|
|
|
|
|
'An expression used to filter the workers that have network access to a service that is hosting the external object store.',
|
|
|
|
|
})
|
|
|
|
|
worker_filter;
|
|
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
isNestedAttribute: true,
|
|
|
|
|
description: 'The AWS region to use.',
|
2025-02-11 18:31:01 -05:00
|
|
|
trimWhitespace: true,
|
2023-03-03 12:56:28 -05:00
|
|
|
})
|
|
|
|
|
region;
|
|
|
|
|
|
2024-04-16 14:17:23 -07:00
|
|
|
@attr('string', {
|
|
|
|
|
isNestedAttribute: true,
|
|
|
|
|
description: 'The MinIO location server.',
|
|
|
|
|
})
|
|
|
|
|
endpoint_url;
|
|
|
|
|
|
2023-09-20 14:55:05 -07:00
|
|
|
//this field is not used in the UI, but this is kept here to replicate the API
|
|
|
|
|
@attr('string', {
|
|
|
|
|
readOnly: true,
|
|
|
|
|
isNestedAttribute: true,
|
|
|
|
|
})
|
|
|
|
|
secrets_hmac;
|
|
|
|
|
|
2023-09-11 15:31:57 -07:00
|
|
|
@attr('boolean', {
|
|
|
|
|
isNestedAttribute: true,
|
|
|
|
|
description: 'If set to `true`, credential rotation is not performed.',
|
|
|
|
|
})
|
|
|
|
|
disable_credential_rotation;
|
|
|
|
|
|
|
|
|
|
// =attributes (static credentials)
|
2023-03-03 12:56:28 -05:00
|
|
|
@attr('string', {
|
|
|
|
|
isNestedSecret: true,
|
|
|
|
|
description: 'The AWS access key ID to use.',
|
|
|
|
|
})
|
|
|
|
|
access_key_id;
|
|
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
isNestedSecret: true,
|
|
|
|
|
description: 'The secret access key to use.',
|
|
|
|
|
})
|
|
|
|
|
secret_access_key;
|
2023-05-09 14:06:05 -07:00
|
|
|
|
2023-09-11 15:31:57 -07:00
|
|
|
// =attributes (dynamic credentials)
|
|
|
|
|
@attr('string', {
|
2023-05-09 14:06:05 -07:00
|
|
|
isNestedAttribute: true,
|
2023-09-11 15:31:57 -07:00
|
|
|
description: 'The role ARN to use.',
|
2025-02-11 18:31:01 -05:00
|
|
|
trimWhitespace: true,
|
2023-05-09 14:06:05 -07:00
|
|
|
})
|
2023-09-11 15:31:57 -07:00
|
|
|
role_arn;
|
|
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
isNestedAttribute: true,
|
|
|
|
|
description: 'The role external ID to use.',
|
|
|
|
|
})
|
|
|
|
|
role_external_id;
|
|
|
|
|
|
|
|
|
|
@attr('string', {
|
|
|
|
|
isNestedAttribute: true,
|
|
|
|
|
description: 'The role session to use.',
|
|
|
|
|
})
|
|
|
|
|
role_session_name;
|
|
|
|
|
|
|
|
|
|
@attr('object-as-array', {
|
|
|
|
|
isNestedAttribute: true,
|
|
|
|
|
description: 'The role tags to use.',
|
|
|
|
|
})
|
|
|
|
|
role_tags;
|
2023-03-03 12:56:28 -05:00
|
|
|
}
|