UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,066 lines 717 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6; Object.defineProperty(exports, "__esModule", { value: true }); exports.storageAccountQueuePropertiesLoggingToHclTerraform = exports.storageAccountQueuePropertiesLoggingToTerraform = exports.StorageAccountQueuePropertiesHourMetricsOutputReference = exports.storageAccountQueuePropertiesHourMetricsToHclTerraform = exports.storageAccountQueuePropertiesHourMetricsToTerraform = exports.StorageAccountQueuePropertiesCorsRuleList = exports.StorageAccountQueuePropertiesCorsRuleOutputReference = exports.storageAccountQueuePropertiesCorsRuleToHclTerraform = exports.storageAccountQueuePropertiesCorsRuleToTerraform = exports.StorageAccountNetworkRulesOutputReference = exports.storageAccountNetworkRulesToHclTerraform = exports.storageAccountNetworkRulesToTerraform = exports.StorageAccountNetworkRulesPrivateLinkAccessList = exports.StorageAccountNetworkRulesPrivateLinkAccessOutputReference = exports.storageAccountNetworkRulesPrivateLinkAccessToHclTerraform = exports.storageAccountNetworkRulesPrivateLinkAccessToTerraform = exports.StorageAccountImmutabilityPolicyOutputReference = exports.storageAccountImmutabilityPolicyToHclTerraform = exports.storageAccountImmutabilityPolicyToTerraform = exports.StorageAccountIdentityOutputReference = exports.storageAccountIdentityToHclTerraform = exports.storageAccountIdentityToTerraform = exports.StorageAccountCustomerManagedKeyOutputReference = exports.storageAccountCustomerManagedKeyToHclTerraform = exports.storageAccountCustomerManagedKeyToTerraform = exports.StorageAccountCustomDomainOutputReference = exports.storageAccountCustomDomainToHclTerraform = exports.storageAccountCustomDomainToTerraform = exports.StorageAccountBlobPropertiesOutputReference = exports.storageAccountBlobPropertiesToHclTerraform = exports.storageAccountBlobPropertiesToTerraform = exports.StorageAccountBlobPropertiesRestorePolicyOutputReference = exports.storageAccountBlobPropertiesRestorePolicyToHclTerraform = exports.storageAccountBlobPropertiesRestorePolicyToTerraform = exports.StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference = exports.storageAccountBlobPropertiesDeleteRetentionPolicyToHclTerraform = exports.storageAccountBlobPropertiesDeleteRetentionPolicyToTerraform = exports.StorageAccountBlobPropertiesCorsRuleList = exports.StorageAccountBlobPropertiesCorsRuleOutputReference = exports.storageAccountBlobPropertiesCorsRuleToHclTerraform = exports.storageAccountBlobPropertiesCorsRuleToTerraform = exports.StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference = exports.storageAccountBlobPropertiesContainerDeleteRetentionPolicyToHclTerraform = exports.storageAccountBlobPropertiesContainerDeleteRetentionPolicyToTerraform = exports.StorageAccountAzureFilesAuthenticationOutputReference = exports.storageAccountAzureFilesAuthenticationToHclTerraform = exports.storageAccountAzureFilesAuthenticationToTerraform = exports.StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference = exports.storageAccountAzureFilesAuthenticationActiveDirectoryToHclTerraform = exports.storageAccountAzureFilesAuthenticationActiveDirectoryToTerraform = void 0; exports.StorageAccount = exports.StorageAccountTimeoutsOutputReference = exports.storageAccountTimeoutsToHclTerraform = exports.storageAccountTimeoutsToTerraform = exports.StorageAccountStaticWebsiteOutputReference = exports.storageAccountStaticWebsiteToHclTerraform = exports.storageAccountStaticWebsiteToTerraform = exports.StorageAccountSharePropertiesOutputReference = exports.storageAccountSharePropertiesToHclTerraform = exports.storageAccountSharePropertiesToTerraform = exports.StorageAccountSharePropertiesSmbOutputReference = exports.storageAccountSharePropertiesSmbToHclTerraform = exports.storageAccountSharePropertiesSmbToTerraform = exports.StorageAccountSharePropertiesRetentionPolicyOutputReference = exports.storageAccountSharePropertiesRetentionPolicyToHclTerraform = exports.storageAccountSharePropertiesRetentionPolicyToTerraform = exports.StorageAccountSharePropertiesCorsRuleList = exports.StorageAccountSharePropertiesCorsRuleOutputReference = exports.storageAccountSharePropertiesCorsRuleToHclTerraform = exports.storageAccountSharePropertiesCorsRuleToTerraform = exports.StorageAccountSasPolicyOutputReference = exports.storageAccountSasPolicyToHclTerraform = exports.storageAccountSasPolicyToTerraform = exports.StorageAccountRoutingOutputReference = exports.storageAccountRoutingToHclTerraform = exports.storageAccountRoutingToTerraform = exports.StorageAccountQueuePropertiesOutputReference = exports.storageAccountQueuePropertiesToHclTerraform = exports.storageAccountQueuePropertiesToTerraform = exports.StorageAccountQueuePropertiesMinuteMetricsOutputReference = exports.storageAccountQueuePropertiesMinuteMetricsToHclTerraform = exports.storageAccountQueuePropertiesMinuteMetricsToTerraform = exports.StorageAccountQueuePropertiesLoggingOutputReference = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function storageAccountAzureFilesAuthenticationActiveDirectoryToTerraform(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 { domain_guid: cdktf.stringToTerraform(struct.domainGuid), domain_name: cdktf.stringToTerraform(struct.domainName), domain_sid: cdktf.stringToTerraform(struct.domainSid), forest_name: cdktf.stringToTerraform(struct.forestName), netbios_domain_name: cdktf.stringToTerraform(struct.netbiosDomainName), storage_sid: cdktf.stringToTerraform(struct.storageSid), }; } exports.storageAccountAzureFilesAuthenticationActiveDirectoryToTerraform = storageAccountAzureFilesAuthenticationActiveDirectoryToTerraform; function storageAccountAzureFilesAuthenticationActiveDirectoryToHclTerraform(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 = { domain_guid: { value: cdktf.stringToHclTerraform(struct.domainGuid), isBlock: false, type: "simple", storageClassType: "string", }, domain_name: { value: cdktf.stringToHclTerraform(struct.domainName), isBlock: false, type: "simple", storageClassType: "string", }, domain_sid: { value: cdktf.stringToHclTerraform(struct.domainSid), isBlock: false, type: "simple", storageClassType: "string", }, forest_name: { value: cdktf.stringToHclTerraform(struct.forestName), isBlock: false, type: "simple", storageClassType: "string", }, netbios_domain_name: { value: cdktf.stringToHclTerraform(struct.netbiosDomainName), isBlock: false, type: "simple", storageClassType: "string", }, storage_sid: { value: cdktf.stringToHclTerraform(struct.storageSid), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageAccountAzureFilesAuthenticationActiveDirectoryToHclTerraform = storageAccountAzureFilesAuthenticationActiveDirectoryToHclTerraform; class StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference 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._domainGuid !== undefined) { hasAnyValues = true; internalValueResult.domainGuid = this._domainGuid; } if (this._domainName !== undefined) { hasAnyValues = true; internalValueResult.domainName = this._domainName; } if (this._domainSid !== undefined) { hasAnyValues = true; internalValueResult.domainSid = this._domainSid; } if (this._forestName !== undefined) { hasAnyValues = true; internalValueResult.forestName = this._forestName; } if (this._netbiosDomainName !== undefined) { hasAnyValues = true; internalValueResult.netbiosDomainName = this._netbiosDomainName; } if (this._storageSid !== undefined) { hasAnyValues = true; internalValueResult.storageSid = this._storageSid; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._domainGuid = undefined; this._domainName = undefined; this._domainSid = undefined; this._forestName = undefined; this._netbiosDomainName = undefined; this._storageSid = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._domainGuid = value.domainGuid; this._domainName = value.domainName; this._domainSid = value.domainSid; this._forestName = value.forestName; this._netbiosDomainName = value.netbiosDomainName; this._storageSid = value.storageSid; } } get domainGuid() { return this.getStringAttribute('domain_guid'); } set domainGuid(value) { this._domainGuid = value; } // Temporarily expose input value. Use with caution. get domainGuidInput() { return this._domainGuid; } get domainName() { return this.getStringAttribute('domain_name'); } set domainName(value) { this._domainName = value; } // Temporarily expose input value. Use with caution. get domainNameInput() { return this._domainName; } get domainSid() { return this.getStringAttribute('domain_sid'); } set domainSid(value) { this._domainSid = value; } resetDomainSid() { this._domainSid = undefined; } // Temporarily expose input value. Use with caution. get domainSidInput() { return this._domainSid; } get forestName() { return this.getStringAttribute('forest_name'); } set forestName(value) { this._forestName = value; } resetForestName() { this._forestName = undefined; } // Temporarily expose input value. Use with caution. get forestNameInput() { return this._forestName; } get netbiosDomainName() { return this.getStringAttribute('netbios_domain_name'); } set netbiosDomainName(value) { this._netbiosDomainName = value; } resetNetbiosDomainName() { this._netbiosDomainName = undefined; } // Temporarily expose input value. Use with caution. get netbiosDomainNameInput() { return this._netbiosDomainName; } get storageSid() { return this.getStringAttribute('storage_sid'); } set storageSid(value) { this._storageSid = value; } resetStorageSid() { this._storageSid = undefined; } // Temporarily expose input value. Use with caution. get storageSidInput() { return this._storageSid; } } exports.StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference = StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference; _a = JSII_RTTI_SYMBOL_1; StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.storageAccount.StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference", version: "12.27.0" }; function storageAccountAzureFilesAuthenticationToTerraform(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 { default_share_level_permission: cdktf.stringToTerraform(struct.defaultShareLevelPermission), directory_type: cdktf.stringToTerraform(struct.directoryType), active_directory: storageAccountAzureFilesAuthenticationActiveDirectoryToTerraform(struct.activeDirectory), }; } exports.storageAccountAzureFilesAuthenticationToTerraform = storageAccountAzureFilesAuthenticationToTerraform; function storageAccountAzureFilesAuthenticationToHclTerraform(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 = { default_share_level_permission: { value: cdktf.stringToHclTerraform(struct.defaultShareLevelPermission), isBlock: false, type: "simple", storageClassType: "string", }, directory_type: { value: cdktf.stringToHclTerraform(struct.directoryType), isBlock: false, type: "simple", storageClassType: "string", }, active_directory: { value: storageAccountAzureFilesAuthenticationActiveDirectoryToHclTerraform(struct.activeDirectory), isBlock: true, type: "list", storageClassType: "StorageAccountAzureFilesAuthenticationActiveDirectoryList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageAccountAzureFilesAuthenticationToHclTerraform = storageAccountAzureFilesAuthenticationToHclTerraform; class StorageAccountAzureFilesAuthenticationOutputReference 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; // active_directory - computed: false, optional: true, required: false this._activeDirectory = new StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference(this, "active_directory"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._defaultShareLevelPermission !== undefined) { hasAnyValues = true; internalValueResult.defaultShareLevelPermission = this._defaultShareLevelPermission; } if (this._directoryType !== undefined) { hasAnyValues = true; internalValueResult.directoryType = this._directoryType; } if (this._activeDirectory?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.activeDirectory = this._activeDirectory?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._defaultShareLevelPermission = undefined; this._directoryType = undefined; this._activeDirectory.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._defaultShareLevelPermission = value.defaultShareLevelPermission; this._directoryType = value.directoryType; this._activeDirectory.internalValue = value.activeDirectory; } } get defaultShareLevelPermission() { return this.getStringAttribute('default_share_level_permission'); } set defaultShareLevelPermission(value) { this._defaultShareLevelPermission = value; } resetDefaultShareLevelPermission() { this._defaultShareLevelPermission = undefined; } // Temporarily expose input value. Use with caution. get defaultShareLevelPermissionInput() { return this._defaultShareLevelPermission; } get directoryType() { return this.getStringAttribute('directory_type'); } set directoryType(value) { this._directoryType = value; } // Temporarily expose input value. Use with caution. get directoryTypeInput() { return this._directoryType; } get activeDirectory() { return this._activeDirectory; } putActiveDirectory(value) { this._activeDirectory.internalValue = value; } resetActiveDirectory() { this._activeDirectory.internalValue = undefined; } // Temporarily expose input value. Use with caution. get activeDirectoryInput() { return this._activeDirectory.internalValue; } } exports.StorageAccountAzureFilesAuthenticationOutputReference = StorageAccountAzureFilesAuthenticationOutputReference; _b = JSII_RTTI_SYMBOL_1; StorageAccountAzureFilesAuthenticationOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.storageAccount.StorageAccountAzureFilesAuthenticationOutputReference", version: "12.27.0" }; function storageAccountBlobPropertiesContainerDeleteRetentionPolicyToTerraform(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 { days: cdktf.numberToTerraform(struct.days), }; } exports.storageAccountBlobPropertiesContainerDeleteRetentionPolicyToTerraform = storageAccountBlobPropertiesContainerDeleteRetentionPolicyToTerraform; function storageAccountBlobPropertiesContainerDeleteRetentionPolicyToHclTerraform(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 = { days: { value: cdktf.numberToHclTerraform(struct.days), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageAccountBlobPropertiesContainerDeleteRetentionPolicyToHclTerraform = storageAccountBlobPropertiesContainerDeleteRetentionPolicyToHclTerraform; class StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference 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._days !== undefined) { hasAnyValues = true; internalValueResult.days = this._days; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._days = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._days = value.days; } } get days() { return this.getNumberAttribute('days'); } set days(value) { this._days = value; } resetDays() { this._days = undefined; } // Temporarily expose input value. Use with caution. get daysInput() { return this._days; } } exports.StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference = StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference; _c = JSII_RTTI_SYMBOL_1; StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.storageAccount.StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference", version: "12.27.0" }; function storageAccountBlobPropertiesCorsRuleToTerraform(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 { allowed_headers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedHeaders), allowed_methods: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedMethods), allowed_origins: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.allowedOrigins), exposed_headers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.exposedHeaders), max_age_in_seconds: cdktf.numberToTerraform(struct.maxAgeInSeconds), }; } exports.storageAccountBlobPropertiesCorsRuleToTerraform = storageAccountBlobPropertiesCorsRuleToTerraform; function storageAccountBlobPropertiesCorsRuleToHclTerraform(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 = { allowed_headers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedHeaders), isBlock: false, type: "list", storageClassType: "stringList", }, allowed_methods: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedMethods), isBlock: false, type: "list", storageClassType: "stringList", }, allowed_origins: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.allowedOrigins), isBlock: false, type: "list", storageClassType: "stringList", }, exposed_headers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.exposedHeaders), isBlock: false, type: "list", storageClassType: "stringList", }, max_age_in_seconds: { value: cdktf.numberToHclTerraform(struct.maxAgeInSeconds), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageAccountBlobPropertiesCorsRuleToHclTerraform = storageAccountBlobPropertiesCorsRuleToHclTerraform; class StorageAccountBlobPropertiesCorsRuleOutputReference 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._allowedHeaders !== undefined) { hasAnyValues = true; internalValueResult.allowedHeaders = this._allowedHeaders; } if (this._allowedMethods !== undefined) { hasAnyValues = true; internalValueResult.allowedMethods = this._allowedMethods; } if (this._allowedOrigins !== undefined) { hasAnyValues = true; internalValueResult.allowedOrigins = this._allowedOrigins; } if (this._exposedHeaders !== undefined) { hasAnyValues = true; internalValueResult.exposedHeaders = this._exposedHeaders; } if (this._maxAgeInSeconds !== undefined) { hasAnyValues = true; internalValueResult.maxAgeInSeconds = this._maxAgeInSeconds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._allowedHeaders = undefined; this._allowedMethods = undefined; this._allowedOrigins = undefined; this._exposedHeaders = undefined; this._maxAgeInSeconds = 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._allowedHeaders = value.allowedHeaders; this._allowedMethods = value.allowedMethods; this._allowedOrigins = value.allowedOrigins; this._exposedHeaders = value.exposedHeaders; this._maxAgeInSeconds = value.maxAgeInSeconds; } } get allowedHeaders() { return this.getListAttribute('allowed_headers'); } set allowedHeaders(value) { this._allowedHeaders = value; } // Temporarily expose input value. Use with caution. get allowedHeadersInput() { return this._allowedHeaders; } get allowedMethods() { return this.getListAttribute('allowed_methods'); } set allowedMethods(value) { this._allowedMethods = value; } // Temporarily expose input value. Use with caution. get allowedMethodsInput() { return this._allowedMethods; } get allowedOrigins() { return this.getListAttribute('allowed_origins'); } set allowedOrigins(value) { this._allowedOrigins = value; } // Temporarily expose input value. Use with caution. get allowedOriginsInput() { return this._allowedOrigins; } get exposedHeaders() { return this.getListAttribute('exposed_headers'); } set exposedHeaders(value) { this._exposedHeaders = value; } // Temporarily expose input value. Use with caution. get exposedHeadersInput() { return this._exposedHeaders; } get maxAgeInSeconds() { return this.getNumberAttribute('max_age_in_seconds'); } set maxAgeInSeconds(value) { this._maxAgeInSeconds = value; } // Temporarily expose input value. Use with caution. get maxAgeInSecondsInput() { return this._maxAgeInSeconds; } } exports.StorageAccountBlobPropertiesCorsRuleOutputReference = StorageAccountBlobPropertiesCorsRuleOutputReference; _d = JSII_RTTI_SYMBOL_1; StorageAccountBlobPropertiesCorsRuleOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.storageAccount.StorageAccountBlobPropertiesCorsRuleOutputReference", version: "12.27.0" }; class StorageAccountBlobPropertiesCorsRuleList 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 StorageAccountBlobPropertiesCorsRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.StorageAccountBlobPropertiesCorsRuleList = StorageAccountBlobPropertiesCorsRuleList; _e = JSII_RTTI_SYMBOL_1; StorageAccountBlobPropertiesCorsRuleList[_e] = { fqn: "@cdktf/provider-azurerm.storageAccount.StorageAccountBlobPropertiesCorsRuleList", version: "12.27.0" }; function storageAccountBlobPropertiesDeleteRetentionPolicyToTerraform(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 { days: cdktf.numberToTerraform(struct.days), permanent_delete_enabled: cdktf.booleanToTerraform(struct.permanentDeleteEnabled), }; } exports.storageAccountBlobPropertiesDeleteRetentionPolicyToTerraform = storageAccountBlobPropertiesDeleteRetentionPolicyToTerraform; function storageAccountBlobPropertiesDeleteRetentionPolicyToHclTerraform(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 = { days: { value: cdktf.numberToHclTerraform(struct.days), isBlock: false, type: "simple", storageClassType: "number", }, permanent_delete_enabled: { value: cdktf.booleanToHclTerraform(struct.permanentDeleteEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageAccountBlobPropertiesDeleteRetentionPolicyToHclTerraform = storageAccountBlobPropertiesDeleteRetentionPolicyToHclTerraform; class StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference 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._days !== undefined) { hasAnyValues = true; internalValueResult.days = this._days; } if (this._permanentDeleteEnabled !== undefined) { hasAnyValues = true; internalValueResult.permanentDeleteEnabled = this._permanentDeleteEnabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._days = undefined; this._permanentDeleteEnabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._days = value.days; this._permanentDeleteEnabled = value.permanentDeleteEnabled; } } get days() { return this.getNumberAttribute('days'); } set days(value) { this._days = value; } resetDays() { this._days = undefined; } // Temporarily expose input value. Use with caution. get daysInput() { return this._days; } get permanentDeleteEnabled() { return this.getBooleanAttribute('permanent_delete_enabled'); } set permanentDeleteEnabled(value) { this._permanentDeleteEnabled = value; } resetPermanentDeleteEnabled() { this._permanentDeleteEnabled = undefined; } // Temporarily expose input value. Use with caution. get permanentDeleteEnabledInput() { return this._permanentDeleteEnabled; } } exports.StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference = StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference; _f = JSII_RTTI_SYMBOL_1; StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.storageAccount.StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference", version: "12.27.0" }; function storageAccountBlobPropertiesRestorePolicyToTerraform(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 { days: cdktf.numberToTerraform(struct.days), }; } exports.storageAccountBlobPropertiesRestorePolicyToTerraform = storageAccountBlobPropertiesRestorePolicyToTerraform; function storageAccountBlobPropertiesRestorePolicyToHclTerraform(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 = { days: { value: cdktf.numberToHclTerraform(struct.days), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageAccountBlobPropertiesRestorePolicyToHclTerraform = storageAccountBlobPropertiesRestorePolicyToHclTerraform; class StorageAccountBlobPropertiesRestorePolicyOutputReference 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._days !== undefined) { hasAnyValues = true; internalValueResult.days = this._days; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._days = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._days = value.days; } } get days() { return this.getNumberAttribute('days'); } set days(value) { this._days = value; } // Temporarily expose input value. Use with caution. get daysInput() { return this._days; } } exports.StorageAccountBlobPropertiesRestorePolicyOutputReference = StorageAccountBlobPropertiesRestorePolicyOutputReference; _g = JSII_RTTI_SYMBOL_1; StorageAccountBlobPropertiesRestorePolicyOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.storageAccount.StorageAccountBlobPropertiesRestorePolicyOutputReference", version: "12.27.0" }; function storageAccountBlobPropertiesToTerraform(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 { change_feed_enabled: cdktf.booleanToTerraform(struct.changeFeedEnabled), change_feed_retention_in_days: cdktf.numberToTerraform(struct.changeFeedRetentionInDays), default_service_version: cdktf.stringToTerraform(struct.defaultServiceVersion), last_access_time_enabled: cdktf.booleanToTerraform(struct.lastAccessTimeEnabled), versioning_enabled: cdktf.booleanToTerraform(struct.versioningEnabled), container_delete_retention_policy: storageAccountBlobPropertiesContainerDeleteRetentionPolicyToTerraform(struct.containerDeleteRetentionPolicy), cors_rule: cdktf.listMapper(storageAccountBlobPropertiesCorsRuleToTerraform, true)(struct.corsRule), delete_retention_policy: storageAccountBlobPropertiesDeleteRetentionPolicyToTerraform(struct.deleteRetentionPolicy), restore_policy: storageAccountBlobPropertiesRestorePolicyToTerraform(struct.restorePolicy), }; } exports.storageAccountBlobPropertiesToTerraform = storageAccountBlobPropertiesToTerraform; function storageAccountBlobPropertiesToHclTerraform(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 = { change_feed_enabled: { value: cdktf.booleanToHclTerraform(struct.changeFeedEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, change_feed_retention_in_days: { value: cdktf.numberToHclTerraform(struct.changeFeedRetentionInDays), isBlock: false, type: "simple", storageClassType: "number", }, default_service_version: { value: cdktf.stringToHclTerraform(struct.defaultServiceVersion), isBlock: false, type: "simple", storageClassType: "string", }, last_access_time_enabled: { value: cdktf.booleanToHclTerraform(struct.lastAccessTimeEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, versioning_enabled: { value: cdktf.booleanToHclTerraform(struct.versioningEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, container_delete_retention_policy: { value: storageAccountBlobPropertiesContainerDeleteRetentionPolicyToHclTerraform(struct.containerDeleteRetentionPolicy), isBlock: true, type: "list", storageClassType: "StorageAccountBlobPropertiesContainerDeleteRetentionPolicyList", }, cors_rule: { value: cdktf.listMapperHcl(storageAccountBlobPropertiesCorsRuleToHclTerraform, true)(struct.corsRule), isBlock: true, type: "list", storageClassType: "StorageAccountBlobPropertiesCorsRuleList", }, delete_retention_policy: { value: storageAccountBlobPropertiesDeleteRetentionPolicyToHclTerraform(struct.deleteRetentionPolicy), isBlock: true, type: "list", storageClassType: "StorageAccountBlobPropertiesDeleteRetentionPolicyList", }, restore_policy: { value: storageAccountBlobPropertiesRestorePolicyToHclTerraform(struct.restorePolicy), isBlock: true, type: "list", storageClassType: "StorageAccountBlobPropertiesRestorePolicyList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.storageAccountBlobPropertiesToHclTerraform = storageAccountBlobPropertiesToHclTerraform; class StorageAccountBlobPropertiesOutputReference 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; // container_delete_retention_policy - computed: false, optional: true, required: false this._containerDeleteRetentionPolicy = new StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference(this, "container_delete_retention_policy"); // cors_rule - computed: false, optional: true, required: false this._corsRule = new StorageAccountBlobPropertiesCorsRuleList(this, "cors_rule", false); // delete_retention_policy - computed: false, optional: true, required: false this._deleteRetentionPolicy = new StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference(this, "delete_retention_policy"); // restore_policy - computed: false, optional: true, required: false this._restorePolicy = new StorageAccountBlobPropertiesRestorePolicyOutputReference(this, "restore_policy"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._changeFeedEnabled !== undefined) { hasAnyValues = true; internalValueResult.changeFeedEnabled = this._changeFeedEnabled; } if (this._changeFeedRetentionInDays !== undefined) { hasAnyValues = true; internalValueResult.changeFeedRetentionInDays = this._changeFeedRetentionInDays; } if (this._defaultServiceVersion !== undefined) { hasAnyValues = true; internalValueResult.defaultServiceVersion = this._defaultServiceVersion; } if (this._lastAccessTimeEnabled !== undefined) { hasAnyValues = true; internalValueResult.lastAccessTimeEnabled = this._lastAccessTimeEnabled; } if (this._versioningEnabled !== undefined) { hasAnyValues = true; internalValueResult.versioningEnabled = this._versioningEnabled; } if (this._containerDeleteRetentionPolicy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.containerDeleteRetentionPolicy = this._containerDeleteRetentionPolicy?.internalValue; } if (this._corsRule?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.corsRule = this._corsRule?.internalValue; } if (this._deleteRetentionPolicy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.deleteRetentionPolicy = this._deleteRetentionPolicy?.internalValue; } if (this._restorePolicy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.restorePolicy = this._restorePolicy?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._changeFeedEnabled = undefined; this._changeFeedRetentionInDays = undefined; this._defaultServiceVersion = undefined; this._lastAccessTimeEnabled = undefined; this._versioningEnabled = undefined; this._containerDeleteRetentionPolicy.internalValue = undefined; this._corsRule.internalValue = undefined; this._deleteRetentionPolicy.internalValue = undefined; this._restorePolicy.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._changeFeedEnabled = value.changeFeedEnabled; this._changeFeedRetentionInDays = value.changeFeedRetentionInDays; this._defaultServiceVersion = value.defaultServiceVersion; this._lastAccessTimeEnabled = value.lastAccessTimeEnabled; this._versioningEnabled = value.versioningEnabled; this._containerDeleteRetentionPolicy.internalValue = value.containerDeleteRetentionPolicy; this._corsRule.internalValue = value.corsRule; this._deleteRetentionPolicy.internalValue = value.deleteRetentionPolicy; this._restorePolicy.internalValue = value.restorePolicy; } } get changeFeedEnabled() { return this.getBooleanAttribute('change_feed_enabled'); } set changeFeedEnabled(value) { this._changeFeedEnabled = value; } resetChangeFeedEnabled() { this._changeFeedEnabled = undefined; } // Temporarily expose input value. Use with caution. get changeFeedEnabledInput() { return this._changeFeedEnabled; } get changeFeedRetentionInDays() { return this.getNumberAttribute('change_feed_retention_in_days'); } set changeFeedRetentionInDays(value) { this._changeFeedRetentionInDays = value; } resetChangeFeedRetentionInDays() { this._changeFeedRetentionInDays = undefined; } // Temporarily expose input value. Use with caution. get changeFeedRetentionInDaysInput() { return this._changeFeedRetentionInDays; } get defaultServiceVersion() { return this.getStringAttribute('default_service_version'); } set defaultServiceVersion(value) { this._defaultServiceVersion = value; } resetDefaultServiceVersion() { this._defaultServiceVersion = undefined; } // Temporarily expose input value. Use with caution. get defaultServiceVersionInput() { return this._defaultServiceVersion; } get lastAccessTimeEnabled() { return this.getBooleanAttribute('last_access_time_enabled'); } set lastAccessTimeEnabled(value) { this._lastAccessTimeEnabled = value; } resetLastAccessTimeEnabled() { this._lastAccessTimeEnabled = undefined; } // Temporarily expose input value. Use with caution. get lastAccessTimeEnabledInput() { return this._lastAccessTimeEnabled; } get versioningEnabled() { return this.getBooleanAttribute('versioning_enabled'); } set versioningEnabled(value) { this._versioningEnabled = value; } resetVersioningEnabled() { this._versioningEnabled = undefined; } // Temporarily expose input value. Use with caution. get versioningEnabledInput() { return this._versioningEnabled; } get containerDeleteRetentionPolicy() { return this._containerDeleteRetentionPolicy; } putContainerDeleteRetentionPolicy(value) { this._containerDeleteRetentionPolicy.internalValue = value; } resetContainerDeleteRetentionPolicy() { this._containerDeleteRetentionPolicy.internalValue = undefined; } // Temporarily expose input value. Use with caution. get containerDeleteRetentionPolicyInput() { return this._containerDeleteRetentionPolicy.internalValue; } get corsRule() { return this._corsRule; } putCorsRule(value) { this._corsRule.internalValue = value; } resetCorsRule() { this._corsRule.internalValue = undefined; } // Temporarily expose input value. Use with caution. get corsRuleInput() { return this._corsRule.internalValue; } get deleteRetentionPolicy() { return this._deleteRetentionPolicy; } putDeleteRetentionPolicy(value) { this._deleteRetentionPolicy.internalValue = value; } resetDeleteRetentionPolicy() { this._deleteRetentionPolicy.internalValue = undefined; } // Temporarily expose input value. Use with caution. get deleteRetentionPolicyInput() { return this._deleteRetentionPolicy.internalValue; } get restorePolicy() { return this._restorePolicy; } putRestorePolicy(value) { this._restorePolicy.internalValue = value; } resetRestorePolicy() { this._restorePolicy.inter