UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,173 lines 272 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; Object.defineProperty(exports, "__esModule", { value: true }); exports.EcsTaskDefinition = exports.EcsTaskDefinitionVolumeList = exports.EcsTaskDefinitionVolumeOutputReference = exports.EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationOutputReference = exports.EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigOutputReference = exports.EcsTaskDefinitionVolumeEfsVolumeConfigurationOutputReference = exports.EcsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigOutputReference = exports.EcsTaskDefinitionVolumeDockerVolumeConfigurationOutputReference = exports.EcsTaskDefinitionRuntimePlatformOutputReference = exports.EcsTaskDefinitionProxyConfigurationOutputReference = exports.EcsTaskDefinitionPlacementConstraintsList = exports.EcsTaskDefinitionPlacementConstraintsOutputReference = exports.EcsTaskDefinitionEphemeralStorageOutputReference = void 0; exports.ecsTaskDefinitionEphemeralStorageToTerraform = ecsTaskDefinitionEphemeralStorageToTerraform; exports.ecsTaskDefinitionEphemeralStorageToHclTerraform = ecsTaskDefinitionEphemeralStorageToHclTerraform; exports.ecsTaskDefinitionPlacementConstraintsToTerraform = ecsTaskDefinitionPlacementConstraintsToTerraform; exports.ecsTaskDefinitionPlacementConstraintsToHclTerraform = ecsTaskDefinitionPlacementConstraintsToHclTerraform; exports.ecsTaskDefinitionProxyConfigurationToTerraform = ecsTaskDefinitionProxyConfigurationToTerraform; exports.ecsTaskDefinitionProxyConfigurationToHclTerraform = ecsTaskDefinitionProxyConfigurationToHclTerraform; exports.ecsTaskDefinitionRuntimePlatformToTerraform = ecsTaskDefinitionRuntimePlatformToTerraform; exports.ecsTaskDefinitionRuntimePlatformToHclTerraform = ecsTaskDefinitionRuntimePlatformToHclTerraform; exports.ecsTaskDefinitionVolumeDockerVolumeConfigurationToTerraform = ecsTaskDefinitionVolumeDockerVolumeConfigurationToTerraform; exports.ecsTaskDefinitionVolumeDockerVolumeConfigurationToHclTerraform = ecsTaskDefinitionVolumeDockerVolumeConfigurationToHclTerraform; exports.ecsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigToTerraform = ecsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigToTerraform; exports.ecsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigToHclTerraform = ecsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigToHclTerraform; exports.ecsTaskDefinitionVolumeEfsVolumeConfigurationToTerraform = ecsTaskDefinitionVolumeEfsVolumeConfigurationToTerraform; exports.ecsTaskDefinitionVolumeEfsVolumeConfigurationToHclTerraform = ecsTaskDefinitionVolumeEfsVolumeConfigurationToHclTerraform; exports.ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigToTerraform = ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigToTerraform; exports.ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigToHclTerraform = ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigToHclTerraform; exports.ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationToTerraform = ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationToTerraform; exports.ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationToHclTerraform = ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationToHclTerraform; exports.ecsTaskDefinitionVolumeToTerraform = ecsTaskDefinitionVolumeToTerraform; exports.ecsTaskDefinitionVolumeToHclTerraform = ecsTaskDefinitionVolumeToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function ecsTaskDefinitionEphemeralStorageToTerraform(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 { size_in_gib: cdktf.numberToTerraform(struct.sizeInGib), }; } function ecsTaskDefinitionEphemeralStorageToHclTerraform(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 = { size_in_gib: { value: cdktf.numberToHclTerraform(struct.sizeInGib), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EcsTaskDefinitionEphemeralStorageOutputReference 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._sizeInGib !== undefined) { hasAnyValues = true; internalValueResult.sizeInGib = this._sizeInGib; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._sizeInGib = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._sizeInGib = value.sizeInGib; } } get sizeInGib() { return this.getNumberAttribute('size_in_gib'); } set sizeInGib(value) { this._sizeInGib = value; } // Temporarily expose input value. Use with caution. get sizeInGibInput() { return this._sizeInGib; } } exports.EcsTaskDefinitionEphemeralStorageOutputReference = EcsTaskDefinitionEphemeralStorageOutputReference; _a = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionEphemeralStorageOutputReference[_a] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionEphemeralStorageOutputReference", version: "21.22.1" }; function ecsTaskDefinitionPlacementConstraintsToTerraform(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 { expression: cdktf.stringToTerraform(struct.expression), type: cdktf.stringToTerraform(struct.type), }; } function ecsTaskDefinitionPlacementConstraintsToHclTerraform(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 = { expression: { value: cdktf.stringToHclTerraform(struct.expression), isBlock: false, type: "simple", storageClassType: "string", }, 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)); } class EcsTaskDefinitionPlacementConstraintsOutputReference 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._expression !== undefined) { hasAnyValues = true; internalValueResult.expression = this._expression; } 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._expression = 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._expression = value.expression; this._type = value.type; } } get expression() { return this.getStringAttribute('expression'); } set expression(value) { this._expression = value; } resetExpression() { this._expression = undefined; } // Temporarily expose input value. Use with caution. get expressionInput() { return this._expression; } 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.EcsTaskDefinitionPlacementConstraintsOutputReference = EcsTaskDefinitionPlacementConstraintsOutputReference; _b = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionPlacementConstraintsOutputReference[_b] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionPlacementConstraintsOutputReference", version: "21.22.1" }; class EcsTaskDefinitionPlacementConstraintsList 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 EcsTaskDefinitionPlacementConstraintsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.EcsTaskDefinitionPlacementConstraintsList = EcsTaskDefinitionPlacementConstraintsList; _c = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionPlacementConstraintsList[_c] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionPlacementConstraintsList", version: "21.22.1" }; function ecsTaskDefinitionProxyConfigurationToTerraform(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 { container_name: cdktf.stringToTerraform(struct.containerName), properties: cdktf.hashMapper(cdktf.stringToTerraform)(struct.properties), type: cdktf.stringToTerraform(struct.type), }; } function ecsTaskDefinitionProxyConfigurationToHclTerraform(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 = { container_name: { value: cdktf.stringToHclTerraform(struct.containerName), isBlock: false, type: "simple", storageClassType: "string", }, properties: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.properties), isBlock: false, type: "map", storageClassType: "stringMap", }, 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)); } class EcsTaskDefinitionProxyConfigurationOutputReference 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._containerName !== undefined) { hasAnyValues = true; internalValueResult.containerName = this._containerName; } if (this._properties !== undefined) { hasAnyValues = true; internalValueResult.properties = this._properties; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._containerName = undefined; this._properties = undefined; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._containerName = value.containerName; this._properties = value.properties; this._type = value.type; } } get containerName() { return this.getStringAttribute('container_name'); } set containerName(value) { this._containerName = value; } // Temporarily expose input value. Use with caution. get containerNameInput() { return this._containerName; } get properties() { return this.getStringMapAttribute('properties'); } set properties(value) { this._properties = value; } resetProperties() { this._properties = undefined; } // Temporarily expose input value. Use with caution. get propertiesInput() { return this._properties; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.EcsTaskDefinitionProxyConfigurationOutputReference = EcsTaskDefinitionProxyConfigurationOutputReference; _d = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionProxyConfigurationOutputReference[_d] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionProxyConfigurationOutputReference", version: "21.22.1" }; function ecsTaskDefinitionRuntimePlatformToTerraform(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 { cpu_architecture: cdktf.stringToTerraform(struct.cpuArchitecture), operating_system_family: cdktf.stringToTerraform(struct.operatingSystemFamily), }; } function ecsTaskDefinitionRuntimePlatformToHclTerraform(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 = { cpu_architecture: { value: cdktf.stringToHclTerraform(struct.cpuArchitecture), isBlock: false, type: "simple", storageClassType: "string", }, operating_system_family: { value: cdktf.stringToHclTerraform(struct.operatingSystemFamily), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EcsTaskDefinitionRuntimePlatformOutputReference 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._cpuArchitecture !== undefined) { hasAnyValues = true; internalValueResult.cpuArchitecture = this._cpuArchitecture; } if (this._operatingSystemFamily !== undefined) { hasAnyValues = true; internalValueResult.operatingSystemFamily = this._operatingSystemFamily; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cpuArchitecture = undefined; this._operatingSystemFamily = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cpuArchitecture = value.cpuArchitecture; this._operatingSystemFamily = value.operatingSystemFamily; } } get cpuArchitecture() { return this.getStringAttribute('cpu_architecture'); } set cpuArchitecture(value) { this._cpuArchitecture = value; } resetCpuArchitecture() { this._cpuArchitecture = undefined; } // Temporarily expose input value. Use with caution. get cpuArchitectureInput() { return this._cpuArchitecture; } get operatingSystemFamily() { return this.getStringAttribute('operating_system_family'); } set operatingSystemFamily(value) { this._operatingSystemFamily = value; } resetOperatingSystemFamily() { this._operatingSystemFamily = undefined; } // Temporarily expose input value. Use with caution. get operatingSystemFamilyInput() { return this._operatingSystemFamily; } } exports.EcsTaskDefinitionRuntimePlatformOutputReference = EcsTaskDefinitionRuntimePlatformOutputReference; _e = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionRuntimePlatformOutputReference[_e] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionRuntimePlatformOutputReference", version: "21.22.1" }; function ecsTaskDefinitionVolumeDockerVolumeConfigurationToTerraform(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 { autoprovision: cdktf.booleanToTerraform(struct.autoprovision), driver: cdktf.stringToTerraform(struct.driver), driver_opts: cdktf.hashMapper(cdktf.stringToTerraform)(struct.driverOpts), labels: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labels), scope: cdktf.stringToTerraform(struct.scope), }; } function ecsTaskDefinitionVolumeDockerVolumeConfigurationToHclTerraform(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 = { autoprovision: { value: cdktf.booleanToHclTerraform(struct.autoprovision), isBlock: false, type: "simple", storageClassType: "boolean", }, driver: { value: cdktf.stringToHclTerraform(struct.driver), isBlock: false, type: "simple", storageClassType: "string", }, driver_opts: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.driverOpts), isBlock: false, type: "map", storageClassType: "stringMap", }, labels: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.labels), isBlock: false, type: "map", storageClassType: "stringMap", }, scope: { value: cdktf.stringToHclTerraform(struct.scope), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EcsTaskDefinitionVolumeDockerVolumeConfigurationOutputReference 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._autoprovision !== undefined) { hasAnyValues = true; internalValueResult.autoprovision = this._autoprovision; } if (this._driver !== undefined) { hasAnyValues = true; internalValueResult.driver = this._driver; } if (this._driverOpts !== undefined) { hasAnyValues = true; internalValueResult.driverOpts = this._driverOpts; } if (this._labels !== undefined) { hasAnyValues = true; internalValueResult.labels = this._labels; } if (this._scope !== undefined) { hasAnyValues = true; internalValueResult.scope = this._scope; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._autoprovision = undefined; this._driver = undefined; this._driverOpts = undefined; this._labels = undefined; this._scope = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._autoprovision = value.autoprovision; this._driver = value.driver; this._driverOpts = value.driverOpts; this._labels = value.labels; this._scope = value.scope; } } get autoprovision() { return this.getBooleanAttribute('autoprovision'); } set autoprovision(value) { this._autoprovision = value; } resetAutoprovision() { this._autoprovision = undefined; } // Temporarily expose input value. Use with caution. get autoprovisionInput() { return this._autoprovision; } get driver() { return this.getStringAttribute('driver'); } set driver(value) { this._driver = value; } resetDriver() { this._driver = undefined; } // Temporarily expose input value. Use with caution. get driverInput() { return this._driver; } get driverOpts() { return this.getStringMapAttribute('driver_opts'); } set driverOpts(value) { this._driverOpts = value; } resetDriverOpts() { this._driverOpts = undefined; } // Temporarily expose input value. Use with caution. get driverOptsInput() { return this._driverOpts; } get labels() { return this.getStringMapAttribute('labels'); } set labels(value) { this._labels = value; } resetLabels() { this._labels = undefined; } // Temporarily expose input value. Use with caution. get labelsInput() { return this._labels; } get scope() { return this.getStringAttribute('scope'); } set scope(value) { this._scope = value; } resetScope() { this._scope = undefined; } // Temporarily expose input value. Use with caution. get scopeInput() { return this._scope; } } exports.EcsTaskDefinitionVolumeDockerVolumeConfigurationOutputReference = EcsTaskDefinitionVolumeDockerVolumeConfigurationOutputReference; _f = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionVolumeDockerVolumeConfigurationOutputReference[_f] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionVolumeDockerVolumeConfigurationOutputReference", version: "21.22.1" }; function ecsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigToTerraform(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 { access_point_id: cdktf.stringToTerraform(struct.accessPointId), iam: cdktf.stringToTerraform(struct.iam), }; } function ecsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigToHclTerraform(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 = { access_point_id: { value: cdktf.stringToHclTerraform(struct.accessPointId), isBlock: false, type: "simple", storageClassType: "string", }, iam: { value: cdktf.stringToHclTerraform(struct.iam), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EcsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigOutputReference 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._accessPointId !== undefined) { hasAnyValues = true; internalValueResult.accessPointId = this._accessPointId; } if (this._iam !== undefined) { hasAnyValues = true; internalValueResult.iam = this._iam; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._accessPointId = undefined; this._iam = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._accessPointId = value.accessPointId; this._iam = value.iam; } } get accessPointId() { return this.getStringAttribute('access_point_id'); } set accessPointId(value) { this._accessPointId = value; } resetAccessPointId() { this._accessPointId = undefined; } // Temporarily expose input value. Use with caution. get accessPointIdInput() { return this._accessPointId; } get iam() { return this.getStringAttribute('iam'); } set iam(value) { this._iam = value; } resetIam() { this._iam = undefined; } // Temporarily expose input value. Use with caution. get iamInput() { return this._iam; } } exports.EcsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigOutputReference = EcsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigOutputReference; _g = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigOutputReference[_g] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigOutputReference", version: "21.22.1" }; function ecsTaskDefinitionVolumeEfsVolumeConfigurationToTerraform(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 { file_system_id: cdktf.stringToTerraform(struct.fileSystemId), root_directory: cdktf.stringToTerraform(struct.rootDirectory), transit_encryption: cdktf.stringToTerraform(struct.transitEncryption), transit_encryption_port: cdktf.numberToTerraform(struct.transitEncryptionPort), authorization_config: ecsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigToTerraform(struct.authorizationConfig), }; } function ecsTaskDefinitionVolumeEfsVolumeConfigurationToHclTerraform(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 = { file_system_id: { value: cdktf.stringToHclTerraform(struct.fileSystemId), isBlock: false, type: "simple", storageClassType: "string", }, root_directory: { value: cdktf.stringToHclTerraform(struct.rootDirectory), isBlock: false, type: "simple", storageClassType: "string", }, transit_encryption: { value: cdktf.stringToHclTerraform(struct.transitEncryption), isBlock: false, type: "simple", storageClassType: "string", }, transit_encryption_port: { value: cdktf.numberToHclTerraform(struct.transitEncryptionPort), isBlock: false, type: "simple", storageClassType: "number", }, authorization_config: { value: ecsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigToHclTerraform(struct.authorizationConfig), isBlock: true, type: "list", storageClassType: "EcsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EcsTaskDefinitionVolumeEfsVolumeConfigurationOutputReference 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; // authorization_config - computed: false, optional: true, required: false this._authorizationConfig = new EcsTaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigOutputReference(this, "authorization_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._fileSystemId !== undefined) { hasAnyValues = true; internalValueResult.fileSystemId = this._fileSystemId; } if (this._rootDirectory !== undefined) { hasAnyValues = true; internalValueResult.rootDirectory = this._rootDirectory; } if (this._transitEncryption !== undefined) { hasAnyValues = true; internalValueResult.transitEncryption = this._transitEncryption; } if (this._transitEncryptionPort !== undefined) { hasAnyValues = true; internalValueResult.transitEncryptionPort = this._transitEncryptionPort; } if (this._authorizationConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.authorizationConfig = this._authorizationConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._fileSystemId = undefined; this._rootDirectory = undefined; this._transitEncryption = undefined; this._transitEncryptionPort = undefined; this._authorizationConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._fileSystemId = value.fileSystemId; this._rootDirectory = value.rootDirectory; this._transitEncryption = value.transitEncryption; this._transitEncryptionPort = value.transitEncryptionPort; this._authorizationConfig.internalValue = value.authorizationConfig; } } get fileSystemId() { return this.getStringAttribute('file_system_id'); } set fileSystemId(value) { this._fileSystemId = value; } // Temporarily expose input value. Use with caution. get fileSystemIdInput() { return this._fileSystemId; } get rootDirectory() { return this.getStringAttribute('root_directory'); } set rootDirectory(value) { this._rootDirectory = value; } resetRootDirectory() { this._rootDirectory = undefined; } // Temporarily expose input value. Use with caution. get rootDirectoryInput() { return this._rootDirectory; } get transitEncryption() { return this.getStringAttribute('transit_encryption'); } set transitEncryption(value) { this._transitEncryption = value; } resetTransitEncryption() { this._transitEncryption = undefined; } // Temporarily expose input value. Use with caution. get transitEncryptionInput() { return this._transitEncryption; } get transitEncryptionPort() { return this.getNumberAttribute('transit_encryption_port'); } set transitEncryptionPort(value) { this._transitEncryptionPort = value; } resetTransitEncryptionPort() { this._transitEncryptionPort = undefined; } // Temporarily expose input value. Use with caution. get transitEncryptionPortInput() { return this._transitEncryptionPort; } get authorizationConfig() { return this._authorizationConfig; } putAuthorizationConfig(value) { this._authorizationConfig.internalValue = value; } resetAuthorizationConfig() { this._authorizationConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get authorizationConfigInput() { return this._authorizationConfig.internalValue; } } exports.EcsTaskDefinitionVolumeEfsVolumeConfigurationOutputReference = EcsTaskDefinitionVolumeEfsVolumeConfigurationOutputReference; _h = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionVolumeEfsVolumeConfigurationOutputReference[_h] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionVolumeEfsVolumeConfigurationOutputReference", version: "21.22.1" }; function ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigToTerraform(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 { credentials_parameter: cdktf.stringToTerraform(struct.credentialsParameter), domain: cdktf.stringToTerraform(struct.domain), }; } function ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigToHclTerraform(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 = { credentials_parameter: { value: cdktf.stringToHclTerraform(struct.credentialsParameter), isBlock: false, type: "simple", storageClassType: "string", }, domain: { value: cdktf.stringToHclTerraform(struct.domain), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigOutputReference 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._credentialsParameter !== undefined) { hasAnyValues = true; internalValueResult.credentialsParameter = this._credentialsParameter; } if (this._domain !== undefined) { hasAnyValues = true; internalValueResult.domain = this._domain; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._credentialsParameter = undefined; this._domain = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._credentialsParameter = value.credentialsParameter; this._domain = value.domain; } } get credentialsParameter() { return this.getStringAttribute('credentials_parameter'); } set credentialsParameter(value) { this._credentialsParameter = value; } // Temporarily expose input value. Use with caution. get credentialsParameterInput() { return this._credentialsParameter; } get domain() { return this.getStringAttribute('domain'); } set domain(value) { this._domain = value; } // Temporarily expose input value. Use with caution. get domainInput() { return this._domain; } } exports.EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigOutputReference = EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigOutputReference; _j = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigOutputReference[_j] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigOutputReference", version: "21.22.1" }; function ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationToTerraform(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 { file_system_id: cdktf.stringToTerraform(struct.fileSystemId), root_directory: cdktf.stringToTerraform(struct.rootDirectory), authorization_config: ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigToTerraform(struct.authorizationConfig), }; } function ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationToHclTerraform(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 = { file_system_id: { value: cdktf.stringToHclTerraform(struct.fileSystemId), isBlock: false, type: "simple", storageClassType: "string", }, root_directory: { value: cdktf.stringToHclTerraform(struct.rootDirectory), isBlock: false, type: "simple", storageClassType: "string", }, authorization_config: { value: ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigToHclTerraform(struct.authorizationConfig), isBlock: true, type: "list", storageClassType: "EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationOutputReference 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; // authorization_config - computed: false, optional: false, required: true this._authorizationConfig = new EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigOutputReference(this, "authorization_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._fileSystemId !== undefined) { hasAnyValues = true; internalValueResult.fileSystemId = this._fileSystemId; } if (this._rootDirectory !== undefined) { hasAnyValues = true; internalValueResult.rootDirectory = this._rootDirectory; } if (this._authorizationConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.authorizationConfig = this._authorizationConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._fileSystemId = undefined; this._rootDirectory = undefined; this._authorizationConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._fileSystemId = value.fileSystemId; this._rootDirectory = value.rootDirectory; this._authorizationConfig.internalValue = value.authorizationConfig; } } get fileSystemId() { return this.getStringAttribute('file_system_id'); } set fileSystemId(value) { this._fileSystemId = value; } // Temporarily expose input value. Use with caution. get fileSystemIdInput() { return this._fileSystemId; } get rootDirectory() { return this.getStringAttribute('root_directory'); } set rootDirectory(value) { this._rootDirectory = value; } // Temporarily expose input value. Use with caution. get rootDirectoryInput() { return this._rootDirectory; } get authorizationConfig() { return this._authorizationConfig; } putAuthorizationConfig(value) { this._authorizationConfig.internalValue = value; } // Temporarily expose input value. Use with caution. get authorizationConfigInput() { return this._authorizationConfig.internalValue; } } exports.EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationOutputReference = EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationOutputReference; _k = JSII_RTTI_SYMBOL_1; EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationOutputReference[_k] = { fqn: "@cdktf/provider-aws.ecsTaskDefinition.EcsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationOutputReference", version: "21.22.1" }; function ecsTaskDefinitionVolumeToTerraform(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 { configure_at_launch: cdktf.booleanToTerraform(struct.configureAtLaunch), host_path: cdktf.stringToTerraform(struct.hostPath), name: cdktf.stringToTerraform(struct.name), docker_volume_configuration: ecsTaskDefinitionVolumeDockerVolumeConfigurationToTerraform(struct.dockerVolumeConfiguration), efs_volume_configuration: ecsTaskDefinitionVolumeEfsVolumeConfigurationToTerraform(struct.efsVolumeConfiguration), fsx_windows_file_server_volume_configuration: ecsTaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationToTerraform(struct.fsxWindowsFileServerVolumeConfiguration), }; } function ecsTaskDefinitionVolumeToHclTerraform(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 = { configure_at_launch: { value: cdktf.booleanToHclTerraform(struct.configureAtLaunch), isBlock: false, type: "simple", storageClassType: "boolean", }, host_path: { value: cdktf.stringToHclTerraform(struct.hostPath), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, docker_volume_configuration: { value: ecsTaskDefinitionVolumeDockerVolumeConfigurationToHclTerraform(struct.dockerVolumeConfiguration), isBlock: true, type: "list", storageClassType: "EcsTaskDefinitionVolumeDockerVolumeConfigurationList", }, efs_volume_configuration: { value: ecsTaskDefinitionVolumeEfsVolumeConfigurationToHclTerraform(struct.efsVolumeConfiguration), isBlock: true, type: "list", storageClassType: "EcsTaskDefinitionVolumeEfsVolumeConfigurationList", }, fsx_windows_file_server_volume_configura