@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,011 lines • 140 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FsxOntapFileSystem = exports.FsxOntapFileSystemTimeoutsOutputReference = exports.fsxOntapFileSystemTimeoutsToHclTerraform = exports.fsxOntapFileSystemTimeoutsToTerraform = exports.FsxOntapFileSystemDiskIopsConfigurationOutputReference = exports.fsxOntapFileSystemDiskIopsConfigurationToHclTerraform = exports.fsxOntapFileSystemDiskIopsConfigurationToTerraform = exports.FsxOntapFileSystemEndpointsList = exports.FsxOntapFileSystemEndpointsOutputReference = exports.fsxOntapFileSystemEndpointsToHclTerraform = exports.fsxOntapFileSystemEndpointsToTerraform = exports.FsxOntapFileSystemEndpointsManagementList = exports.FsxOntapFileSystemEndpointsManagementOutputReference = exports.fsxOntapFileSystemEndpointsManagementToHclTerraform = exports.fsxOntapFileSystemEndpointsManagementToTerraform = exports.FsxOntapFileSystemEndpointsInterclusterList = exports.FsxOntapFileSystemEndpointsInterclusterOutputReference = exports.fsxOntapFileSystemEndpointsInterclusterToHclTerraform = exports.fsxOntapFileSystemEndpointsInterclusterToTerraform = void 0;
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 {};
}
exports.fsxOntapFileSystemEndpointsInterclusterToTerraform = fsxOntapFileSystemEndpointsInterclusterToTerraform;
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;
}
exports.fsxOntapFileSystemEndpointsInterclusterToHclTerraform = fsxOntapFileSystemEndpointsInterclusterToHclTerraform;
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: "19.50.0" };
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: "19.50.0" };
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 {};
}
exports.fsxOntapFileSystemEndpointsManagementToTerraform = fsxOntapFileSystemEndpointsManagementToTerraform;
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;
}
exports.fsxOntapFileSystemEndpointsManagementToHclTerraform = fsxOntapFileSystemEndpointsManagementToHclTerraform;
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: "19.50.0" };
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: "19.50.0" };
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 {};
}
exports.fsxOntapFileSystemEndpointsToTerraform = fsxOntapFileSystemEndpointsToTerraform;
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;
}
exports.fsxOntapFileSystemEndpointsToHclTerraform = fsxOntapFileSystemEndpointsToHclTerraform;
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: "19.50.0" };
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: "19.50.0" };
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),
};
}
exports.fsxOntapFileSystemDiskIopsConfigurationToTerraform = fsxOntapFileSystemDiskIopsConfigurationToTerraform;
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));
}
exports.fsxOntapFileSystemDiskIopsConfigurationToHclTerraform = fsxOntapFileSystemDiskIopsConfigurationToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.fsxOntapFileSystemTimeoutsToTerraform = fsxOntapFileSystemTimeoutsToTerraform;
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));
}
exports.fsxOntapFileSystemTimeoutsToHclTerraform = fsxOntapFileSystemTimeoutsToHclTerraform;
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: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.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/5.84.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/5.84.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: '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
});
// 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._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 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),
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",
},
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: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
FsxOntapFileSystem.tfResourceType = "aws_fsx_ontap_file_system";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnN4LW9udGFwLWZpbGUtc3lzdGVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBb0cvQixTQUFnQixrREFBa0QsQ0FBQyxNQUFnRDtJQUNqSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPLEVBQ04sQ0FBQTtBQUNILENBQUM7QUFQRCxnSEFPQztBQUdELFNBQWdCLHFEQUFxRCxDQUFDLE1BQWdEO0lBQ3BILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLEVBQ2IsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVJELHNIQVFDO0FBRUQsTUFBYSxzREFBdUQsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUc3Rjs7Ozs7TUFLRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQixFQUFFLGtCQUEwQixFQUFFLHNCQUErQjtRQUN2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