UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,032 lines 143 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.FsxOntapFileSystem = exports.FsxOntapFileSystemTimeoutsOutputReference = exports.FsxOntapFileSystemDiskIopsConfigurationOutputReference = exports.FsxOntapFileSystemEndpointsList = exports.FsxOntapFileSystemEndpointsOutputReference = exports.FsxOntapFileSystemEndpointsManagementList = exports.FsxOntapFileSystemEndpointsManagementOutputReference = exports.FsxOntapFileSystemEndpointsInterclusterList = exports.FsxOntapFileSystemEndpointsInterclusterOutputReference = void 0; exports.fsxOntapFileSystemEndpointsInterclusterToTerraform = fsxOntapFileSystemEndpointsInterclusterToTerraform; exports.fsxOntapFileSystemEndpointsInterclusterToHclTerraform = fsxOntapFileSystemEndpointsInterclusterToHclTerraform; exports.fsxOntapFileSystemEndpointsManagementToTerraform = fsxOntapFileSystemEndpointsManagementToTerraform; exports.fsxOntapFileSystemEndpointsManagementToHclTerraform = fsxOntapFileSystemEndpointsManagementToHclTerraform; exports.fsxOntapFileSystemEndpointsToTerraform = fsxOntapFileSystemEndpointsToTerraform; exports.fsxOntapFileSystemEndpointsToHclTerraform = fsxOntapFileSystemEndpointsToHclTerraform; exports.fsxOntapFileSystemDiskIopsConfigurationToTerraform = fsxOntapFileSystemDiskIopsConfigurationToTerraform; exports.fsxOntapFileSystemDiskIopsConfigurationToHclTerraform = fsxOntapFileSystemDiskIopsConfigurationToHclTerraform; exports.fsxOntapFileSystemTimeoutsToTerraform = fsxOntapFileSystemTimeoutsToTerraform; exports.fsxOntapFileSystemTimeoutsToHclTerraform = fsxOntapFileSystemTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function fsxOntapFileSystemEndpointsInterclusterToTerraform(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 {}; } function fsxOntapFileSystemEndpointsInterclusterToHclTerraform(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 = {}; return attrs; } class FsxOntapFileSystemEndpointsInterclusterOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // dns_name - computed: true, optional: false, required: false get dnsName() { return this.getStringAttribute('dns_name'); } // ip_addresses - computed: true, optional: false, required: false get ipAddresses() { return cdktf.Fn.tolist(this.getListAttribute('ip_addresses')); } } exports.FsxOntapFileSystemEndpointsInterclusterOutputReference = FsxOntapFileSystemEndpointsInterclusterOutputReference; _a = JSII_RTTI_SYMBOL_1; FsxOntapFileSystemEndpointsInterclusterOutputReference[_a] = { fqn: "@cdktf/provider-aws.fsxOntapFileSystem.FsxOntapFileSystemEndpointsInterclusterOutputReference", version: "21.22.1" }; class FsxOntapFileSystemEndpointsInterclusterList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new FsxOntapFileSystemEndpointsInterclusterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FsxOntapFileSystemEndpointsInterclusterList = FsxOntapFileSystemEndpointsInterclusterList; _b = JSII_RTTI_SYMBOL_1; FsxOntapFileSystemEndpointsInterclusterList[_b] = { fqn: "@cdktf/provider-aws.fsxOntapFileSystem.FsxOntapFileSystemEndpointsInterclusterList", version: "21.22.1" }; function fsxOntapFileSystemEndpointsManagementToTerraform(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 {}; } function fsxOntapFileSystemEndpointsManagementToHclTerraform(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 = {}; return attrs; } class FsxOntapFileSystemEndpointsManagementOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // dns_name - computed: true, optional: false, required: false get dnsName() { return this.getStringAttribute('dns_name'); } // ip_addresses - computed: true, optional: false, required: false get ipAddresses() { return cdktf.Fn.tolist(this.getListAttribute('ip_addresses')); } } exports.FsxOntapFileSystemEndpointsManagementOutputReference = FsxOntapFileSystemEndpointsManagementOutputReference; _c = JSII_RTTI_SYMBOL_1; FsxOntapFileSystemEndpointsManagementOutputReference[_c] = { fqn: "@cdktf/provider-aws.fsxOntapFileSystem.FsxOntapFileSystemEndpointsManagementOutputReference", version: "21.22.1" }; class FsxOntapFileSystemEndpointsManagementList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new FsxOntapFileSystemEndpointsManagementOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FsxOntapFileSystemEndpointsManagementList = FsxOntapFileSystemEndpointsManagementList; _d = JSII_RTTI_SYMBOL_1; FsxOntapFileSystemEndpointsManagementList[_d] = { fqn: "@cdktf/provider-aws.fsxOntapFileSystem.FsxOntapFileSystemEndpointsManagementList", version: "21.22.1" }; function fsxOntapFileSystemEndpointsToTerraform(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 {}; } function fsxOntapFileSystemEndpointsToHclTerraform(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 = {}; return attrs; } class FsxOntapFileSystemEndpointsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // intercluster - computed: true, optional: false, required: false this._intercluster = new FsxOntapFileSystemEndpointsInterclusterList(this, "intercluster", false); // management - computed: true, optional: false, required: false this._management = new FsxOntapFileSystemEndpointsManagementList(this, "management", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } get intercluster() { return this._intercluster; } get management() { return this._management; } } exports.FsxOntapFileSystemEndpointsOutputReference = FsxOntapFileSystemEndpointsOutputReference; _e = JSII_RTTI_SYMBOL_1; FsxOntapFileSystemEndpointsOutputReference[_e] = { fqn: "@cdktf/provider-aws.fsxOntapFileSystem.FsxOntapFileSystemEndpointsOutputReference", version: "21.22.1" }; class FsxOntapFileSystemEndpointsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new FsxOntapFileSystemEndpointsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.FsxOntapFileSystemEndpointsList = FsxOntapFileSystemEndpointsList; _f = JSII_RTTI_SYMBOL_1; FsxOntapFileSystemEndpointsList[_f] = { fqn: "@cdktf/provider-aws.fsxOntapFileSystem.FsxOntapFileSystemEndpointsList", version: "21.22.1" }; function fsxOntapFileSystemDiskIopsConfigurationToTerraform(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), }; } function fsxOntapFileSystemDiskIopsConfigurationToHclTerraform(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)); } class FsxOntapFileSystemDiskIopsConfigurationOutputReference 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.FsxOntapFileSystemDiskIopsConfigurationOutputReference = FsxOntapFileSystemDiskIopsConfigurationOutputReference; _g = JSII_RTTI_SYMBOL_1; FsxOntapFileSystemDiskIopsConfigurationOutputReference[_g] = { fqn: "@cdktf/provider-aws.fsxOntapFileSystem.FsxOntapFileSystemDiskIopsConfigurationOutputReference", version: "21.22.1" }; function fsxOntapFileSystemTimeoutsToTerraform(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), }; } function fsxOntapFileSystemTimeoutsToHclTerraform(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)); } class FsxOntapFileSystemTimeoutsOutputReference 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.FsxOntapFileSystemTimeoutsOutputReference = FsxOntapFileSystemTimeoutsOutputReference; _h = JSII_RTTI_SYMBOL_1; FsxOntapFileSystemTimeoutsOutputReference[_h] = { fqn: "@cdktf/provider-aws.fsxOntapFileSystem.FsxOntapFileSystemTimeoutsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/fsx_ontap_file_system aws_fsx_ontap_file_system} */ class FsxOntapFileSystem extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a FsxOntapFileSystem 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 FsxOntapFileSystem to import * @param importFromId The id of the existing FsxOntapFileSystem that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/fsx_ontap_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 FsxOntapFileSystem to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_fsx_ontap_file_system", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/fsx_ontap_file_system aws_fsx_ontap_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 FsxOntapFileSystemConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_fsx_ontap_file_system', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // endpoints - computed: true, optional: false, required: false this._endpoints = new FsxOntapFileSystemEndpointsList(this, "endpoints", false); // disk_iops_configuration - computed: false, optional: true, required: false this._diskIopsConfiguration = new FsxOntapFileSystemDiskIopsConfigurationOutputReference(this, "disk_iops_configuration"); // timeouts - computed: false, optional: true, required: false this._timeouts = new FsxOntapFileSystemTimeoutsOutputReference(this, "timeouts"); this._automaticBackupRetentionDays = config.automaticBackupRetentionDays; this._dailyAutomaticBackupStartTime = config.dailyAutomaticBackupStartTime; this._deploymentType = config.deploymentType; this._endpointIpAddressRange = config.endpointIpAddressRange; this._fsxAdminPassword = config.fsxAdminPassword; this._haPairs = config.haPairs; this._id = config.id; this._kmsKeyId = config.kmsKeyId; this._preferredSubnetId = config.preferredSubnetId; this._region = config.region; this._routeTableIds = config.routeTableIds; this._securityGroupIds = config.securityGroupIds; this._storageCapacity = config.storageCapacity; this._storageType = config.storageType; this._subnetIds = config.subnetIds; this._tags = config.tags; this._tagsAll = config.tagsAll; this._throughputCapacity = config.throughputCapacity; this._throughputCapacityPerHaPair = config.throughputCapacityPerHaPair; this._weeklyMaintenanceStartTime = config.weeklyMaintenanceStartTime; this._diskIopsConfiguration.internalValue = config.diskIopsConfiguration; this._timeouts.internalValue = config.timeouts; } // ========== // ATTRIBUTES // ========== // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } 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 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 deploymentType() { return this.getStringAttribute('deployment_type'); } set deploymentType(value) { this._deploymentType = value; } // 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 endpointIpAddressRange() { return this.getStringAttribute('endpoint_ip_address_range'); } set endpointIpAddressRange(value) { this._endpointIpAddressRange = value; } resetEndpointIpAddressRange() { this._endpointIpAddressRange = undefined; } // Temporarily expose input value. Use with caution. get endpointIpAddressRangeInput() { return this._endpointIpAddressRange; } get endpoints() { return this._endpoints; } get fsxAdminPassword() { return this.getStringAttribute('fsx_admin_password'); } set fsxAdminPassword(value) { this._fsxAdminPassword = value; } resetFsxAdminPassword() { this._fsxAdminPassword = undefined; } // Temporarily expose input value. Use with caution. get fsxAdminPasswordInput() { return this._fsxAdminPassword; } get haPairs() { return this.getNumberAttribute('ha_pairs'); } set haPairs(value) { this._haPairs = value; } resetHaPairs() { this._haPairs = undefined; } // Temporarily expose input value. Use with caution. get haPairsInput() { return this._haPairs; } 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 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; } // 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 preferredSubnetId() { return this.getStringAttribute('preferred_subnet_id'); } set preferredSubnetId(value) { this._preferredSubnetId = value; } // Temporarily expose input value. Use with caution. get preferredSubnetIdInput() { return this._preferredSubnetId; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } get routeTableIds() { return cdktf.Fn.tolist(this.getListAttribute('route_table_ids')); } set routeTableIds(value) { this._routeTableIds = value; } resetRouteTableIds() { this._routeTableIds = undefined; } // Temporarily expose input value. Use with caution. get routeTableIdsInput() { return this._routeTableIds; } 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 storageCapacity() { return this.getNumberAttribute('storage_capacity'); } set storageCapacity(value) { this._storageCapacity = value; } // 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; } get throughputCapacity() { return this.getNumberAttribute('throughput_capacity'); } set throughputCapacity(value) { this._throughputCapacity = value; } resetThroughputCapacity() { this._throughputCapacity = undefined; } // Temporarily expose input value. Use with caution. get throughputCapacityInput() { return this._throughputCapacity; } get throughputCapacityPerHaPair() { return this.getNumberAttribute('throughput_capacity_per_ha_pair'); } set throughputCapacityPerHaPair(value) { this._throughputCapacityPerHaPair = value; } resetThroughputCapacityPerHaPair() { this._throughputCapacityPerHaPair = undefined; } // Temporarily expose input value. Use with caution. get throughputCapacityPerHaPairInput() { return this._throughputCapacityPerHaPair; } // 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 diskIopsConfiguration() { return this._diskIopsConfiguration; } putDiskIopsConfiguration(value) { this._diskIopsConfiguration.internalValue = value; } resetDiskIopsConfiguration() { this._diskIopsConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get diskIopsConfigurationInput() { return this._diskIopsConfiguration.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 { automatic_backup_retention_days: cdktf.numberToTerraform(this._automaticBackupRetentionDays), daily_automatic_backup_start_time: cdktf.stringToTerraform(this._dailyAutomaticBackupStartTime), deployment_type: cdktf.stringToTerraform(this._deploymentType), endpoint_ip_address_range: cdktf.stringToTerraform(this._endpointIpAddressRange), fsx_admin_password: cdktf.stringToTerraform(this._fsxAdminPassword), ha_pairs: cdktf.numberToTerraform(this._haPairs), id: cdktf.stringToTerraform(this._id), kms_key_id: cdktf.stringToTerraform(this._kmsKeyId), preferred_subnet_id: cdktf.stringToTerraform(this._preferredSubnetId), region: cdktf.stringToTerraform(this._region), route_table_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._routeTableIds), security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._securityGroupIds), 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), throughput_capacity: cdktf.numberToTerraform(this._throughputCapacity), throughput_capacity_per_ha_pair: cdktf.numberToTerraform(this._throughputCapacityPerHaPair), weekly_maintenance_start_time: cdktf.stringToTerraform(this._weeklyMaintenanceStartTime), disk_iops_configuration: fsxOntapFileSystemDiskIopsConfigurationToTerraform(this._diskIopsConfiguration.internalValue), timeouts: fsxOntapFileSystemTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { automatic_backup_retention_days: { value: cdktf.numberToHclTerraform(this._automaticBackupRetentionDays), isBlock: false, type: "simple", storageClassType: "number", }, daily_automatic_backup_start_time: { value: cdktf.stringToHclTerraform(this._dailyAutomaticBackupStartTime), isBlock: false, type: "simple", storageClassType: "string", }, deployment_type: { value: cdktf.stringToHclTerraform(this._deploymentType), isBlock: false, type: "simple", storageClassType: "string", }, endpoint_ip_address_range: { value: cdktf.stringToHclTerraform(this._endpointIpAddressRange), isBlock: false, type: "simple", storageClassType: "string", }, fsx_admin_password: { value: cdktf.stringToHclTerraform(this._fsxAdminPassword), isBlock: false, type: "simple", storageClassType: "string", }, ha_pairs: { value: cdktf.numberToHclTerraform(this._haPairs), isBlock: false, type: "simple", storageClassType: "number", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, kms_key_id: { value: cdktf.stringToHclTerraform(this._kmsKeyId), isBlock: false, type: "simple", storageClassType: "string", }, preferred_subnet_id: { value: cdktf.stringToHclTerraform(this._preferredSubnetId), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, route_table_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._routeTableIds), isBlock: false, type: "set", storageClassType: "stringList", }, security_group_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._securityGroupIds), isBlock: false, type: "set", storageClassType: "stringList", }, 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", }, throughput_capacity: { value: cdktf.numberToHclTerraform(this._throughputCapacity), isBlock: false, type: "simple", storageClassType: "number", }, throughput_capacity_per_ha_pair: { value: cdktf.numberToHclTerraform(this._throughputCapacityPerHaPair), isBlock: false, type: "simple", storageClassType: "number", }, weekly_maintenance_start_time: { value: cdktf.stringToHclTerraform(this._weeklyMaintenanceStartTime), isBlock: false, type: "simple", storageClassType: "string", }, disk_iops_configuration: { value: fsxOntapFileSystemDiskIopsConfigurationToHclTerraform(this._diskIopsConfiguration.internalValue), isBlock: true, type: "list", storageClassType: "FsxOntapFileSystemDiskIopsConfigurationList", }, timeouts: { value: fsxOntapFileSystemTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "FsxOntapFileSystemTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.FsxOntapFileSystem = FsxOntapFileSystem; _j = JSII_RTTI_SYMBOL_1; FsxOntapFileSystem[_j] = { fqn: "@cdktf/provider-aws.fsxOntapFileSystem.FsxOntapFileSystem", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= FsxOntapFileSystem.tfResourceType = "aws_fsx_ontap_file_system"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnN4LW9udGFwLWZpbGUtc3lzdGVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFtSEEsZ0hBT0M7QUFHRCxzSEFRQztBQThERCw0R0FPQztBQUdELGtIQVFDO0FBOERELHdGQU9DO0FBR0QsOEZBUUM7QUF3RUQsZ0hBU0M7QUFHRCxzSEFzQkM7QUF1RkQsc0ZBVUM7QUFHRCw0RkE0QkM7O0FBdGdCRCwrQkFBK0I7QUEwRy9CLFNBQWdCLGtEQUFrRCxDQUFDLE1BQWdEO0lBQ2pILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU8sRUFDTixDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLHFEQUFxRCxDQUFDLE1BQWdEO0lBQ3BILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLEVBQ2IsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQWEsc0RB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