UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,156 lines 161 kB
"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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