UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,031 lines 828 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, _7, _8, _9, _10, _11, _12, _13, _14; Object.defineProperty(exports, "__esModule", { value: true }); exports.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationList = exports.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationOutputReference = exports.linuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationToHclTerraform = exports.linuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationToTerraform = exports.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressList = exports.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressOutputReference = exports.linuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressToHclTerraform = exports.linuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressToTerraform = exports.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagList = exports.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagOutputReference = exports.linuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagToHclTerraform = exports.linuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagToTerraform = exports.LinuxVirtualMachineScaleSetIdentityOutputReference = exports.linuxVirtualMachineScaleSetIdentityToHclTerraform = exports.linuxVirtualMachineScaleSetIdentityToTerraform = exports.LinuxVirtualMachineScaleSetGalleryApplicationsList = exports.LinuxVirtualMachineScaleSetGalleryApplicationsOutputReference = exports.linuxVirtualMachineScaleSetGalleryApplicationsToHclTerraform = exports.linuxVirtualMachineScaleSetGalleryApplicationsToTerraform = exports.LinuxVirtualMachineScaleSetGalleryApplicationList = exports.LinuxVirtualMachineScaleSetGalleryApplicationOutputReference = exports.linuxVirtualMachineScaleSetGalleryApplicationToHclTerraform = exports.linuxVirtualMachineScaleSetGalleryApplicationToTerraform = exports.LinuxVirtualMachineScaleSetExtensionList = exports.LinuxVirtualMachineScaleSetExtensionOutputReference = exports.linuxVirtualMachineScaleSetExtensionToHclTerraform = exports.linuxVirtualMachineScaleSetExtensionToTerraform = exports.LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultOutputReference = exports.linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToHclTerraform = exports.linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToTerraform = exports.LinuxVirtualMachineScaleSetDataDiskList = exports.LinuxVirtualMachineScaleSetDataDiskOutputReference = exports.linuxVirtualMachineScaleSetDataDiskToHclTerraform = exports.linuxVirtualMachineScaleSetDataDiskToTerraform = exports.LinuxVirtualMachineScaleSetBootDiagnosticsOutputReference = exports.linuxVirtualMachineScaleSetBootDiagnosticsToHclTerraform = exports.linuxVirtualMachineScaleSetBootDiagnosticsToTerraform = exports.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyOutputReference = exports.linuxVirtualMachineScaleSetAutomaticOsUpgradePolicyToHclTerraform = exports.linuxVirtualMachineScaleSetAutomaticOsUpgradePolicyToTerraform = exports.LinuxVirtualMachineScaleSetAutomaticInstanceRepairOutputReference = exports.linuxVirtualMachineScaleSetAutomaticInstanceRepairToHclTerraform = exports.linuxVirtualMachineScaleSetAutomaticInstanceRepairToTerraform = exports.LinuxVirtualMachineScaleSetAdminSshKeyList = exports.LinuxVirtualMachineScaleSetAdminSshKeyOutputReference = exports.linuxVirtualMachineScaleSetAdminSshKeyToHclTerraform = exports.linuxVirtualMachineScaleSetAdminSshKeyToTerraform = exports.LinuxVirtualMachineScaleSetAdditionalCapabilitiesOutputReference = exports.linuxVirtualMachineScaleSetAdditionalCapabilitiesToHclTerraform = exports.linuxVirtualMachineScaleSetAdditionalCapabilitiesToTerraform = void 0; exports.LinuxVirtualMachineScaleSet = exports.LinuxVirtualMachineScaleSetTimeoutsOutputReference = exports.linuxVirtualMachineScaleSetTimeoutsToHclTerraform = exports.linuxVirtualMachineScaleSetTimeoutsToTerraform = exports.LinuxVirtualMachineScaleSetTerminationNotificationOutputReference = exports.linuxVirtualMachineScaleSetTerminationNotificationToHclTerraform = exports.linuxVirtualMachineScaleSetTerminationNotificationToTerraform = exports.LinuxVirtualMachineScaleSetTerminateNotificationOutputReference = exports.linuxVirtualMachineScaleSetTerminateNotificationToHclTerraform = exports.linuxVirtualMachineScaleSetTerminateNotificationToTerraform = exports.LinuxVirtualMachineScaleSetSpotRestoreOutputReference = exports.linuxVirtualMachineScaleSetSpotRestoreToHclTerraform = exports.linuxVirtualMachineScaleSetSpotRestoreToTerraform = exports.LinuxVirtualMachineScaleSetSourceImageReferenceOutputReference = exports.linuxVirtualMachineScaleSetSourceImageReferenceToHclTerraform = exports.linuxVirtualMachineScaleSetSourceImageReferenceToTerraform = exports.LinuxVirtualMachineScaleSetSecretList = exports.LinuxVirtualMachineScaleSetSecretOutputReference = exports.linuxVirtualMachineScaleSetSecretToHclTerraform = exports.linuxVirtualMachineScaleSetSecretToTerraform = exports.LinuxVirtualMachineScaleSetSecretCertificateList = exports.LinuxVirtualMachineScaleSetSecretCertificateOutputReference = exports.linuxVirtualMachineScaleSetSecretCertificateToHclTerraform = exports.linuxVirtualMachineScaleSetSecretCertificateToTerraform = exports.LinuxVirtualMachineScaleSetScaleInOutputReference = exports.linuxVirtualMachineScaleSetScaleInToHclTerraform = exports.linuxVirtualMachineScaleSetScaleInToTerraform = exports.LinuxVirtualMachineScaleSetRollingUpgradePolicyOutputReference = exports.linuxVirtualMachineScaleSetRollingUpgradePolicyToHclTerraform = exports.linuxVirtualMachineScaleSetRollingUpgradePolicyToTerraform = exports.LinuxVirtualMachineScaleSetPlanOutputReference = exports.linuxVirtualMachineScaleSetPlanToHclTerraform = exports.linuxVirtualMachineScaleSetPlanToTerraform = exports.LinuxVirtualMachineScaleSetOsDiskOutputReference = exports.linuxVirtualMachineScaleSetOsDiskToHclTerraform = exports.linuxVirtualMachineScaleSetOsDiskToTerraform = exports.LinuxVirtualMachineScaleSetOsDiskDiffDiskSettingsOutputReference = exports.linuxVirtualMachineScaleSetOsDiskDiffDiskSettingsToHclTerraform = exports.linuxVirtualMachineScaleSetOsDiskDiffDiskSettingsToTerraform = exports.LinuxVirtualMachineScaleSetNetworkInterfaceList = exports.LinuxVirtualMachineScaleSetNetworkInterfaceOutputReference = exports.linuxVirtualMachineScaleSetNetworkInterfaceToHclTerraform = exports.linuxVirtualMachineScaleSetNetworkInterfaceToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function linuxVirtualMachineScaleSetAdditionalCapabilitiesToTerraform(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 { ultra_ssd_enabled: cdktf.booleanToTerraform(struct.ultraSsdEnabled), }; } exports.linuxVirtualMachineScaleSetAdditionalCapabilitiesToTerraform = linuxVirtualMachineScaleSetAdditionalCapabilitiesToTerraform; function linuxVirtualMachineScaleSetAdditionalCapabilitiesToHclTerraform(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 = { ultra_ssd_enabled: { value: cdktf.booleanToHclTerraform(struct.ultraSsdEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.linuxVirtualMachineScaleSetAdditionalCapabilitiesToHclTerraform = linuxVirtualMachineScaleSetAdditionalCapabilitiesToHclTerraform; class LinuxVirtualMachineScaleSetAdditionalCapabilitiesOutputReference 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._ultraSsdEnabled !== undefined) { hasAnyValues = true; internalValueResult.ultraSsdEnabled = this._ultraSsdEnabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._ultraSsdEnabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._ultraSsdEnabled = value.ultraSsdEnabled; } } get ultraSsdEnabled() { return this.getBooleanAttribute('ultra_ssd_enabled'); } set ultraSsdEnabled(value) { this._ultraSsdEnabled = value; } resetUltraSsdEnabled() { this._ultraSsdEnabled = undefined; } // Temporarily expose input value. Use with caution. get ultraSsdEnabledInput() { return this._ultraSsdEnabled; } } exports.LinuxVirtualMachineScaleSetAdditionalCapabilitiesOutputReference = LinuxVirtualMachineScaleSetAdditionalCapabilitiesOutputReference; _a = JSII_RTTI_SYMBOL_1; LinuxVirtualMachineScaleSetAdditionalCapabilitiesOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.linuxVirtualMachineScaleSet.LinuxVirtualMachineScaleSetAdditionalCapabilitiesOutputReference", version: "12.27.0" }; function linuxVirtualMachineScaleSetAdminSshKeyToTerraform(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 { public_key: cdktf.stringToTerraform(struct.publicKey), username: cdktf.stringToTerraform(struct.username), }; } exports.linuxVirtualMachineScaleSetAdminSshKeyToTerraform = linuxVirtualMachineScaleSetAdminSshKeyToTerraform; function linuxVirtualMachineScaleSetAdminSshKeyToHclTerraform(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 = { public_key: { value: cdktf.stringToHclTerraform(struct.publicKey), isBlock: false, type: "simple", storageClassType: "string", }, username: { value: cdktf.stringToHclTerraform(struct.username), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.linuxVirtualMachineScaleSetAdminSshKeyToHclTerraform = linuxVirtualMachineScaleSetAdminSshKeyToHclTerraform; class LinuxVirtualMachineScaleSetAdminSshKeyOutputReference 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._publicKey !== undefined) { hasAnyValues = true; internalValueResult.publicKey = this._publicKey; } if (this._username !== undefined) { hasAnyValues = true; internalValueResult.username = this._username; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._publicKey = undefined; this._username = 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._publicKey = value.publicKey; this._username = value.username; } } get publicKey() { return this.getStringAttribute('public_key'); } set publicKey(value) { this._publicKey = value; } // Temporarily expose input value. Use with caution. get publicKeyInput() { return this._publicKey; } get username() { return this.getStringAttribute('username'); } set username(value) { this._username = value; } // Temporarily expose input value. Use with caution. get usernameInput() { return this._username; } } exports.LinuxVirtualMachineScaleSetAdminSshKeyOutputReference = LinuxVirtualMachineScaleSetAdminSshKeyOutputReference; _b = JSII_RTTI_SYMBOL_1; LinuxVirtualMachineScaleSetAdminSshKeyOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.linuxVirtualMachineScaleSet.LinuxVirtualMachineScaleSetAdminSshKeyOutputReference", version: "12.27.0" }; class LinuxVirtualMachineScaleSetAdminSshKeyList 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 LinuxVirtualMachineScaleSetAdminSshKeyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.LinuxVirtualMachineScaleSetAdminSshKeyList = LinuxVirtualMachineScaleSetAdminSshKeyList; _c = JSII_RTTI_SYMBOL_1; LinuxVirtualMachineScaleSetAdminSshKeyList[_c] = { fqn: "@cdktf/provider-azurerm.linuxVirtualMachineScaleSet.LinuxVirtualMachineScaleSetAdminSshKeyList", version: "12.27.0" }; function linuxVirtualMachineScaleSetAutomaticInstanceRepairToTerraform(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 { action: cdktf.stringToTerraform(struct.action), enabled: cdktf.booleanToTerraform(struct.enabled), grace_period: cdktf.stringToTerraform(struct.gracePeriod), }; } exports.linuxVirtualMachineScaleSetAutomaticInstanceRepairToTerraform = linuxVirtualMachineScaleSetAutomaticInstanceRepairToTerraform; function linuxVirtualMachineScaleSetAutomaticInstanceRepairToHclTerraform(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 = { action: { value: cdktf.stringToHclTerraform(struct.action), isBlock: false, type: "simple", storageClassType: "string", }, enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, grace_period: { value: cdktf.stringToHclTerraform(struct.gracePeriod), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.linuxVirtualMachineScaleSetAutomaticInstanceRepairToHclTerraform = linuxVirtualMachineScaleSetAutomaticInstanceRepairToHclTerraform; class LinuxVirtualMachineScaleSetAutomaticInstanceRepairOutputReference 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._action !== undefined) { hasAnyValues = true; internalValueResult.action = this._action; } if (this._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } if (this._gracePeriod !== undefined) { hasAnyValues = true; internalValueResult.gracePeriod = this._gracePeriod; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._action = undefined; this._enabled = undefined; this._gracePeriod = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._action = value.action; this._enabled = value.enabled; this._gracePeriod = value.gracePeriod; } } get action() { return this.getStringAttribute('action'); } set action(value) { this._action = value; } resetAction() { this._action = undefined; } // Temporarily expose input value. Use with caution. get actionInput() { return this._action; } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } get gracePeriod() { return this.getStringAttribute('grace_period'); } set gracePeriod(value) { this._gracePeriod = value; } resetGracePeriod() { this._gracePeriod = undefined; } // Temporarily expose input value. Use with caution. get gracePeriodInput() { return this._gracePeriod; } } exports.LinuxVirtualMachineScaleSetAutomaticInstanceRepairOutputReference = LinuxVirtualMachineScaleSetAutomaticInstanceRepairOutputReference; _d = JSII_RTTI_SYMBOL_1; LinuxVirtualMachineScaleSetAutomaticInstanceRepairOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.linuxVirtualMachineScaleSet.LinuxVirtualMachineScaleSetAutomaticInstanceRepairOutputReference", version: "12.27.0" }; function linuxVirtualMachineScaleSetAutomaticOsUpgradePolicyToTerraform(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 { disable_automatic_rollback: cdktf.booleanToTerraform(struct.disableAutomaticRollback), enable_automatic_os_upgrade: cdktf.booleanToTerraform(struct.enableAutomaticOsUpgrade), }; } exports.linuxVirtualMachineScaleSetAutomaticOsUpgradePolicyToTerraform = linuxVirtualMachineScaleSetAutomaticOsUpgradePolicyToTerraform; function linuxVirtualMachineScaleSetAutomaticOsUpgradePolicyToHclTerraform(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 = { disable_automatic_rollback: { value: cdktf.booleanToHclTerraform(struct.disableAutomaticRollback), isBlock: false, type: "simple", storageClassType: "boolean", }, enable_automatic_os_upgrade: { value: cdktf.booleanToHclTerraform(struct.enableAutomaticOsUpgrade), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.linuxVirtualMachineScaleSetAutomaticOsUpgradePolicyToHclTerraform = linuxVirtualMachineScaleSetAutomaticOsUpgradePolicyToHclTerraform; class LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyOutputReference 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._disableAutomaticRollback !== undefined) { hasAnyValues = true; internalValueResult.disableAutomaticRollback = this._disableAutomaticRollback; } if (this._enableAutomaticOsUpgrade !== undefined) { hasAnyValues = true; internalValueResult.enableAutomaticOsUpgrade = this._enableAutomaticOsUpgrade; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._disableAutomaticRollback = undefined; this._enableAutomaticOsUpgrade = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._disableAutomaticRollback = value.disableAutomaticRollback; this._enableAutomaticOsUpgrade = value.enableAutomaticOsUpgrade; } } get disableAutomaticRollback() { return this.getBooleanAttribute('disable_automatic_rollback'); } set disableAutomaticRollback(value) { this._disableAutomaticRollback = value; } // Temporarily expose input value. Use with caution. get disableAutomaticRollbackInput() { return this._disableAutomaticRollback; } get enableAutomaticOsUpgrade() { return this.getBooleanAttribute('enable_automatic_os_upgrade'); } set enableAutomaticOsUpgrade(value) { this._enableAutomaticOsUpgrade = value; } // Temporarily expose input value. Use with caution. get enableAutomaticOsUpgradeInput() { return this._enableAutomaticOsUpgrade; } } exports.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyOutputReference = LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyOutputReference; _e = JSII_RTTI_SYMBOL_1; LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.linuxVirtualMachineScaleSet.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyOutputReference", version: "12.27.0" }; function linuxVirtualMachineScaleSetBootDiagnosticsToTerraform(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 { storage_account_uri: cdktf.stringToTerraform(struct.storageAccountUri), }; } exports.linuxVirtualMachineScaleSetBootDiagnosticsToTerraform = linuxVirtualMachineScaleSetBootDiagnosticsToTerraform; function linuxVirtualMachineScaleSetBootDiagnosticsToHclTerraform(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 = { storage_account_uri: { value: cdktf.stringToHclTerraform(struct.storageAccountUri), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.linuxVirtualMachineScaleSetBootDiagnosticsToHclTerraform = linuxVirtualMachineScaleSetBootDiagnosticsToHclTerraform; class LinuxVirtualMachineScaleSetBootDiagnosticsOutputReference 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._storageAccountUri !== undefined) { hasAnyValues = true; internalValueResult.storageAccountUri = this._storageAccountUri; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._storageAccountUri = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._storageAccountUri = value.storageAccountUri; } } get storageAccountUri() { return this.getStringAttribute('storage_account_uri'); } set storageAccountUri(value) { this._storageAccountUri = value; } resetStorageAccountUri() { this._storageAccountUri = undefined; } // Temporarily expose input value. Use with caution. get storageAccountUriInput() { return this._storageAccountUri; } } exports.LinuxVirtualMachineScaleSetBootDiagnosticsOutputReference = LinuxVirtualMachineScaleSetBootDiagnosticsOutputReference; _f = JSII_RTTI_SYMBOL_1; LinuxVirtualMachineScaleSetBootDiagnosticsOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.linuxVirtualMachineScaleSet.LinuxVirtualMachineScaleSetBootDiagnosticsOutputReference", version: "12.27.0" }; function linuxVirtualMachineScaleSetDataDiskToTerraform(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 { caching: cdktf.stringToTerraform(struct.caching), create_option: cdktf.stringToTerraform(struct.createOption), disk_encryption_set_id: cdktf.stringToTerraform(struct.diskEncryptionSetId), disk_size_gb: cdktf.numberToTerraform(struct.diskSizeGb), lun: cdktf.numberToTerraform(struct.lun), name: cdktf.stringToTerraform(struct.name), storage_account_type: cdktf.stringToTerraform(struct.storageAccountType), ultra_ssd_disk_iops_read_write: cdktf.numberToTerraform(struct.ultraSsdDiskIopsReadWrite), ultra_ssd_disk_mbps_read_write: cdktf.numberToTerraform(struct.ultraSsdDiskMbpsReadWrite), write_accelerator_enabled: cdktf.booleanToTerraform(struct.writeAcceleratorEnabled), }; } exports.linuxVirtualMachineScaleSetDataDiskToTerraform = linuxVirtualMachineScaleSetDataDiskToTerraform; function linuxVirtualMachineScaleSetDataDiskToHclTerraform(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 = { caching: { value: cdktf.stringToHclTerraform(struct.caching), isBlock: false, type: "simple", storageClassType: "string", }, create_option: { value: cdktf.stringToHclTerraform(struct.createOption), isBlock: false, type: "simple", storageClassType: "string", }, disk_encryption_set_id: { value: cdktf.stringToHclTerraform(struct.diskEncryptionSetId), isBlock: false, type: "simple", storageClassType: "string", }, disk_size_gb: { value: cdktf.numberToHclTerraform(struct.diskSizeGb), isBlock: false, type: "simple", storageClassType: "number", }, lun: { value: cdktf.numberToHclTerraform(struct.lun), isBlock: false, type: "simple", storageClassType: "number", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, storage_account_type: { value: cdktf.stringToHclTerraform(struct.storageAccountType), isBlock: false, type: "simple", storageClassType: "string", }, ultra_ssd_disk_iops_read_write: { value: cdktf.numberToHclTerraform(struct.ultraSsdDiskIopsReadWrite), isBlock: false, type: "simple", storageClassType: "number", }, ultra_ssd_disk_mbps_read_write: { value: cdktf.numberToHclTerraform(struct.ultraSsdDiskMbpsReadWrite), isBlock: false, type: "simple", storageClassType: "number", }, write_accelerator_enabled: { value: cdktf.booleanToHclTerraform(struct.writeAcceleratorEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.linuxVirtualMachineScaleSetDataDiskToHclTerraform = linuxVirtualMachineScaleSetDataDiskToHclTerraform; class LinuxVirtualMachineScaleSetDataDiskOutputReference 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._caching !== undefined) { hasAnyValues = true; internalValueResult.caching = this._caching; } if (this._createOption !== undefined) { hasAnyValues = true; internalValueResult.createOption = this._createOption; } if (this._diskEncryptionSetId !== undefined) { hasAnyValues = true; internalValueResult.diskEncryptionSetId = this._diskEncryptionSetId; } if (this._diskSizeGb !== undefined) { hasAnyValues = true; internalValueResult.diskSizeGb = this._diskSizeGb; } if (this._lun !== undefined) { hasAnyValues = true; internalValueResult.lun = this._lun; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._storageAccountType !== undefined) { hasAnyValues = true; internalValueResult.storageAccountType = this._storageAccountType; } if (this._ultraSsdDiskIopsReadWrite !== undefined) { hasAnyValues = true; internalValueResult.ultraSsdDiskIopsReadWrite = this._ultraSsdDiskIopsReadWrite; } if (this._ultraSsdDiskMbpsReadWrite !== undefined) { hasAnyValues = true; internalValueResult.ultraSsdDiskMbpsReadWrite = this._ultraSsdDiskMbpsReadWrite; } if (this._writeAcceleratorEnabled !== undefined) { hasAnyValues = true; internalValueResult.writeAcceleratorEnabled = this._writeAcceleratorEnabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._caching = undefined; this._createOption = undefined; this._diskEncryptionSetId = undefined; this._diskSizeGb = undefined; this._lun = undefined; this._name = undefined; this._storageAccountType = undefined; this._ultraSsdDiskIopsReadWrite = undefined; this._ultraSsdDiskMbpsReadWrite = undefined; this._writeAcceleratorEnabled = 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._caching = value.caching; this._createOption = value.createOption; this._diskEncryptionSetId = value.diskEncryptionSetId; this._diskSizeGb = value.diskSizeGb; this._lun = value.lun; this._name = value.name; this._storageAccountType = value.storageAccountType; this._ultraSsdDiskIopsReadWrite = value.ultraSsdDiskIopsReadWrite; this._ultraSsdDiskMbpsReadWrite = value.ultraSsdDiskMbpsReadWrite; this._writeAcceleratorEnabled = value.writeAcceleratorEnabled; } } get caching() { return this.getStringAttribute('caching'); } set caching(value) { this._caching = value; } // Temporarily expose input value. Use with caution. get cachingInput() { return this._caching; } get createOption() { return this.getStringAttribute('create_option'); } set createOption(value) { this._createOption = value; } resetCreateOption() { this._createOption = undefined; } // Temporarily expose input value. Use with caution. get createOptionInput() { return this._createOption; } get diskEncryptionSetId() { return this.getStringAttribute('disk_encryption_set_id'); } set diskEncryptionSetId(value) { this._diskEncryptionSetId = value; } resetDiskEncryptionSetId() { this._diskEncryptionSetId = undefined; } // Temporarily expose input value. Use with caution. get diskEncryptionSetIdInput() { return this._diskEncryptionSetId; } get diskSizeGb() { return this.getNumberAttribute('disk_size_gb'); } set diskSizeGb(value) { this._diskSizeGb = value; } // Temporarily expose input value. Use with caution. get diskSizeGbInput() { return this._diskSizeGb; } get lun() { return this.getNumberAttribute('lun'); } set lun(value) { this._lun = value; } // Temporarily expose input value. Use with caution. get lunInput() { return this._lun; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get storageAccountType() { return this.getStringAttribute('storage_account_type'); } set storageAccountType(value) { this._storageAccountType = value; } // Temporarily expose input value. Use with caution. get storageAccountTypeInput() { return this._storageAccountType; } get ultraSsdDiskIopsReadWrite() { return this.getNumberAttribute('ultra_ssd_disk_iops_read_write'); } set ultraSsdDiskIopsReadWrite(value) { this._ultraSsdDiskIopsReadWrite = value; } resetUltraSsdDiskIopsReadWrite() { this._ultraSsdDiskIopsReadWrite = undefined; } // Temporarily expose input value. Use with caution. get ultraSsdDiskIopsReadWriteInput() { return this._ultraSsdDiskIopsReadWrite; } get ultraSsdDiskMbpsReadWrite() { return this.getNumberAttribute('ultra_ssd_disk_mbps_read_write'); } set ultraSsdDiskMbpsReadWrite(value) { this._ultraSsdDiskMbpsReadWrite = value; } resetUltraSsdDiskMbpsReadWrite() { this._ultraSsdDiskMbpsReadWrite = undefined; } // Temporarily expose input value. Use with caution. get ultraSsdDiskMbpsReadWriteInput() { return this._ultraSsdDiskMbpsReadWrite; } get writeAcceleratorEnabled() { return this.getBooleanAttribute('write_accelerator_enabled'); } set writeAcceleratorEnabled(value) { this._writeAcceleratorEnabled = value; } resetWriteAcceleratorEnabled() { this._writeAcceleratorEnabled = undefined; } // Temporarily expose input value. Use with caution. get writeAcceleratorEnabledInput() { return this._writeAcceleratorEnabled; } } exports.LinuxVirtualMachineScaleSetDataDiskOutputReference = LinuxVirtualMachineScaleSetDataDiskOutputReference; _g = JSII_RTTI_SYMBOL_1; LinuxVirtualMachineScaleSetDataDiskOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.linuxVirtualMachineScaleSet.LinuxVirtualMachineScaleSetDataDiskOutputReference", version: "12.27.0" }; class LinuxVirtualMachineScaleSetDataDiskList 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 LinuxVirtualMachineScaleSetDataDiskOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.LinuxVirtualMachineScaleSetDataDiskList = LinuxVirtualMachineScaleSetDataDiskList; _h = JSII_RTTI_SYMBOL_1; LinuxVirtualMachineScaleSetDataDiskList[_h] = { fqn: "@cdktf/provider-azurerm.linuxVirtualMachineScaleSet.LinuxVirtualMachineScaleSetDataDiskList", version: "12.27.0" }; function linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToTerraform(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 { secret_url: cdktf.stringToTerraform(struct.secretUrl), source_vault_id: cdktf.stringToTerraform(struct.sourceVaultId), }; } exports.linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToTerraform = linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToTerraform; function linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToHclTerraform(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 = { secret_url: { value: cdktf.stringToHclTerraform(struct.secretUrl), isBlock: false, type: "simple", storageClassType: "string", }, source_vault_id: { value: cdktf.stringToHclTerraform(struct.sourceVaultId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToHclTerraform = linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToHclTerraform; class LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultOutputReference 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._secretUrl !== undefined) { hasAnyValues = true; internalValueResult.secretUrl = this._secretUrl; } if (this._sourceVaultId !== undefined) { hasAnyValues = true; internalValueResult.sourceVaultId = this._sourceVaultId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._secretUrl = undefined; this._sourceVaultId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._secretUrl = value.secretUrl; this._sourceVaultId = value.sourceVaultId; } } get secretUrl() { return this.getStringAttribute('secret_url'); } set secretUrl(value) { this._secretUrl = value; } // Temporarily expose input value. Use with caution. get secretUrlInput() { return this._secretUrl; } get sourceVaultId() { return this.getStringAttribute('source_vault_id'); } set sourceVaultId(value) { this._sourceVaultId = value; } // Temporarily expose input value. Use with caution. get sourceVaultIdInput() { return this._sourceVaultId; } } exports.LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultOutputReference = LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultOutputReference; _j = JSII_RTTI_SYMBOL_1; LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultOutputReference[_j] = { fqn: "@cdktf/provider-azurerm.linuxVirtualMachineScaleSet.LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultOutputReference", version: "12.27.0" }; function linuxVirtualMachineScaleSetExtensionToTerraform(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 { auto_upgrade_minor_version: cdktf.booleanToTerraform(struct.autoUpgradeMinorVersion), automatic_upgrade_enabled: cdktf.booleanToTerraform(struct.automaticUpgradeEnabled), force_update_tag: cdktf.stringToTerraform(struct.forceUpdateTag), name: cdktf.stringToTerraform(struct.name), protected_settings: cdktf.stringToTerraform(struct.protectedSettings), provision_after_extensions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.provisionAfterExtensions), publisher: cdktf.stringToTerraform(struct.publisher), settings: cdktf.stringToTerraform(struct.settings), type: cdktf.stringToTerraform(struct.type), type_handler_version: cdktf.stringToTerraform(struct.typeHandlerVersion), protected_settings_from_key_vault: linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToTerraform(struct.protectedSettingsFromKeyVault), }; } exports.linuxVirtualMachineScaleSetExtensionToTerraform = linuxVirtualMachineScaleSetExtensionToTerraform; function linuxVirtualMachineScaleSetExtensionToHclTerraform(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 = { auto_upgrade_minor_version: { value: cdktf.booleanToHclTerraform(struct.autoUpgradeMinorVersion), isBlock: false, type: "simple", storageClassType: "boolean", }, automatic_upgrade_enabled: { value: cdktf.booleanToHclTerraform(struct.automaticUpgradeEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, force_update_tag: { value: cdktf.stringToHclTerraform(struct.forceUpdateTag), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, protected_settings: { value: cdktf.stringToHclTerraform(struct.protectedSettings), isBlock: false, type: "simple", storageClassType: "string", }, provision_after_extensions: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.provisionAfterExtensions), isBlock: false, type: "list", storageClassType: "stringList", }, publisher: { value: cdktf.stringToHclTerraform(struct.publisher), isBlock: false, type: "simple", storageClassType: "string", }, settings: { value: cdktf.stringToHclTerraform(struct.settings), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, type_handler_version: { value: cdktf.stringToHclTerraform(struct.typeHandlerVersion), isBlock: false, type: "simple", storageClassType: "string", }, protected_settings_from_key_vault: { value: linuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultToHclTerraform(struct.protectedSettingsFromKeyVault), isBlock: true, type: "list", storageClassType: "LinuxVirtualM