UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,045 lines 612 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; Object.defineProperty(exports, "__esModule", { value: true }); exports.VirtualMachineScaleSetOsProfileWindowsConfigWinrmList = exports.VirtualMachineScaleSetOsProfileWindowsConfigWinrmOutputReference = exports.virtualMachineScaleSetOsProfileWindowsConfigWinrmToHclTerraform = exports.virtualMachineScaleSetOsProfileWindowsConfigWinrmToTerraform = exports.VirtualMachineScaleSetOsProfileWindowsConfigAdditionalUnattendConfigList = exports.VirtualMachineScaleSetOsProfileWindowsConfigAdditionalUnattendConfigOutputReference = exports.virtualMachineScaleSetOsProfileWindowsConfigAdditionalUnattendConfigToHclTerraform = exports.virtualMachineScaleSetOsProfileWindowsConfigAdditionalUnattendConfigToTerraform = exports.VirtualMachineScaleSetOsProfileSecretsList = exports.VirtualMachineScaleSetOsProfileSecretsOutputReference = exports.virtualMachineScaleSetOsProfileSecretsToHclTerraform = exports.virtualMachineScaleSetOsProfileSecretsToTerraform = exports.VirtualMachineScaleSetOsProfileSecretsVaultCertificatesList = exports.VirtualMachineScaleSetOsProfileSecretsVaultCertificatesOutputReference = exports.virtualMachineScaleSetOsProfileSecretsVaultCertificatesToHclTerraform = exports.virtualMachineScaleSetOsProfileSecretsVaultCertificatesToTerraform = exports.VirtualMachineScaleSetOsProfileLinuxConfigOutputReference = exports.virtualMachineScaleSetOsProfileLinuxConfigToHclTerraform = exports.virtualMachineScaleSetOsProfileLinuxConfigToTerraform = exports.VirtualMachineScaleSetOsProfileLinuxConfigSshKeysList = exports.VirtualMachineScaleSetOsProfileLinuxConfigSshKeysOutputReference = exports.virtualMachineScaleSetOsProfileLinuxConfigSshKeysToHclTerraform = exports.virtualMachineScaleSetOsProfileLinuxConfigSshKeysToTerraform = exports.VirtualMachineScaleSetOsProfileOutputReference = exports.virtualMachineScaleSetOsProfileToHclTerraform = exports.virtualMachineScaleSetOsProfileToTerraform = exports.VirtualMachineScaleSetNetworkProfileList = exports.VirtualMachineScaleSetNetworkProfileOutputReference = exports.virtualMachineScaleSetNetworkProfileToHclTerraform = exports.virtualMachineScaleSetNetworkProfileToTerraform = exports.VirtualMachineScaleSetNetworkProfileIpConfigurationList = exports.VirtualMachineScaleSetNetworkProfileIpConfigurationOutputReference = exports.virtualMachineScaleSetNetworkProfileIpConfigurationToHclTerraform = exports.virtualMachineScaleSetNetworkProfileIpConfigurationToTerraform = exports.VirtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationOutputReference = exports.virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToHclTerraform = exports.virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToTerraform = exports.VirtualMachineScaleSetNetworkProfileDnsSettingsOutputReference = exports.virtualMachineScaleSetNetworkProfileDnsSettingsToHclTerraform = exports.virtualMachineScaleSetNetworkProfileDnsSettingsToTerraform = exports.VirtualMachineScaleSetIdentityOutputReference = exports.virtualMachineScaleSetIdentityToHclTerraform = exports.virtualMachineScaleSetIdentityToTerraform = exports.VirtualMachineScaleSetExtensionList = exports.VirtualMachineScaleSetExtensionOutputReference = exports.virtualMachineScaleSetExtensionToHclTerraform = exports.virtualMachineScaleSetExtensionToTerraform = exports.VirtualMachineScaleSetBootDiagnosticsOutputReference = exports.virtualMachineScaleSetBootDiagnosticsToHclTerraform = exports.virtualMachineScaleSetBootDiagnosticsToTerraform = void 0; exports.VirtualMachineScaleSet = exports.VirtualMachineScaleSetTimeoutsOutputReference = exports.virtualMachineScaleSetTimeoutsToHclTerraform = exports.virtualMachineScaleSetTimeoutsToTerraform = exports.VirtualMachineScaleSetStorageProfileOsDiskOutputReference = exports.virtualMachineScaleSetStorageProfileOsDiskToHclTerraform = exports.virtualMachineScaleSetStorageProfileOsDiskToTerraform = exports.VirtualMachineScaleSetStorageProfileImageReferenceOutputReference = exports.virtualMachineScaleSetStorageProfileImageReferenceToHclTerraform = exports.virtualMachineScaleSetStorageProfileImageReferenceToTerraform = exports.VirtualMachineScaleSetStorageProfileDataDiskList = exports.VirtualMachineScaleSetStorageProfileDataDiskOutputReference = exports.virtualMachineScaleSetStorageProfileDataDiskToHclTerraform = exports.virtualMachineScaleSetStorageProfileDataDiskToTerraform = exports.VirtualMachineScaleSetSkuOutputReference = exports.virtualMachineScaleSetSkuToHclTerraform = exports.virtualMachineScaleSetSkuToTerraform = exports.VirtualMachineScaleSetRollingUpgradePolicyOutputReference = exports.virtualMachineScaleSetRollingUpgradePolicyToHclTerraform = exports.virtualMachineScaleSetRollingUpgradePolicyToTerraform = exports.VirtualMachineScaleSetPlanOutputReference = exports.virtualMachineScaleSetPlanToHclTerraform = exports.virtualMachineScaleSetPlanToTerraform = exports.VirtualMachineScaleSetOsProfileWindowsConfigOutputReference = exports.virtualMachineScaleSetOsProfileWindowsConfigToHclTerraform = exports.virtualMachineScaleSetOsProfileWindowsConfigToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function virtualMachineScaleSetBootDiagnosticsToTerraform(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 { enabled: cdktf.booleanToTerraform(struct.enabled), storage_uri: cdktf.stringToTerraform(struct.storageUri), }; } exports.virtualMachineScaleSetBootDiagnosticsToTerraform = virtualMachineScaleSetBootDiagnosticsToTerraform; function virtualMachineScaleSetBootDiagnosticsToHclTerraform(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 = { enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, storage_uri: { value: cdktf.stringToHclTerraform(struct.storageUri), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.virtualMachineScaleSetBootDiagnosticsToHclTerraform = virtualMachineScaleSetBootDiagnosticsToHclTerraform; class VirtualMachineScaleSetBootDiagnosticsOutputReference 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._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } if (this._storageUri !== undefined) { hasAnyValues = true; internalValueResult.storageUri = this._storageUri; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._enabled = undefined; this._storageUri = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._enabled = value.enabled; this._storageUri = value.storageUri; } } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } resetEnabled() { this._enabled = undefined; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } get storageUri() { return this.getStringAttribute('storage_uri'); } set storageUri(value) { this._storageUri = value; } // Temporarily expose input value. Use with caution. get storageUriInput() { return this._storageUri; } } exports.VirtualMachineScaleSetBootDiagnosticsOutputReference = VirtualMachineScaleSetBootDiagnosticsOutputReference; _a = JSII_RTTI_SYMBOL_1; VirtualMachineScaleSetBootDiagnosticsOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.virtualMachineScaleSet.VirtualMachineScaleSetBootDiagnosticsOutputReference", version: "12.27.0" }; function virtualMachineScaleSetExtensionToTerraform(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), 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), }; } exports.virtualMachineScaleSetExtensionToTerraform = virtualMachineScaleSetExtensionToTerraform; function virtualMachineScaleSetExtensionToHclTerraform(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", }, 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: "set", 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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.virtualMachineScaleSetExtensionToHclTerraform = virtualMachineScaleSetExtensionToHclTerraform; class VirtualMachineScaleSetExtensionOutputReference 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._autoUpgradeMinorVersion !== undefined) { hasAnyValues = true; internalValueResult.autoUpgradeMinorVersion = this._autoUpgradeMinorVersion; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._protectedSettings !== undefined) { hasAnyValues = true; internalValueResult.protectedSettings = this._protectedSettings; } if (this._provisionAfterExtensions !== undefined) { hasAnyValues = true; internalValueResult.provisionAfterExtensions = this._provisionAfterExtensions; } if (this._publisher !== undefined) { hasAnyValues = true; internalValueResult.publisher = this._publisher; } if (this._settings !== undefined) { hasAnyValues = true; internalValueResult.settings = this._settings; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._typeHandlerVersion !== undefined) { hasAnyValues = true; internalValueResult.typeHandlerVersion = this._typeHandlerVersion; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._autoUpgradeMinorVersion = undefined; this._name = undefined; this._protectedSettings = undefined; this._provisionAfterExtensions = undefined; this._publisher = undefined; this._settings = undefined; this._type = undefined; this._typeHandlerVersion = 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._autoUpgradeMinorVersion = value.autoUpgradeMinorVersion; this._name = value.name; this._protectedSettings = value.protectedSettings; this._provisionAfterExtensions = value.provisionAfterExtensions; this._publisher = value.publisher; this._settings = value.settings; this._type = value.type; this._typeHandlerVersion = value.typeHandlerVersion; } } get autoUpgradeMinorVersion() { return this.getBooleanAttribute('auto_upgrade_minor_version'); } set autoUpgradeMinorVersion(value) { this._autoUpgradeMinorVersion = value; } resetAutoUpgradeMinorVersion() { this._autoUpgradeMinorVersion = undefined; } // Temporarily expose input value. Use with caution. get autoUpgradeMinorVersionInput() { return this._autoUpgradeMinorVersion; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get protectedSettings() { return this.getStringAttribute('protected_settings'); } set protectedSettings(value) { this._protectedSettings = value; } resetProtectedSettings() { this._protectedSettings = undefined; } // Temporarily expose input value. Use with caution. get protectedSettingsInput() { return this._protectedSettings; } get provisionAfterExtensions() { return cdktf.Fn.tolist(this.getListAttribute('provision_after_extensions')); } set provisionAfterExtensions(value) { this._provisionAfterExtensions = value; } resetProvisionAfterExtensions() { this._provisionAfterExtensions = undefined; } // Temporarily expose input value. Use with caution. get provisionAfterExtensionsInput() { return this._provisionAfterExtensions; } get publisher() { return this.getStringAttribute('publisher'); } set publisher(value) { this._publisher = value; } // Temporarily expose input value. Use with caution. get publisherInput() { return this._publisher; } get settings() { return this.getStringAttribute('settings'); } set settings(value) { this._settings = value; } resetSettings() { this._settings = undefined; } // Temporarily expose input value. Use with caution. get settingsInput() { return this._settings; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get typeHandlerVersion() { return this.getStringAttribute('type_handler_version'); } set typeHandlerVersion(value) { this._typeHandlerVersion = value; } // Temporarily expose input value. Use with caution. get typeHandlerVersionInput() { return this._typeHandlerVersion; } } exports.VirtualMachineScaleSetExtensionOutputReference = VirtualMachineScaleSetExtensionOutputReference; _b = JSII_RTTI_SYMBOL_1; VirtualMachineScaleSetExtensionOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.virtualMachineScaleSet.VirtualMachineScaleSetExtensionOutputReference", version: "12.27.0" }; class VirtualMachineScaleSetExtensionList 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 VirtualMachineScaleSetExtensionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VirtualMachineScaleSetExtensionList = VirtualMachineScaleSetExtensionList; _c = JSII_RTTI_SYMBOL_1; VirtualMachineScaleSetExtensionList[_c] = { fqn: "@cdktf/provider-azurerm.virtualMachineScaleSet.VirtualMachineScaleSetExtensionList", version: "12.27.0" }; function virtualMachineScaleSetIdentityToTerraform(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 { identity_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identityIds), type: cdktf.stringToTerraform(struct.type), }; } exports.virtualMachineScaleSetIdentityToTerraform = virtualMachineScaleSetIdentityToTerraform; function virtualMachineScaleSetIdentityToHclTerraform(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 = { identity_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identityIds), isBlock: false, type: "set", storageClassType: "stringList", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.virtualMachineScaleSetIdentityToHclTerraform = virtualMachineScaleSetIdentityToHclTerraform; class VirtualMachineScaleSetIdentityOutputReference 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._identityIds !== undefined) { hasAnyValues = true; internalValueResult.identityIds = this._identityIds; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._identityIds = undefined; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._identityIds = value.identityIds; this._type = value.type; } } get identityIds() { return cdktf.Fn.tolist(this.getListAttribute('identity_ids')); } set identityIds(value) { this._identityIds = value; } resetIdentityIds() { this._identityIds = undefined; } // Temporarily expose input value. Use with caution. get identityIdsInput() { return this._identityIds; } // principal_id - computed: true, optional: false, required: false get principalId() { return this.getStringAttribute('principal_id'); } // tenant_id - computed: true, optional: false, required: false get tenantId() { return this.getStringAttribute('tenant_id'); } 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.VirtualMachineScaleSetIdentityOutputReference = VirtualMachineScaleSetIdentityOutputReference; _d = JSII_RTTI_SYMBOL_1; VirtualMachineScaleSetIdentityOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.virtualMachineScaleSet.VirtualMachineScaleSetIdentityOutputReference", version: "12.27.0" }; function virtualMachineScaleSetNetworkProfileDnsSettingsToTerraform(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 { dns_servers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.dnsServers), }; } exports.virtualMachineScaleSetNetworkProfileDnsSettingsToTerraform = virtualMachineScaleSetNetworkProfileDnsSettingsToTerraform; function virtualMachineScaleSetNetworkProfileDnsSettingsToHclTerraform(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 = { dns_servers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.dnsServers), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.virtualMachineScaleSetNetworkProfileDnsSettingsToHclTerraform = virtualMachineScaleSetNetworkProfileDnsSettingsToHclTerraform; class VirtualMachineScaleSetNetworkProfileDnsSettingsOutputReference 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._dnsServers !== undefined) { hasAnyValues = true; internalValueResult.dnsServers = this._dnsServers; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dnsServers = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dnsServers = value.dnsServers; } } get dnsServers() { return this.getListAttribute('dns_servers'); } set dnsServers(value) { this._dnsServers = value; } // Temporarily expose input value. Use with caution. get dnsServersInput() { return this._dnsServers; } } exports.VirtualMachineScaleSetNetworkProfileDnsSettingsOutputReference = VirtualMachineScaleSetNetworkProfileDnsSettingsOutputReference; _e = JSII_RTTI_SYMBOL_1; VirtualMachineScaleSetNetworkProfileDnsSettingsOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.virtualMachineScaleSet.VirtualMachineScaleSetNetworkProfileDnsSettingsOutputReference", version: "12.27.0" }; function virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToTerraform(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_name_label: cdktf.stringToTerraform(struct.domainNameLabel), idle_timeout: cdktf.numberToTerraform(struct.idleTimeout), name: cdktf.stringToTerraform(struct.name), }; } exports.virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToTerraform = virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToTerraform; function virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToHclTerraform(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_name_label: { value: cdktf.stringToHclTerraform(struct.domainNameLabel), isBlock: false, type: "simple", storageClassType: "string", }, idle_timeout: { value: cdktf.numberToHclTerraform(struct.idleTimeout), isBlock: false, type: "simple", storageClassType: "number", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToHclTerraform = virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToHclTerraform; class VirtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationOutputReference 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._domainNameLabel !== undefined) { hasAnyValues = true; internalValueResult.domainNameLabel = this._domainNameLabel; } if (this._idleTimeout !== undefined) { hasAnyValues = true; internalValueResult.idleTimeout = this._idleTimeout; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._domainNameLabel = undefined; this._idleTimeout = undefined; this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._domainNameLabel = value.domainNameLabel; this._idleTimeout = value.idleTimeout; this._name = value.name; } } get domainNameLabel() { return this.getStringAttribute('domain_name_label'); } set domainNameLabel(value) { this._domainNameLabel = value; } // Temporarily expose input value. Use with caution. get domainNameLabelInput() { return this._domainNameLabel; } get idleTimeout() { return this.getNumberAttribute('idle_timeout'); } set idleTimeout(value) { this._idleTimeout = value; } // Temporarily expose input value. Use with caution. get idleTimeoutInput() { return this._idleTimeout; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.VirtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationOutputReference = VirtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationOutputReference; _f = JSII_RTTI_SYMBOL_1; VirtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.virtualMachineScaleSet.VirtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationOutputReference", version: "12.27.0" }; function virtualMachineScaleSetNetworkProfileIpConfigurationToTerraform(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 { application_gateway_backend_address_pool_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.applicationGatewayBackendAddressPoolIds), application_security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.applicationSecurityGroupIds), load_balancer_backend_address_pool_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.loadBalancerBackendAddressPoolIds), load_balancer_inbound_nat_rules_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.loadBalancerInboundNatRulesIds), name: cdktf.stringToTerraform(struct.name), primary: cdktf.booleanToTerraform(struct.primary), subnet_id: cdktf.stringToTerraform(struct.subnetId), public_ip_address_configuration: virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToTerraform(struct.publicIpAddressConfiguration), }; } exports.virtualMachineScaleSetNetworkProfileIpConfigurationToTerraform = virtualMachineScaleSetNetworkProfileIpConfigurationToTerraform; function virtualMachineScaleSetNetworkProfileIpConfigurationToHclTerraform(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 = { application_gateway_backend_address_pool_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.applicationGatewayBackendAddressPoolIds), isBlock: false, type: "set", storageClassType: "stringList", }, application_security_group_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.applicationSecurityGroupIds), isBlock: false, type: "set", storageClassType: "stringList", }, load_balancer_backend_address_pool_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.loadBalancerBackendAddressPoolIds), isBlock: false, type: "set", storageClassType: "stringList", }, load_balancer_inbound_nat_rules_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.loadBalancerInboundNatRulesIds), isBlock: false, type: "set", storageClassType: "stringList", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, primary: { value: cdktf.booleanToHclTerraform(struct.primary), isBlock: false, type: "simple", storageClassType: "boolean", }, subnet_id: { value: cdktf.stringToHclTerraform(struct.subnetId), isBlock: false, type: "simple", storageClassType: "string", }, public_ip_address_configuration: { value: virtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationToHclTerraform(struct.publicIpAddressConfiguration), isBlock: true, type: "list", storageClassType: "VirtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.virtualMachineScaleSetNetworkProfileIpConfigurationToHclTerraform = virtualMachineScaleSetNetworkProfileIpConfigurationToHclTerraform; class VirtualMachineScaleSetNetworkProfileIpConfigurationOutputReference 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; // public_ip_address_configuration - computed: false, optional: true, required: false this._publicIpAddressConfiguration = new VirtualMachineScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationOutputReference(this, "public_ip_address_configuration"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._applicationGatewayBackendAddressPoolIds !== undefined) { hasAnyValues = true; internalValueResult.applicationGatewayBackendAddressPoolIds = this._applicationGatewayBackendAddressPoolIds; } if (this._applicationSecurityGroupIds !== undefined) { hasAnyValues = true; internalValueResult.applicationSecurityGroupIds = this._applicationSecurityGroupIds; } if (this._loadBalancerBackendAddressPoolIds !== undefined) { hasAnyValues = true; internalValueResult.loadBalancerBackendAddressPoolIds = this._loadBalancerBackendAddressPoolIds; } if (this._loadBalancerInboundNatRulesIds !== undefined) { hasAnyValues = true; internalValueResult.loadBalancerInboundNatRulesIds = this._loadBalancerInboundNatRulesIds; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._primary !== undefined) { hasAnyValues = true; internalValueResult.primary = this._primary; } if (this._subnetId !== undefined) { hasAnyValues = true; internalValueResult.subnetId = this._subnetId; } if (this._publicIpAddressConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.publicIpAddressConfiguration = this._publicIpAddressConfiguration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._applicationGatewayBackendAddressPoolIds = undefined; this._applicationSecurityGroupIds = undefined; this._loadBalancerBackendAddressPoolIds = undefined; this._loadBalancerInboundNatRulesIds = undefined; this._name = undefined; this._primary = undefined; this._subnetId = undefined; this._publicIpAddressConfiguration.internalValue = 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._applicationGatewayBackendAddressPoolIds = value.applicationGatewayBackendAddressPoolIds; this._applicationSecurityGroupIds = value.applicationSecurityGroupIds; this._loadBalancerBackendAddressPoolIds = value.loadBalancerBackendAddressPoolIds; this._loadBalancerInboundNatRulesIds = value.loadBalancerInboundNatRulesIds; this._name = value.name; this._primary = value.primary; this._subnetId = value.subnetId; this._publicIpAddressConfiguration.internalValue = value.publicIpAddressConfiguration; } } get applicationGatewayBackendAddressPoolIds() { return cdktf.Fn.tolist(this.getListAttribute('application_gateway_backend_address_pool_ids')); } set applicationGatewayBackendAddressPoolIds(value) { this._applicationGatewayBackendAddressPoolIds = value; } resetApplicationGatewayBackendAddressPoolIds() { this._applicationGatewayBackendAddressPoolIds = undefined; } // Temporarily expose input value. Use with caution. get applicationGatewayBackendAddressPoolIdsInput() { return this._applicationGatewayBackendAddressPoolIds; } get applicationSecurityGroupIds() { return cdktf.Fn.tolist(this.getListAttribute('application_security_group_ids')); } set applicationSecurityGroupIds(value) { this._applicationSecurityGroupIds = value; } resetApplicationSecurityGroupIds() { this._applicationSecurityGroupIds = undefined; } // Temporarily expose input value. Use with caution. get applicationSecurityGroupIdsInput() { return this._applicationSecurityGroupIds; } get loadBalancerBackendAddressPoolIds() { return cdktf.Fn.tolist(this.getListAttribute('load_balancer_backend_address_pool_ids')); } set loadBalancerBackendAddressPoolIds(value) { this._loadBalancerBackendAddressPoolIds = value; } resetLoadBalancerBackendAddressPoolIds() { this._loadBalancerBackendAddressPoolIds = undefined; } // Temporarily expose input value. Use with caution. get loadBalancerBackendAddressPoolIdsInput() { return this._loadBalancerBackendAddressPoolIds; } get loadBalancerInboundNatRulesIds() { return cdktf.Fn.tolist(this.getListAttribute('load_balancer_inbound_nat_rules_ids')); } set loadBalancerInboundNatRulesIds(value) { this._loadBalancerInboundNatRulesIds = value; } resetLoadBalancerInboundNatRulesIds() { this._loadBalancerInboundNatRulesIds = undefined; } // Temporarily expose input value. Use with caution. get loadBalancerInboundNatRulesIdsInput() { return this._loadBalancerInboundNatRulesIds; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get primary() { return this.getBooleanAttribute('primary'); } set primary(value) { this._primary = value; } // Temporarily expose input value. Use with caution. get primaryInput() { return this._primary; } get subnetId() { return this.getStringAttribute('subnet_id'); } set subnetId(value) { this._subnetId = value; } // Temporarily expose input value. Use with caution. get subnetIdInput() { return this._subnetId; } get publicIpAddressConfiguration() { return this._publicIpAddressConfiguration; } putPublicIpAddressConfiguration(value) { this._publicIpAddressConfiguration.internalValue = value; } resetPublicIpAddressConfiguration() { this._publicIpAddressConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get publicIpAddressConfigurationInput() { return this._publicIpAddressConfiguration.internalValue; } } exports.VirtualMachineScaleSetNetworkProfileIpConfigurationOutputReference = VirtualMachineScaleSetNetworkProfileIpConfigurationOutputReference; _g = JSII_RTTI_SYMBOL_1; VirtualMachineScaleSetNetworkProfileIpConfigurationOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.virtualMachineScaleSet.VirtualMachineScaleSetNetworkProfileIpConfigurationOutputReference", version: "12.27.0" }; class VirtualMachineScaleSetNetworkProfileIpConfigurationList 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 VirtualMachineScaleSetNetworkProfileIpConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VirtualMachineScaleSetNetworkProfileIpConfigurationList = VirtualMachineScaleSetNetworkProfileIpConfigurationList; _h = JSII_RTTI_SYMBOL_1; VirtualMachineScaleSetNetworkProfileIpConfigurationList[_h] = { fqn: "@cdktf/provider-azurerm.virtualMachineScaleSet.VirtualMachineScaleSetNetworkProfileIpConfigurationList", version: "12.27.0" }; function virtualMachineScaleSetNetworkProfileToTerraform(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 { accelerated_networking: cdktf.booleanToTerraform(struct.acceleratedNetworking), ip_forwarding: cdktf.booleanToTerraform(struct.ipForwarding), name: cdktf.stringToTerraform(struct.name), network_security_group_id: cdktf.stringToTerraform(struct.networkSecurityGroupId), primary: cdktf.booleanToTerraform(struct.primary), dns_settings: virtualMachineScaleSetNetworkProfileDnsSettingsToTerraform(struct.dnsSettings), ip_configuration: cdktf.listMapper(virtualMachineScaleSetNetworkProfileIpConfigurationToTerraform, true)(struct.ipConfiguration), }; } exports.virtualMachineScaleSetNetworkProfileToTerraform = virtualMachineScaleSetNetworkProfileToTerraform; function virtualMachineScaleSetNetworkProfileToHclTerraform(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 = { accelerated_networking: { value: cdktf.booleanToHclTerraform(struct.acceleratedNetworking), isBlock: false, type: "simple", storageClassType: "boolean", }, ip_forwarding: { value: cdktf.booleanToHclTerraform(struct.ipForwarding), isBlock: false, type: "simple", storageClassType: "boolean", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, network_security_group_id: { value: cdktf.stringToHclTerraform(struct.networkSecurityGroupId), isBlock: false, type: "simple", storageClassType: "string", }, primary: { value: cdktf.booleanToHclTerraform(struct.primary), isBlock: false, type: "simple", storageClassType: "boolean", }, dns_settings: { value: virtualMachineScaleSetNetworkProfileDnsSettingsToHclTerraform(struct.dnsSettings), isBlock: true, type: "list", storageClassType: "VirtualMachineScaleSetNetworkProfileDnsSettingsList", }, ip_configuration: { value: cdktf.listMapperHcl(virtualMachineScaleSetNetworkProfileIpConfigurationToHclTerraform, true)(struct.ipConfiguration), isBlock: true, type: "list", storageClassType: "VirtualMachineScaleSetNetworkProfileIpConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.virtualMachineScaleSetNetworkProfileToHclTerraform = virtualMachineScaleSetNetworkProfileToHclTerraform; class VirtualMachineScaleSetNetworkProfileOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referen