@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,156 lines • 161 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FsxLustreFileSystem = exports.FsxLustreFileSystemTimeoutsOutputReference = exports.fsxLustreFileSystemTimeoutsToHclTerraform = exports.fsxLustreFileSystemTimeoutsToTerraform = exports.FsxLustreFileSystemRootSquashConfigurationOutputReference = exports.fsxLustreFileSystemRootSquashConfigurationToHclTerraform = exports.fsxLustreFileSystemRootSquashConfigurationToTerraform = exports.FsxLustreFileSystemMetadataConfigurationOutputReference = exports.fsxLustreFileSystemMetadataConfigurationToHclTerraform = exports.fsxLustreFileSystemMetadataConfigurationToTerraform = exports.FsxLustreFileSystemLogConfigurationOutputReference = exports.fsxLustreFileSystemLogConfigurationToHclTerraform = exports.fsxLustreFileSystemLogConfigurationToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function fsxLustreFileSystemLogConfigurationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
destination: cdktf.stringToTerraform(struct.destination),
level: cdktf.stringToTerraform(struct.level),
};
}
exports.fsxLustreFileSystemLogConfigurationToTerraform = fsxLustreFileSystemLogConfigurationToTerraform;
function fsxLustreFileSystemLogConfigurationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
destination: {
value: cdktf.stringToHclTerraform(struct.destination),
isBlock: false,
type: "simple",
storageClassType: "string",
},
level: {
value: cdktf.stringToHclTerraform(struct.level),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.fsxLustreFileSystemLogConfigurationToHclTerraform = fsxLustreFileSystemLogConfigurationToHclTerraform;
class FsxLustreFileSystemLogConfigurationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._destination !== undefined) {
hasAnyValues = true;
internalValueResult.destination = this._destination;
}
if (this._level !== undefined) {
hasAnyValues = true;
internalValueResult.level = this._level;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._destination = undefined;
this._level = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._destination = value.destination;
this._level = value.level;
}
}
get destination() {
return this.getStringAttribute('destination');
}
set destination(value) {
this._destination = value;
}
resetDestination() {
this._destination = undefined;
}
// Temporarily expose input value. Use with caution.
get destinationInput() {
return this._destination;
}
get level() {
return this.getStringAttribute('level');
}
set level(value) {
this._level = value;
}
resetLevel() {
this._level = undefined;
}
// Temporarily expose input value. Use with caution.
get levelInput() {
return this._level;
}
}
exports.FsxLustreFileSystemLogConfigurationOutputReference = FsxLustreFileSystemLogConfigurationOutputReference;
_a = JSII_RTTI_SYMBOL_1;
FsxLustreFileSystemLogConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-aws.fsxLustreFileSystem.FsxLustreFileSystemLogConfigurationOutputReference", version: "19.50.0" };
function fsxLustreFileSystemMetadataConfigurationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
iops: cdktf.numberToTerraform(struct.iops),
mode: cdktf.stringToTerraform(struct.mode),
};
}
exports.fsxLustreFileSystemMetadataConfigurationToTerraform = fsxLustreFileSystemMetadataConfigurationToTerraform;
function fsxLustreFileSystemMetadataConfigurationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
iops: {
value: cdktf.numberToHclTerraform(struct.iops),
isBlock: false,
type: "simple",
storageClassType: "number",
},
mode: {
value: cdktf.stringToHclTerraform(struct.mode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.fsxLustreFileSystemMetadataConfigurationToHclTerraform = fsxLustreFileSystemMetadataConfigurationToHclTerraform;
class FsxLustreFileSystemMetadataConfigurationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._iops !== undefined) {
hasAnyValues = true;
internalValueResult.iops = this._iops;
}
if (this._mode !== undefined) {
hasAnyValues = true;
internalValueResult.mode = this._mode;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._iops = undefined;
this._mode = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._iops = value.iops;
this._mode = value.mode;
}
}
get iops() {
return this.getNumberAttribute('iops');
}
set iops(value) {
this._iops = value;
}
resetIops() {
this._iops = undefined;
}
// Temporarily expose input value. Use with caution.
get iopsInput() {
return this._iops;
}
get mode() {
return this.getStringAttribute('mode');
}
set mode(value) {
this._mode = value;
}
resetMode() {
this._mode = undefined;
}
// Temporarily expose input value. Use with caution.
get modeInput() {
return this._mode;
}
}
exports.FsxLustreFileSystemMetadataConfigurationOutputReference = FsxLustreFileSystemMetadataConfigurationOutputReference;
_b = JSII_RTTI_SYMBOL_1;
FsxLustreFileSystemMetadataConfigurationOutputReference[_b] = { fqn: "@cdktf/provider-aws.fsxLustreFileSystem.FsxLustreFileSystemMetadataConfigurationOutputReference", version: "19.50.0" };
function fsxLustreFileSystemRootSquashConfigurationToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
no_squash_nids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.noSquashNids),
root_squash: cdktf.stringToTerraform(struct.rootSquash),
};
}
exports.fsxLustreFileSystemRootSquashConfigurationToTerraform = fsxLustreFileSystemRootSquashConfigurationToTerraform;
function fsxLustreFileSystemRootSquashConfigurationToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
no_squash_nids: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.noSquashNids),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
root_squash: {
value: cdktf.stringToHclTerraform(struct.rootSquash),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.fsxLustreFileSystemRootSquashConfigurationToHclTerraform = fsxLustreFileSystemRootSquashConfigurationToHclTerraform;
class FsxLustreFileSystemRootSquashConfigurationOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._noSquashNids !== undefined) {
hasAnyValues = true;
internalValueResult.noSquashNids = this._noSquashNids;
}
if (this._rootSquash !== undefined) {
hasAnyValues = true;
internalValueResult.rootSquash = this._rootSquash;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._noSquashNids = undefined;
this._rootSquash = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._noSquashNids = value.noSquashNids;
this._rootSquash = value.rootSquash;
}
}
get noSquashNids() {
return cdktf.Fn.tolist(this.getListAttribute('no_squash_nids'));
}
set noSquashNids(value) {
this._noSquashNids = value;
}
resetNoSquashNids() {
this._noSquashNids = undefined;
}
// Temporarily expose input value. Use with caution.
get noSquashNidsInput() {
return this._noSquashNids;
}
get rootSquash() {
return this.getStringAttribute('root_squash');
}
set rootSquash(value) {
this._rootSquash = value;
}
resetRootSquash() {
this._rootSquash = undefined;
}
// Temporarily expose input value. Use with caution.
get rootSquashInput() {
return this._rootSquash;
}
}
exports.FsxLustreFileSystemRootSquashConfigurationOutputReference = FsxLustreFileSystemRootSquashConfigurationOutputReference;
_c = JSII_RTTI_SYMBOL_1;
FsxLustreFileSystemRootSquashConfigurationOutputReference[_c] = { fqn: "@cdktf/provider-aws.fsxLustreFileSystem.FsxLustreFileSystemRootSquashConfigurationOutputReference", version: "19.50.0" };
function fsxLustreFileSystemTimeoutsToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
create: cdktf.stringToTerraform(struct.create),
delete: cdktf.stringToTerraform(struct.delete),
update: cdktf.stringToTerraform(struct.update),
};
}
exports.fsxLustreFileSystemTimeoutsToTerraform = fsxLustreFileSystemTimeoutsToTerraform;
function fsxLustreFileSystemTimeoutsToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
create: {
value: cdktf.stringToHclTerraform(struct.create),
isBlock: false,
type: "simple",
storageClassType: "string",
},
delete: {
value: cdktf.stringToHclTerraform(struct.delete),
isBlock: false,
type: "simple",
storageClassType: "string",
},
update: {
value: cdktf.stringToHclTerraform(struct.update),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.fsxLustreFileSystemTimeoutsToHclTerraform = fsxLustreFileSystemTimeoutsToHclTerraform;
class FsxLustreFileSystemTimeoutsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._create !== undefined) {
hasAnyValues = true;
internalValueResult.create = this._create;
}
if (this._delete !== undefined) {
hasAnyValues = true;
internalValueResult.delete = this._delete;
}
if (this._update !== undefined) {
hasAnyValues = true;
internalValueResult.update = this._update;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._create = undefined;
this._delete = undefined;
this._update = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._create = value.create;
this._delete = value.delete;
this._update = value.update;
}
}
get create() {
return this.getStringAttribute('create');
}
set create(value) {
this._create = value;
}
resetCreate() {
this._create = undefined;
}
// Temporarily expose input value. Use with caution.
get createInput() {
return this._create;
}
get delete() {
return this.getStringAttribute('delete');
}
set delete(value) {
this._delete = value;
}
resetDelete() {
this._delete = undefined;
}
// Temporarily expose input value. Use with caution.
get deleteInput() {
return this._delete;
}
get update() {
return this.getStringAttribute('update');
}
set update(value) {
this._update = value;
}
resetUpdate() {
this._update = undefined;
}
// Temporarily expose input value. Use with caution.
get updateInput() {
return this._update;
}
}
exports.FsxLustreFileSystemTimeoutsOutputReference = FsxLustreFileSystemTimeoutsOutputReference;
_d = JSII_RTTI_SYMBOL_1;
FsxLustreFileSystemTimeoutsOutputReference[_d] = { fqn: "@cdktf/provider-aws.fsxLustreFileSystem.FsxLustreFileSystemTimeoutsOutputReference", version: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fsx_lustre_file_system aws_fsx_lustre_file_system}
*/
class FsxLustreFileSystem extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a FsxLustreFileSystem resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the FsxLustreFileSystem to import
* @param importFromId The id of the existing FsxLustreFileSystem that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fsx_lustre_file_system#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the FsxLustreFileSystem to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_fsx_lustre_file_system", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fsx_lustre_file_system aws_fsx_lustre_file_system} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options FsxLustreFileSystemConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_fsx_lustre_file_system',
terraformGeneratorMetadata: {
providerName: 'aws',
providerVersion: '5.84.0',
providerVersionConstraint: '~> 5.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// log_configuration - computed: false, optional: true, required: false
this._logConfiguration = new FsxLustreFileSystemLogConfigurationOutputReference(this, "log_configuration");
// metadata_configuration - computed: false, optional: true, required: false
this._metadataConfiguration = new FsxLustreFileSystemMetadataConfigurationOutputReference(this, "metadata_configuration");
// root_squash_configuration - computed: false, optional: true, required: false
this._rootSquashConfiguration = new FsxLustreFileSystemRootSquashConfigurationOutputReference(this, "root_squash_configuration");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new FsxLustreFileSystemTimeoutsOutputReference(this, "timeouts");
this._autoImportPolicy = config.autoImportPolicy;
this._automaticBackupRetentionDays = config.automaticBackupRetentionDays;
this._backupId = config.backupId;
this._copyTagsToBackups = config.copyTagsToBackups;
this._dailyAutomaticBackupStartTime = config.dailyAutomaticBackupStartTime;
this._dataCompressionType = config.dataCompressionType;
this._deploymentType = config.deploymentType;
this._driveCacheType = config.driveCacheType;
this._efaEnabled = config.efaEnabled;
this._exportPath = config.exportPath;
this._fileSystemTypeVersion = config.fileSystemTypeVersion;
this._finalBackupTags = config.finalBackupTags;
this._id = config.id;
this._importPath = config.importPath;
this._importedFileChunkSize = config.importedFileChunkSize;
this._kmsKeyId = config.kmsKeyId;
this._perUnitStorageThroughput = config.perUnitStorageThroughput;
this._securityGroupIds = config.securityGroupIds;
this._skipFinalBackup = config.skipFinalBackup;
this._storageCapacity = config.storageCapacity;
this._storageType = config.storageType;
this._subnetIds = config.subnetIds;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._weeklyMaintenanceStartTime = config.weeklyMaintenanceStartTime;
this._logConfiguration.internalValue = config.logConfiguration;
this._metadataConfiguration.internalValue = config.metadataConfiguration;
this._rootSquashConfiguration.internalValue = config.rootSquashConfiguration;
this._timeouts.internalValue = config.timeouts;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
get autoImportPolicy() {
return this.getStringAttribute('auto_import_policy');
}
set autoImportPolicy(value) {
this._autoImportPolicy = value;
}
resetAutoImportPolicy() {
this._autoImportPolicy = undefined;
}
// Temporarily expose input value. Use with caution.
get autoImportPolicyInput() {
return this._autoImportPolicy;
}
get automaticBackupRetentionDays() {
return this.getNumberAttribute('automatic_backup_retention_days');
}
set automaticBackupRetentionDays(value) {
this._automaticBackupRetentionDays = value;
}
resetAutomaticBackupRetentionDays() {
this._automaticBackupRetentionDays = undefined;
}
// Temporarily expose input value. Use with caution.
get automaticBackupRetentionDaysInput() {
return this._automaticBackupRetentionDays;
}
get backupId() {
return this.getStringAttribute('backup_id');
}
set backupId(value) {
this._backupId = value;
}
resetBackupId() {
this._backupId = undefined;
}
// Temporarily expose input value. Use with caution.
get backupIdInput() {
return this._backupId;
}
get copyTagsToBackups() {
return this.getBooleanAttribute('copy_tags_to_backups');
}
set copyTagsToBackups(value) {
this._copyTagsToBackups = value;
}
resetCopyTagsToBackups() {
this._copyTagsToBackups = undefined;
}
// Temporarily expose input value. Use with caution.
get copyTagsToBackupsInput() {
return this._copyTagsToBackups;
}
get dailyAutomaticBackupStartTime() {
return this.getStringAttribute('daily_automatic_backup_start_time');
}
set dailyAutomaticBackupStartTime(value) {
this._dailyAutomaticBackupStartTime = value;
}
resetDailyAutomaticBackupStartTime() {
this._dailyAutomaticBackupStartTime = undefined;
}
// Temporarily expose input value. Use with caution.
get dailyAutomaticBackupStartTimeInput() {
return this._dailyAutomaticBackupStartTime;
}
get dataCompressionType() {
return this.getStringAttribute('data_compression_type');
}
set dataCompressionType(value) {
this._dataCompressionType = value;
}
resetDataCompressionType() {
this._dataCompressionType = undefined;
}
// Temporarily expose input value. Use with caution.
get dataCompressionTypeInput() {
return this._dataCompressionType;
}
get deploymentType() {
return this.getStringAttribute('deployment_type');
}
set deploymentType(value) {
this._deploymentType = value;
}
resetDeploymentType() {
this._deploymentType = undefined;
}
// Temporarily expose input value. Use with caution.
get deploymentTypeInput() {
return this._deploymentType;
}
// dns_name - computed: true, optional: false, required: false
get dnsName() {
return this.getStringAttribute('dns_name');
}
get driveCacheType() {
return this.getStringAttribute('drive_cache_type');
}
set driveCacheType(value) {
this._driveCacheType = value;
}
resetDriveCacheType() {
this._driveCacheType = undefined;
}
// Temporarily expose input value. Use with caution.
get driveCacheTypeInput() {
return this._driveCacheType;
}
get efaEnabled() {
return this.getBooleanAttribute('efa_enabled');
}
set efaEnabled(value) {
this._efaEnabled = value;
}
resetEfaEnabled() {
this._efaEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get efaEnabledInput() {
return this._efaEnabled;
}
get exportPath() {
return this.getStringAttribute('export_path');
}
set exportPath(value) {
this._exportPath = value;
}
resetExportPath() {
this._exportPath = undefined;
}
// Temporarily expose input value. Use with caution.
get exportPathInput() {
return this._exportPath;
}
get fileSystemTypeVersion() {
return this.getStringAttribute('file_system_type_version');
}
set fileSystemTypeVersion(value) {
this._fileSystemTypeVersion = value;
}
resetFileSystemTypeVersion() {
this._fileSystemTypeVersion = undefined;
}
// Temporarily expose input value. Use with caution.
get fileSystemTypeVersionInput() {
return this._fileSystemTypeVersion;
}
get finalBackupTags() {
return this.getStringMapAttribute('final_backup_tags');
}
set finalBackupTags(value) {
this._finalBackupTags = value;
}
resetFinalBackupTags() {
this._finalBackupTags = undefined;
}
// Temporarily expose input value. Use with caution.
get finalBackupTagsInput() {
return this._finalBackupTags;
}
get id() {
return this.getStringAttribute('id');
}
set id(value) {
this._id = value;
}
resetId() {
this._id = undefined;
}
// Temporarily expose input value. Use with caution.
get idInput() {
return this._id;
}
get importPath() {
return this.getStringAttribute('import_path');
}
set importPath(value) {
this._importPath = value;
}
resetImportPath() {
this._importPath = undefined;
}
// Temporarily expose input value. Use with caution.
get importPathInput() {
return this._importPath;
}
get importedFileChunkSize() {
return this.getNumberAttribute('imported_file_chunk_size');
}
set importedFileChunkSize(value) {
this._importedFileChunkSize = value;
}
resetImportedFileChunkSize() {
this._importedFileChunkSize = undefined;
}
// Temporarily expose input value. Use with caution.
get importedFileChunkSizeInput() {
return this._importedFileChunkSize;
}
get kmsKeyId() {
return this.getStringAttribute('kms_key_id');
}
set kmsKeyId(value) {
this._kmsKeyId = value;
}
resetKmsKeyId() {
this._kmsKeyId = undefined;
}
// Temporarily expose input value. Use with caution.
get kmsKeyIdInput() {
return this._kmsKeyId;
}
// mount_name - computed: true, optional: false, required: false
get mountName() {
return this.getStringAttribute('mount_name');
}
// network_interface_ids - computed: true, optional: false, required: false
get networkInterfaceIds() {
return this.getListAttribute('network_interface_ids');
}
// owner_id - computed: true, optional: false, required: false
get ownerId() {
return this.getStringAttribute('owner_id');
}
get perUnitStorageThroughput() {
return this.getNumberAttribute('per_unit_storage_throughput');
}
set perUnitStorageThroughput(value) {
this._perUnitStorageThroughput = value;
}
resetPerUnitStorageThroughput() {
this._perUnitStorageThroughput = undefined;
}
// Temporarily expose input value. Use with caution.
get perUnitStorageThroughputInput() {
return this._perUnitStorageThroughput;
}
get securityGroupIds() {
return cdktf.Fn.tolist(this.getListAttribute('security_group_ids'));
}
set securityGroupIds(value) {
this._securityGroupIds = value;
}
resetSecurityGroupIds() {
this._securityGroupIds = undefined;
}
// Temporarily expose input value. Use with caution.
get securityGroupIdsInput() {
return this._securityGroupIds;
}
get skipFinalBackup() {
return this.getBooleanAttribute('skip_final_backup');
}
set skipFinalBackup(value) {
this._skipFinalBackup = value;
}
resetSkipFinalBackup() {
this._skipFinalBackup = undefined;
}
// Temporarily expose input value. Use with caution.
get skipFinalBackupInput() {
return this._skipFinalBackup;
}
get storageCapacity() {
return this.getNumberAttribute('storage_capacity');
}
set storageCapacity(value) {
this._storageCapacity = value;
}
resetStorageCapacity() {
this._storageCapacity = undefined;
}
// Temporarily expose input value. Use with caution.
get storageCapacityInput() {
return this._storageCapacity;
}
get storageType() {
return this.getStringAttribute('storage_type');
}
set storageType(value) {
this._storageType = value;
}
resetStorageType() {
this._storageType = undefined;
}
// Temporarily expose input value. Use with caution.
get storageTypeInput() {
return this._storageType;
}
get subnetIds() {
return this.getListAttribute('subnet_ids');
}
set subnetIds(value) {
this._subnetIds = value;
}
// Temporarily expose input value. Use with caution.
get subnetIdsInput() {
return this._subnetIds;
}
get tags() {
return this.getStringMapAttribute('tags');
}
set tags(value) {
this._tags = value;
}
resetTags() {
this._tags = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsInput() {
return this._tags;
}
get tagsAll() {
return this.getStringMapAttribute('tags_all');
}
set tagsAll(value) {
this._tagsAll = value;
}
resetTagsAll() {
this._tagsAll = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsAllInput() {
return this._tagsAll;
}
// vpc_id - computed: true, optional: false, required: false
get vpcId() {
return this.getStringAttribute('vpc_id');
}
get weeklyMaintenanceStartTime() {
return this.getStringAttribute('weekly_maintenance_start_time');
}
set weeklyMaintenanceStartTime(value) {
this._weeklyMaintenanceStartTime = value;
}
resetWeeklyMaintenanceStartTime() {
this._weeklyMaintenanceStartTime = undefined;
}
// Temporarily expose input value. Use with caution.
get weeklyMaintenanceStartTimeInput() {
return this._weeklyMaintenanceStartTime;
}
get logConfiguration() {
return this._logConfiguration;
}
putLogConfiguration(value) {
this._logConfiguration.internalValue = value;
}
resetLogConfiguration() {
this._logConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get logConfigurationInput() {
return this._logConfiguration.internalValue;
}
get metadataConfiguration() {
return this._metadataConfiguration;
}
putMetadataConfiguration(value) {
this._metadataConfiguration.internalValue = value;
}
resetMetadataConfiguration() {
this._metadataConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get metadataConfigurationInput() {
return this._metadataConfiguration.internalValue;
}
get rootSquashConfiguration() {
return this._rootSquashConfiguration;
}
putRootSquashConfiguration(value) {
this._rootSquashConfiguration.internalValue = value;
}
resetRootSquashConfiguration() {
this._rootSquashConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get rootSquashConfigurationInput() {
return this._rootSquashConfiguration.internalValue;
}
get timeouts() {
return this._timeouts;
}
putTimeouts(value) {
this._timeouts.internalValue = value;
}
resetTimeouts() {
this._timeouts.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get timeoutsInput() {
return this._timeouts.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
auto_import_policy: cdktf.stringToTerraform(this._autoImportPolicy),
automatic_backup_retention_days: cdktf.numberToTerraform(this._automaticBackupRetentionDays),
backup_id: cdktf.stringToTerraform(this._backupId),
copy_tags_to_backups: cdktf.booleanToTerraform(this._copyTagsToBackups),
daily_automatic_backup_start_time: cdktf.stringToTerraform(this._dailyAutomaticBackupStartTime),
data_compression_type: cdktf.stringToTerraform(this._dataCompressionType),
deployment_type: cdktf.stringToTerraform(this._deploymentType),
drive_cache_type: cdktf.stringToTerraform(this._driveCacheType),
efa_enabled: cdktf.booleanToTerraform(this._efaEnabled),
export_path: cdktf.stringToTerraform(this._exportPath),
file_system_type_version: cdktf.stringToTerraform(this._fileSystemTypeVersion),
final_backup_tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._finalBackupTags),
id: cdktf.stringToTerraform(this._id),
import_path: cdktf.stringToTerraform(this._importPath),
imported_file_chunk_size: cdktf.numberToTerraform(this._importedFileChunkSize),
kms_key_id: cdktf.stringToTerraform(this._kmsKeyId),
per_unit_storage_throughput: cdktf.numberToTerraform(this._perUnitStorageThroughput),
security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._securityGroupIds),
skip_final_backup: cdktf.booleanToTerraform(this._skipFinalBackup),
storage_capacity: cdktf.numberToTerraform(this._storageCapacity),
storage_type: cdktf.stringToTerraform(this._storageType),
subnet_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._subnetIds),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll),
weekly_maintenance_start_time: cdktf.stringToTerraform(this._weeklyMaintenanceStartTime),
log_configuration: fsxLustreFileSystemLogConfigurationToTerraform(this._logConfiguration.internalValue),
metadata_configuration: fsxLustreFileSystemMetadataConfigurationToTerraform(this._metadataConfiguration.internalValue),
root_squash_configuration: fsxLustreFileSystemRootSquashConfigurationToTerraform(this._rootSquashConfiguration.internalValue),
timeouts: fsxLustreFileSystemTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
auto_import_policy: {
value: cdktf.stringToHclTerraform(this._autoImportPolicy),
isBlock: false,
type: "simple",
storageClassType: "string",
},
automatic_backup_retention_days: {
value: cdktf.numberToHclTerraform(this._automaticBackupRetentionDays),
isBlock: false,
type: "simple",
storageClassType: "number",
},
backup_id: {
value: cdktf.stringToHclTerraform(this._backupId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
copy_tags_to_backups: {
value: cdktf.booleanToHclTerraform(this._copyTagsToBackups),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
daily_automatic_backup_start_time: {
value: cdktf.stringToHclTerraform(this._dailyAutomaticBackupStartTime),
isBlock: false,
type: "simple",
storageClassType: "string",
},
data_compression_type: {
value: cdktf.stringToHclTerraform(this._dataCompressionType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
deployment_type: {
value: cdktf.stringToHclTerraform(this._deploymentType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
drive_cache_type: {
value: cdktf.stringToHclTerraform(this._driveCacheType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
efa_enabled: {
value: cdktf.booleanToHclTerraform(this._efaEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
export_path: {
value: cdktf.stringToHclTerraform(this._exportPath),
isBlock: false,
type: "simple",
storageClassType: "string",
},
file_system_type_version: {
value: cdktf.stringToHclTerraform(this._fileSystemTypeVersion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
final_backup_tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._finalBackupTags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
import_path: {
value: cdktf.stringToHclTerraform(this._importPath),
isBlock: false,
type: "simple",
storageClassType: "string",
},
imported_file_chunk_size: {
value: cdktf.numberToHclTerraform(this._importedFileChunkSize),
isBlock: false,
type: "simple",
storageClassType: "number",
},
kms_key_id: {
value: cdktf.stringToHclTerraform(this._kmsKeyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
per_unit_storage_throughput: {
value: cdktf.numberToHclTerraform(this._perUnitStorageThroughput),
isBlock: false,
type: "simple",
storageClassType: "number",
},
security_group_ids: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._securityGroupIds),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
skip_final_backup: {
value: cdktf.booleanToHclTerraform(this._skipFinalBackup),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
storage_capacity: {
value: cdktf.numberToHclTerraform(this._storageCapacity),
isBlock: false,
type: "simple",
storageClassType: "number",
},
storage_type: {
value: cdktf.stringToHclTerraform(this._storageType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
subnet_ids: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._subnetIds),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
tags_all: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
weekly_maintenance_start_time: {
value: cdktf.stringToHclTerraform(this._weeklyMaintenanceStartTime),
isBlock: false,
type: "simple",
storageClassType: "string",
},
log_configuration: {
value: fsxLustreFileSystemLogConfigurationToHclTerraform(this._logConfiguration.internalValue),
isBlock: true,
type: "list",
storageClassType: "FsxLustreFileSystemLogConfigurationList",
},
metadata_configuration: {
value: fsxLustreFileSystemMetadataConfigurationToHclTerraform(this._metadataConfiguration.internalValue),
isBlock: true,
type: "list",
storageClassType: "FsxLustreFileSystemMetadataConfigurationList",
},
root_squash_configuration: {
value: fsxLustreFileSystemRootSquashConfigurationToHclTerraform(this._rootSquashConfiguration.internalValue),
isBlock: true,
type: "list",
storageClassType: "FsxLustreFileSystemRootSquashConfigurationList",
},
timeouts: {
value: fsxLustreFileSystemTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "FsxLustreFileSystemTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.FsxLustreFileSystem = FsxLustreFileSystem;
_e = JSII_RTTI_SYMBOL_1;
FsxLustreFileSystem[_e] = { fqn: "@cdktf/provider-aws.fsxLustreFileSystem.FsxLustreFileSystem", version: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
FsxLustreFileSystem.tfResourceType = "aws_fsx_lustre_file_system";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnN4LWx1c3RyZS1maWxlLXN5c3RlbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQWdKL0IsU0FBZ0IsOENBQThDLENBQUMsTUFBaUc7SUFDOUosSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLFdBQVcsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQztRQUN6RCxLQUFLLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxLQUFLLENBQUM7S0FDOUMsQ0FBQTtBQUNILENBQUM7QUFURCx3R0FTQztBQUdELFNBQWdCLGlEQUFpRCxDQUFDLE1BQWlHO0lBQ2pLLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHO1FBQ1osV0FBVyxFQUFFO1lBQ1gsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFB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