@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,027 lines • 144 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FsxOpenzfsVolume = exports.FsxOpenzfsVolumeUserAndGroupQuotasList = exports.FsxOpenzfsVolumeUserAndGroupQuotasOutputReference = exports.fsxOpenzfsVolumeUserAndGroupQuotasToHclTerraform = exports.fsxOpenzfsVolumeUserAndGroupQuotasToTerraform = exports.FsxOpenzfsVolumeTimeoutsOutputReference = exports.fsxOpenzfsVolumeTimeoutsToHclTerraform = exports.fsxOpenzfsVolumeTimeoutsToTerraform = exports.FsxOpenzfsVolumeOriginSnapshotOutputReference = exports.fsxOpenzfsVolumeOriginSnapshotToHclTerraform = exports.fsxOpenzfsVolumeOriginSnapshotToTerraform = exports.FsxOpenzfsVolumeNfsExportsOutputReference = exports.fsxOpenzfsVolumeNfsExportsToHclTerraform = exports.fsxOpenzfsVolumeNfsExportsToTerraform = exports.FsxOpenzfsVolumeNfsExportsClientConfigurationsList = exports.FsxOpenzfsVolumeNfsExportsClientConfigurationsOutputReference = exports.fsxOpenzfsVolumeNfsExportsClientConfigurationsToHclTerraform = exports.fsxOpenzfsVolumeNfsExportsClientConfigurationsToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function fsxOpenzfsVolumeNfsExportsClientConfigurationsToTerraform(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 {
clients: cdktf.stringToTerraform(struct.clients),
options: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.options),
};
}
exports.fsxOpenzfsVolumeNfsExportsClientConfigurationsToTerraform = fsxOpenzfsVolumeNfsExportsClientConfigurationsToTerraform;
function fsxOpenzfsVolumeNfsExportsClientConfigurationsToHclTerraform(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 = {
clients: {
value: cdktf.stringToHclTerraform(struct.clients),
isBlock: false,
type: "simple",
storageClassType: "string",
},
options: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.options),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.fsxOpenzfsVolumeNfsExportsClientConfigurationsToHclTerraform = fsxOpenzfsVolumeNfsExportsClientConfigurationsToHclTerraform;
class FsxOpenzfsVolumeNfsExportsClientConfigurationsOutputReference 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() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._clients !== undefined) {
hasAnyValues = true;
internalValueResult.clients = this._clients;
}
if (this._options !== undefined) {
hasAnyValues = true;
internalValueResult.options = this._options;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._clients = undefined;
this._options = 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._clients = value.clients;
this._options = value.options;
}
}
get clients() {
return this.getStringAttribute('clients');
}
set clients(value) {
this._clients = value;
}
// Temporarily expose input value. Use with caution.
get clientsInput() {
return this._clients;
}
get options() {
return this.getListAttribute('options');
}
set options(value) {
this._options = value;
}
// Temporarily expose input value. Use with caution.
get optionsInput() {
return this._options;
}
}
exports.FsxOpenzfsVolumeNfsExportsClientConfigurationsOutputReference = FsxOpenzfsVolumeNfsExportsClientConfigurationsOutputReference;
_a = JSII_RTTI_SYMBOL_1;
FsxOpenzfsVolumeNfsExportsClientConfigurationsOutputReference[_a] = { fqn: "@cdktf/provider-aws.fsxOpenzfsVolume.FsxOpenzfsVolumeNfsExportsClientConfigurationsOutputReference", version: "19.50.0" };
class FsxOpenzfsVolumeNfsExportsClientConfigurationsList 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 FsxOpenzfsVolumeNfsExportsClientConfigurationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.FsxOpenzfsVolumeNfsExportsClientConfigurationsList = FsxOpenzfsVolumeNfsExportsClientConfigurationsList;
_b = JSII_RTTI_SYMBOL_1;
FsxOpenzfsVolumeNfsExportsClientConfigurationsList[_b] = { fqn: "@cdktf/provider-aws.fsxOpenzfsVolume.FsxOpenzfsVolumeNfsExportsClientConfigurationsList", version: "19.50.0" };
function fsxOpenzfsVolumeNfsExportsToTerraform(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 {
client_configurations: cdktf.listMapper(fsxOpenzfsVolumeNfsExportsClientConfigurationsToTerraform, true)(struct.clientConfigurations),
};
}
exports.fsxOpenzfsVolumeNfsExportsToTerraform = fsxOpenzfsVolumeNfsExportsToTerraform;
function fsxOpenzfsVolumeNfsExportsToHclTerraform(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 = {
client_configurations: {
value: cdktf.listMapperHcl(fsxOpenzfsVolumeNfsExportsClientConfigurationsToHclTerraform, true)(struct.clientConfigurations),
isBlock: true,
type: "set",
storageClassType: "FsxOpenzfsVolumeNfsExportsClientConfigurationsList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.fsxOpenzfsVolumeNfsExportsToHclTerraform = fsxOpenzfsVolumeNfsExportsToHclTerraform;
class FsxOpenzfsVolumeNfsExportsOutputReference 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;
// client_configurations - computed: false, optional: false, required: true
this._clientConfigurations = new FsxOpenzfsVolumeNfsExportsClientConfigurationsList(this, "client_configurations", true);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._clientConfigurations?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.clientConfigurations = this._clientConfigurations?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._clientConfigurations.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._clientConfigurations.internalValue = value.clientConfigurations;
}
}
get clientConfigurations() {
return this._clientConfigurations;
}
putClientConfigurations(value) {
this._clientConfigurations.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get clientConfigurationsInput() {
return this._clientConfigurations.internalValue;
}
}
exports.FsxOpenzfsVolumeNfsExportsOutputReference = FsxOpenzfsVolumeNfsExportsOutputReference;
_c = JSII_RTTI_SYMBOL_1;
FsxOpenzfsVolumeNfsExportsOutputReference[_c] = { fqn: "@cdktf/provider-aws.fsxOpenzfsVolume.FsxOpenzfsVolumeNfsExportsOutputReference", version: "19.50.0" };
function fsxOpenzfsVolumeOriginSnapshotToTerraform(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 {
copy_strategy: cdktf.stringToTerraform(struct.copyStrategy),
snapshot_arn: cdktf.stringToTerraform(struct.snapshotArn),
};
}
exports.fsxOpenzfsVolumeOriginSnapshotToTerraform = fsxOpenzfsVolumeOriginSnapshotToTerraform;
function fsxOpenzfsVolumeOriginSnapshotToHclTerraform(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 = {
copy_strategy: {
value: cdktf.stringToHclTerraform(struct.copyStrategy),
isBlock: false,
type: "simple",
storageClassType: "string",
},
snapshot_arn: {
value: cdktf.stringToHclTerraform(struct.snapshotArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.fsxOpenzfsVolumeOriginSnapshotToHclTerraform = fsxOpenzfsVolumeOriginSnapshotToHclTerraform;
class FsxOpenzfsVolumeOriginSnapshotOutputReference 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._copyStrategy !== undefined) {
hasAnyValues = true;
internalValueResult.copyStrategy = this._copyStrategy;
}
if (this._snapshotArn !== undefined) {
hasAnyValues = true;
internalValueResult.snapshotArn = this._snapshotArn;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._copyStrategy = undefined;
this._snapshotArn = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._copyStrategy = value.copyStrategy;
this._snapshotArn = value.snapshotArn;
}
}
get copyStrategy() {
return this.getStringAttribute('copy_strategy');
}
set copyStrategy(value) {
this._copyStrategy = value;
}
// Temporarily expose input value. Use with caution.
get copyStrategyInput() {
return this._copyStrategy;
}
get snapshotArn() {
return this.getStringAttribute('snapshot_arn');
}
set snapshotArn(value) {
this._snapshotArn = value;
}
// Temporarily expose input value. Use with caution.
get snapshotArnInput() {
return this._snapshotArn;
}
}
exports.FsxOpenzfsVolumeOriginSnapshotOutputReference = FsxOpenzfsVolumeOriginSnapshotOutputReference;
_d = JSII_RTTI_SYMBOL_1;
FsxOpenzfsVolumeOriginSnapshotOutputReference[_d] = { fqn: "@cdktf/provider-aws.fsxOpenzfsVolume.FsxOpenzfsVolumeOriginSnapshotOutputReference", version: "19.50.0" };
function fsxOpenzfsVolumeTimeoutsToTerraform(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.fsxOpenzfsVolumeTimeoutsToTerraform = fsxOpenzfsVolumeTimeoutsToTerraform;
function fsxOpenzfsVolumeTimeoutsToHclTerraform(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.fsxOpenzfsVolumeTimeoutsToHclTerraform = fsxOpenzfsVolumeTimeoutsToHclTerraform;
class FsxOpenzfsVolumeTimeoutsOutputReference 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.FsxOpenzfsVolumeTimeoutsOutputReference = FsxOpenzfsVolumeTimeoutsOutputReference;
_e = JSII_RTTI_SYMBOL_1;
FsxOpenzfsVolumeTimeoutsOutputReference[_e] = { fqn: "@cdktf/provider-aws.fsxOpenzfsVolume.FsxOpenzfsVolumeTimeoutsOutputReference", version: "19.50.0" };
function fsxOpenzfsVolumeUserAndGroupQuotasToTerraform(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 {
id: cdktf.numberToTerraform(struct.id),
storage_capacity_quota_gib: cdktf.numberToTerraform(struct.storageCapacityQuotaGib),
type: cdktf.stringToTerraform(struct.type),
};
}
exports.fsxOpenzfsVolumeUserAndGroupQuotasToTerraform = fsxOpenzfsVolumeUserAndGroupQuotasToTerraform;
function fsxOpenzfsVolumeUserAndGroupQuotasToHclTerraform(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 = {
id: {
value: cdktf.numberToHclTerraform(struct.id),
isBlock: false,
type: "simple",
storageClassType: "number",
},
storage_capacity_quota_gib: {
value: cdktf.numberToHclTerraform(struct.storageCapacityQuotaGib),
isBlock: false,
type: "simple",
storageClassType: "number",
},
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.fsxOpenzfsVolumeUserAndGroupQuotasToHclTerraform = fsxOpenzfsVolumeUserAndGroupQuotasToHclTerraform;
class FsxOpenzfsVolumeUserAndGroupQuotasOutputReference 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() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._id !== undefined) {
hasAnyValues = true;
internalValueResult.id = this._id;
}
if (this._storageCapacityQuotaGib !== undefined) {
hasAnyValues = true;
internalValueResult.storageCapacityQuotaGib = this._storageCapacityQuotaGib;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._id = undefined;
this._storageCapacityQuotaGib = undefined;
this._type = 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._id = value.id;
this._storageCapacityQuotaGib = value.storageCapacityQuotaGib;
this._type = value.type;
}
}
get id() {
return this.getNumberAttribute('id');
}
set id(value) {
this._id = value;
}
// Temporarily expose input value. Use with caution.
get idInput() {
return this._id;
}
get storageCapacityQuotaGib() {
return this.getNumberAttribute('storage_capacity_quota_gib');
}
set storageCapacityQuotaGib(value) {
this._storageCapacityQuotaGib = value;
}
// Temporarily expose input value. Use with caution.
get storageCapacityQuotaGibInput() {
return this._storageCapacityQuotaGib;
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
}
exports.FsxOpenzfsVolumeUserAndGroupQuotasOutputReference = FsxOpenzfsVolumeUserAndGroupQuotasOutputReference;
_f = JSII_RTTI_SYMBOL_1;
FsxOpenzfsVolumeUserAndGroupQuotasOutputReference[_f] = { fqn: "@cdktf/provider-aws.fsxOpenzfsVolume.FsxOpenzfsVolumeUserAndGroupQuotasOutputReference", version: "19.50.0" };
class FsxOpenzfsVolumeUserAndGroupQuotasList 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 FsxOpenzfsVolumeUserAndGroupQuotasOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.FsxOpenzfsVolumeUserAndGroupQuotasList = FsxOpenzfsVolumeUserAndGroupQuotasList;
_g = JSII_RTTI_SYMBOL_1;
FsxOpenzfsVolumeUserAndGroupQuotasList[_g] = { fqn: "@cdktf/provider-aws.fsxOpenzfsVolume.FsxOpenzfsVolumeUserAndGroupQuotasList", version: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fsx_openzfs_volume aws_fsx_openzfs_volume}
*/
class FsxOpenzfsVolume extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a FsxOpenzfsVolume 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 FsxOpenzfsVolume to import
* @param importFromId The id of the existing FsxOpenzfsVolume that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fsx_openzfs_volume#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the FsxOpenzfsVolume to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_fsx_openzfs_volume", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/fsx_openzfs_volume aws_fsx_openzfs_volume} 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 FsxOpenzfsVolumeConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_fsx_openzfs_volume',
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
});
// nfs_exports - computed: false, optional: true, required: false
this._nfsExports = new FsxOpenzfsVolumeNfsExportsOutputReference(this, "nfs_exports");
// origin_snapshot - computed: false, optional: true, required: false
this._originSnapshot = new FsxOpenzfsVolumeOriginSnapshotOutputReference(this, "origin_snapshot");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new FsxOpenzfsVolumeTimeoutsOutputReference(this, "timeouts");
// user_and_group_quotas - computed: false, optional: true, required: false
this._userAndGroupQuotas = new FsxOpenzfsVolumeUserAndGroupQuotasList(this, "user_and_group_quotas", true);
this._copyTagsToSnapshots = config.copyTagsToSnapshots;
this._dataCompressionType = config.dataCompressionType;
this._deleteVolumeOptions = config.deleteVolumeOptions;
this._id = config.id;
this._name = config.name;
this._parentVolumeId = config.parentVolumeId;
this._readOnly = config.readOnly;
this._recordSizeKib = config.recordSizeKib;
this._storageCapacityQuotaGib = config.storageCapacityQuotaGib;
this._storageCapacityReservationGib = config.storageCapacityReservationGib;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._volumeType = config.volumeType;
this._nfsExports.internalValue = config.nfsExports;
this._originSnapshot.internalValue = config.originSnapshot;
this._timeouts.internalValue = config.timeouts;
this._userAndGroupQuotas.internalValue = config.userAndGroupQuotas;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
get copyTagsToSnapshots() {
return this.getBooleanAttribute('copy_tags_to_snapshots');
}
set copyTagsToSnapshots(value) {
this._copyTagsToSnapshots = value;
}
resetCopyTagsToSnapshots() {
this._copyTagsToSnapshots = undefined;
}
// Temporarily expose input value. Use with caution.
get copyTagsToSnapshotsInput() {
return this._copyTagsToSnapshots;
}
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 deleteVolumeOptions() {
return this.getListAttribute('delete_volume_options');
}
set deleteVolumeOptions(value) {
this._deleteVolumeOptions = value;
}
resetDeleteVolumeOptions() {
this._deleteVolumeOptions = undefined;
}
// Temporarily expose input value. Use with caution.
get deleteVolumeOptionsInput() {
return this._deleteVolumeOptions;
}
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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get parentVolumeId() {
return this.getStringAttribute('parent_volume_id');
}
set parentVolumeId(value) {
this._parentVolumeId = value;
}
// Temporarily expose input value. Use with caution.
get parentVolumeIdInput() {
return this._parentVolumeId;
}
get readOnly() {
return this.getBooleanAttribute('read_only');
}
set readOnly(value) {
this._readOnly = value;
}
resetReadOnly() {
this._readOnly = undefined;
}
// Temporarily expose input value. Use with caution.
get readOnlyInput() {
return this._readOnly;
}
get recordSizeKib() {
return this.getNumberAttribute('record_size_kib');
}
set recordSizeKib(value) {
this._recordSizeKib = value;
}
resetRecordSizeKib() {
this._recordSizeKib = undefined;
}
// Temporarily expose input value. Use with caution.
get recordSizeKibInput() {
return this._recordSizeKib;
}
get storageCapacityQuotaGib() {
return this.getNumberAttribute('storage_capacity_quota_gib');
}
set storageCapacityQuotaGib(value) {
this._storageCapacityQuotaGib = value;
}
resetStorageCapacityQuotaGib() {
this._storageCapacityQuotaGib = undefined;
}
// Temporarily expose input value. Use with caution.
get storageCapacityQuotaGibInput() {
return this._storageCapacityQuotaGib;
}
get storageCapacityReservationGib() {
return this.getNumberAttribute('storage_capacity_reservation_gib');
}
set storageCapacityReservationGib(value) {
this._storageCapacityReservationGib = value;
}
resetStorageCapacityReservationGib() {
this._storageCapacityReservationGib = undefined;
}
// Temporarily expose input value. Use with caution.
get storageCapacityReservationGibInput() {
return this._storageCapacityReservationGib;
}
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 volumeType() {
return this.getStringAttribute('volume_type');
}
set volumeType(value) {
this._volumeType = value;
}
resetVolumeType() {
this._volumeType = undefined;
}
// Temporarily expose input value. Use with caution.
get volumeTypeInput() {
return this._volumeType;
}
get nfsExports() {
return this._nfsExports;
}
putNfsExports(value) {
this._nfsExports.internalValue = value;
}
resetNfsExports() {
this._nfsExports.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get nfsExportsInput() {
return this._nfsExports.internalValue;
}
get originSnapshot() {
return this._originSnapshot;
}
putOriginSnapshot(value) {
this._originSnapshot.internalValue = value;
}
resetOriginSnapshot() {
this._originSnapshot.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get originSnapshotInput() {
return this._originSnapshot.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;
}
get userAndGroupQuotas() {
return this._userAndGroupQuotas;
}
putUserAndGroupQuotas(value) {
this._userAndGroupQuotas.internalValue = value;
}
resetUserAndGroupQuotas() {
this._userAndGroupQuotas.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get userAndGroupQuotasInput() {
return this._userAndGroupQuotas.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
copy_tags_to_snapshots: cdktf.booleanToTerraform(this._copyTagsToSnapshots),
data_compression_type: cdktf.stringToTerraform(this._dataCompressionType),
delete_volume_options: cdktf.listMapper(cdktf.stringToTerraform, false)(this._deleteVolumeOptions),
id: cdktf.stringToTerraform(this._id),
name: cdktf.stringToTerraform(this._name),
parent_volume_id: cdktf.stringToTerraform(this._parentVolumeId),
read_only: cdktf.booleanToTerraform(this._readOnly),
record_size_kib: cdktf.numberToTerraform(this._recordSizeKib),
storage_capacity_quota_gib: cdktf.numberToTerraform(this._storageCapacityQuotaGib),
storage_capacity_reservation_gib: cdktf.numberToTerraform(this._storageCapacityReservationGib),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll),
volume_type: cdktf.stringToTerraform(this._volumeType),
nfs_exports: fsxOpenzfsVolumeNfsExportsToTerraform(this._nfsExports.internalValue),
origin_snapshot: fsxOpenzfsVolumeOriginSnapshotToTerraform(this._originSnapshot.internalValue),
timeouts: fsxOpenzfsVolumeTimeoutsToTerraform(this._timeouts.internalValue),
user_and_group_quotas: cdktf.listMapper(fsxOpenzfsVolumeUserAndGroupQuotasToTerraform, true)(this._userAndGroupQuotas.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
copy_tags_to_snapshots: {
value: cdktf.booleanToHclTerraform(this._copyTagsToSnapshots),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
data_compression_type: {
value: cdktf.stringToHclTerraform(this._dataCompressionType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
delete_volume_options: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._deleteVolumeOptions),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
parent_volume_id: {
value: cdktf.stringToHclTerraform(this._parentVolumeId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
read_only: {
value: cdktf.booleanToHclTerraform(this._readOnly),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
record_size_kib: {
value: cdktf.numberToHclTerraform(this._recordSizeKib),
isBlock: false,
type: "simple",
storageClassType: "number",
},
storage_capacity_quota_gib: {
value: cdktf.numberToHclTerraform(this._storageCapacityQuotaGib),
isBlock: false,
type: "simple",
storageClassType: "number",
},
storage_capacity_reservation_gib: {
value: cdktf.numberToHclTerraform(this._storageCapacityReservationGib),
isBlock: false,
type: "simple",
storageClassType: "number",
},
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",
},
volume_type: {
value: cdktf.stringToHclTerraform(this._volumeType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
nfs_exports: {
value: fsxOpenzfsVolumeNfsExportsToHclTerraform(this._nfsExports.internalValue),
isBlock: true,
type: "list",
storageClassType: "FsxOpenzfsVolumeNfsExportsList",
},
origin_snapshot: {
value: fsxOpenzfsVolumeOriginSnapshotToHclTerraform(this._originSnapshot.internalValue),
isBlock: true,
type: "list",
storageClassType: "FsxOpenzfsVolumeOriginSnapshotList",
},
timeouts: {
value: fsxOpenzfsVolumeTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "FsxOpenzfsVolumeTimeouts",
},
user_and_group_quotas: {
value: cdktf.listMapperHcl(fsxOpenzfsVolumeUserAndGroupQuotasToHclTerraform, true)(this._userAndGroupQuotas.internalValue),
isBlock: true,
type: "set",
storageClassType: "FsxOpenzfsVolumeUserAndGroupQuotasList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.FsxOpenzfsVolume = FsxOpenzfsVolume;
_h = JSII_RTTI_SYMBOL_1;
FsxOpenzfsVolume[_h] = { fqn: "@cdktf/provider-aws.fsxOpenzfsVolume.FsxOpenzfsVolume", version: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
FsxOpenzfsVolume.tfResourceType = "aws_fsx_openzfs_volume";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnN4LW9wZW56ZnMtdm9sdW1lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBZ0cvQixTQUFnQix5REFBeUQsQ0FBQyxNQUEyRTtJQUNuSixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2pELE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDO0tBQzNFLENBQUE7QUFDSCxDQUFDO0FBVEQsOEhBU0M7QUFHRCxTQUFnQiw0REFBNEQsQ0FBQyxNQUEyRTtJQUN0SixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLE9BQU8sRUFB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