UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

913 lines (912 loc) 1.16 MB
"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, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45; Object.defineProperty(exports, "__esModule", { value: true }); exports.applicationGatewayHttpListenerToTerraform = exports.ApplicationGatewayHttpListenerCustomErrorConfigurationList = exports.ApplicationGatewayHttpListenerCustomErrorConfigurationOutputReference = exports.applicationGatewayHttpListenerCustomErrorConfigurationToHclTerraform = exports.applicationGatewayHttpListenerCustomErrorConfigurationToTerraform = exports.ApplicationGatewayGlobalOutputReference = exports.applicationGatewayGlobalToHclTerraform = exports.applicationGatewayGlobalToTerraform = exports.ApplicationGatewayGatewayIpConfigurationList = exports.ApplicationGatewayGatewayIpConfigurationOutputReference = exports.applicationGatewayGatewayIpConfigurationToHclTerraform = exports.applicationGatewayGatewayIpConfigurationToTerraform = exports.ApplicationGatewayFrontendPortList = exports.ApplicationGatewayFrontendPortOutputReference = exports.applicationGatewayFrontendPortToHclTerraform = exports.applicationGatewayFrontendPortToTerraform = exports.ApplicationGatewayFrontendIpConfigurationList = exports.ApplicationGatewayFrontendIpConfigurationOutputReference = exports.applicationGatewayFrontendIpConfigurationToHclTerraform = exports.applicationGatewayFrontendIpConfigurationToTerraform = exports.ApplicationGatewayCustomErrorConfigurationList = exports.ApplicationGatewayCustomErrorConfigurationOutputReference = exports.applicationGatewayCustomErrorConfigurationToHclTerraform = exports.applicationGatewayCustomErrorConfigurationToTerraform = exports.ApplicationGatewayBackendHttpSettingsList = exports.ApplicationGatewayBackendHttpSettingsOutputReference = exports.applicationGatewayBackendHttpSettingsToHclTerraform = exports.applicationGatewayBackendHttpSettingsToTerraform = exports.ApplicationGatewayBackendHttpSettingsConnectionDrainingOutputReference = exports.applicationGatewayBackendHttpSettingsConnectionDrainingToHclTerraform = exports.applicationGatewayBackendHttpSettingsConnectionDrainingToTerraform = exports.ApplicationGatewayBackendHttpSettingsAuthenticationCertificateList = exports.ApplicationGatewayBackendHttpSettingsAuthenticationCertificateOutputReference = exports.applicationGatewayBackendHttpSettingsAuthenticationCertificateToHclTerraform = exports.applicationGatewayBackendHttpSettingsAuthenticationCertificateToTerraform = exports.ApplicationGatewayBackendAddressPoolList = exports.ApplicationGatewayBackendAddressPoolOutputReference = exports.applicationGatewayBackendAddressPoolToHclTerraform = exports.applicationGatewayBackendAddressPoolToTerraform = exports.ApplicationGatewayAutoscaleConfigurationOutputReference = exports.applicationGatewayAutoscaleConfigurationToHclTerraform = exports.applicationGatewayAutoscaleConfigurationToTerraform = exports.ApplicationGatewayAuthenticationCertificateList = exports.ApplicationGatewayAuthenticationCertificateOutputReference = exports.applicationGatewayAuthenticationCertificateToHclTerraform = exports.applicationGatewayAuthenticationCertificateToTerraform = exports.ApplicationGatewayPrivateEndpointConnectionList = exports.ApplicationGatewayPrivateEndpointConnectionOutputReference = exports.applicationGatewayPrivateEndpointConnectionToHclTerraform = exports.applicationGatewayPrivateEndpointConnectionToTerraform = void 0; exports.applicationGatewayRewriteRuleSetToHclTerraform = exports.applicationGatewayRewriteRuleSetToTerraform = exports.ApplicationGatewayRewriteRuleSetRewriteRuleList = exports.ApplicationGatewayRewriteRuleSetRewriteRuleOutputReference = exports.applicationGatewayRewriteRuleSetRewriteRuleToHclTerraform = exports.applicationGatewayRewriteRuleSetRewriteRuleToTerraform = exports.ApplicationGatewayRewriteRuleSetRewriteRuleUrlOutputReference = exports.applicationGatewayRewriteRuleSetRewriteRuleUrlToHclTerraform = exports.applicationGatewayRewriteRuleSetRewriteRuleUrlToTerraform = exports.ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfigurationList = exports.ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfigurationOutputReference = exports.applicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfigurationToHclTerraform = exports.applicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfigurationToTerraform = exports.ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfigurationList = exports.ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfigurationOutputReference = exports.applicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfigurationToHclTerraform = exports.applicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfigurationToTerraform = exports.ApplicationGatewayRewriteRuleSetRewriteRuleConditionList = exports.ApplicationGatewayRewriteRuleSetRewriteRuleConditionOutputReference = exports.applicationGatewayRewriteRuleSetRewriteRuleConditionToHclTerraform = exports.applicationGatewayRewriteRuleSetRewriteRuleConditionToTerraform = exports.ApplicationGatewayRequestRoutingRuleList = exports.ApplicationGatewayRequestRoutingRuleOutputReference = exports.applicationGatewayRequestRoutingRuleToHclTerraform = exports.applicationGatewayRequestRoutingRuleToTerraform = exports.ApplicationGatewayRedirectConfigurationList = exports.ApplicationGatewayRedirectConfigurationOutputReference = exports.applicationGatewayRedirectConfigurationToHclTerraform = exports.applicationGatewayRedirectConfigurationToTerraform = exports.ApplicationGatewayProbeList = exports.ApplicationGatewayProbeOutputReference = exports.applicationGatewayProbeToHclTerraform = exports.applicationGatewayProbeToTerraform = exports.ApplicationGatewayProbeMatchOutputReference = exports.applicationGatewayProbeMatchToHclTerraform = exports.applicationGatewayProbeMatchToTerraform = exports.ApplicationGatewayPrivateLinkConfigurationList = exports.ApplicationGatewayPrivateLinkConfigurationOutputReference = exports.applicationGatewayPrivateLinkConfigurationToHclTerraform = exports.applicationGatewayPrivateLinkConfigurationToTerraform = exports.ApplicationGatewayPrivateLinkConfigurationIpConfigurationList = exports.ApplicationGatewayPrivateLinkConfigurationIpConfigurationOutputReference = exports.applicationGatewayPrivateLinkConfigurationIpConfigurationToHclTerraform = exports.applicationGatewayPrivateLinkConfigurationIpConfigurationToTerraform = exports.ApplicationGatewayIdentityOutputReference = exports.applicationGatewayIdentityToHclTerraform = exports.applicationGatewayIdentityToTerraform = exports.ApplicationGatewayHttpListenerList = exports.ApplicationGatewayHttpListenerOutputReference = exports.applicationGatewayHttpListenerToHclTerraform = void 0; exports.ApplicationGateway = exports.ApplicationGatewayWafConfigurationOutputReference = exports.applicationGatewayWafConfigurationToHclTerraform = exports.applicationGatewayWafConfigurationToTerraform = exports.ApplicationGatewayWafConfigurationExclusionList = exports.ApplicationGatewayWafConfigurationExclusionOutputReference = exports.applicationGatewayWafConfigurationExclusionToHclTerraform = exports.applicationGatewayWafConfigurationExclusionToTerraform = exports.ApplicationGatewayWafConfigurationDisabledRuleGroupList = exports.ApplicationGatewayWafConfigurationDisabledRuleGroupOutputReference = exports.applicationGatewayWafConfigurationDisabledRuleGroupToHclTerraform = exports.applicationGatewayWafConfigurationDisabledRuleGroupToTerraform = exports.ApplicationGatewayUrlPathMapList = exports.ApplicationGatewayUrlPathMapOutputReference = exports.applicationGatewayUrlPathMapToHclTerraform = exports.applicationGatewayUrlPathMapToTerraform = exports.ApplicationGatewayUrlPathMapPathRuleList = exports.ApplicationGatewayUrlPathMapPathRuleOutputReference = exports.applicationGatewayUrlPathMapPathRuleToHclTerraform = exports.applicationGatewayUrlPathMapPathRuleToTerraform = exports.ApplicationGatewayTrustedRootCertificateList = exports.ApplicationGatewayTrustedRootCertificateOutputReference = exports.applicationGatewayTrustedRootCertificateToHclTerraform = exports.applicationGatewayTrustedRootCertificateToTerraform = exports.ApplicationGatewayTrustedClientCertificateList = exports.ApplicationGatewayTrustedClientCertificateOutputReference = exports.applicationGatewayTrustedClientCertificateToHclTerraform = exports.applicationGatewayTrustedClientCertificateToTerraform = exports.ApplicationGatewayTimeoutsOutputReference = exports.applicationGatewayTimeoutsToHclTerraform = exports.applicationGatewayTimeoutsToTerraform = exports.ApplicationGatewaySslProfileList = exports.ApplicationGatewaySslProfileOutputReference = exports.applicationGatewaySslProfileToHclTerraform = exports.applicationGatewaySslProfileToTerraform = exports.ApplicationGatewaySslProfileSslPolicyOutputReference = exports.applicationGatewaySslProfileSslPolicyToHclTerraform = exports.applicationGatewaySslProfileSslPolicyToTerraform = exports.ApplicationGatewaySslPolicyOutputReference = exports.applicationGatewaySslPolicyToHclTerraform = exports.applicationGatewaySslPolicyToTerraform = exports.ApplicationGatewaySslCertificateList = exports.ApplicationGatewaySslCertificateOutputReference = exports.applicationGatewaySslCertificateToHclTerraform = exports.applicationGatewaySslCertificateToTerraform = exports.ApplicationGatewaySkuOutputReference = exports.applicationGatewaySkuToHclTerraform = exports.applicationGatewaySkuToTerraform = exports.ApplicationGatewayRewriteRuleSetList = exports.ApplicationGatewayRewriteRuleSetOutputReference = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function applicationGatewayPrivateEndpointConnectionToTerraform(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 {}; } exports.applicationGatewayPrivateEndpointConnectionToTerraform = applicationGatewayPrivateEndpointConnectionToTerraform; function applicationGatewayPrivateEndpointConnectionToHclTerraform(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 = {}; return attrs; } exports.applicationGatewayPrivateEndpointConnectionToHclTerraform = applicationGatewayPrivateEndpointConnectionToHclTerraform; class ApplicationGatewayPrivateEndpointConnectionOutputReference 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() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } // name - computed: true, optional: false, required: false get name() { return this.getStringAttribute('name'); } } exports.ApplicationGatewayPrivateEndpointConnectionOutputReference = ApplicationGatewayPrivateEndpointConnectionOutputReference; _a = JSII_RTTI_SYMBOL_1; ApplicationGatewayPrivateEndpointConnectionOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayPrivateEndpointConnectionOutputReference", version: "12.27.0" }; class ApplicationGatewayPrivateEndpointConnectionList 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 ApplicationGatewayPrivateEndpointConnectionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ApplicationGatewayPrivateEndpointConnectionList = ApplicationGatewayPrivateEndpointConnectionList; _b = JSII_RTTI_SYMBOL_1; ApplicationGatewayPrivateEndpointConnectionList[_b] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayPrivateEndpointConnectionList", version: "12.27.0" }; function applicationGatewayAuthenticationCertificateToTerraform(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 { data: cdktf.stringToTerraform(struct.data), name: cdktf.stringToTerraform(struct.name), }; } exports.applicationGatewayAuthenticationCertificateToTerraform = applicationGatewayAuthenticationCertificateToTerraform; function applicationGatewayAuthenticationCertificateToHclTerraform(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 = { data: { value: cdktf.stringToHclTerraform(struct.data), isBlock: false, type: "simple", storageClassType: "string", }, 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.applicationGatewayAuthenticationCertificateToHclTerraform = applicationGatewayAuthenticationCertificateToHclTerraform; class ApplicationGatewayAuthenticationCertificateOutputReference 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._data !== undefined) { hasAnyValues = true; internalValueResult.data = this._data; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._data = undefined; this._name = 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._data = value.data; this._name = value.name; } } get data() { return this.getStringAttribute('data'); } set data(value) { this._data = value; } // Temporarily expose input value. Use with caution. get dataInput() { return this._data; } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.ApplicationGatewayAuthenticationCertificateOutputReference = ApplicationGatewayAuthenticationCertificateOutputReference; _c = JSII_RTTI_SYMBOL_1; ApplicationGatewayAuthenticationCertificateOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayAuthenticationCertificateOutputReference", version: "12.27.0" }; class ApplicationGatewayAuthenticationCertificateList 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 ApplicationGatewayAuthenticationCertificateOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ApplicationGatewayAuthenticationCertificateList = ApplicationGatewayAuthenticationCertificateList; _d = JSII_RTTI_SYMBOL_1; ApplicationGatewayAuthenticationCertificateList[_d] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayAuthenticationCertificateList", version: "12.27.0" }; function applicationGatewayAutoscaleConfigurationToTerraform(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 { max_capacity: cdktf.numberToTerraform(struct.maxCapacity), min_capacity: cdktf.numberToTerraform(struct.minCapacity), }; } exports.applicationGatewayAutoscaleConfigurationToTerraform = applicationGatewayAutoscaleConfigurationToTerraform; function applicationGatewayAutoscaleConfigurationToHclTerraform(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 = { max_capacity: { value: cdktf.numberToHclTerraform(struct.maxCapacity), isBlock: false, type: "simple", storageClassType: "number", }, min_capacity: { value: cdktf.numberToHclTerraform(struct.minCapacity), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.applicationGatewayAutoscaleConfigurationToHclTerraform = applicationGatewayAutoscaleConfigurationToHclTerraform; class ApplicationGatewayAutoscaleConfigurationOutputReference 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._maxCapacity !== undefined) { hasAnyValues = true; internalValueResult.maxCapacity = this._maxCapacity; } if (this._minCapacity !== undefined) { hasAnyValues = true; internalValueResult.minCapacity = this._minCapacity; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxCapacity = undefined; this._minCapacity = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxCapacity = value.maxCapacity; this._minCapacity = value.minCapacity; } } get maxCapacity() { return this.getNumberAttribute('max_capacity'); } set maxCapacity(value) { this._maxCapacity = value; } resetMaxCapacity() { this._maxCapacity = undefined; } // Temporarily expose input value. Use with caution. get maxCapacityInput() { return this._maxCapacity; } get minCapacity() { return this.getNumberAttribute('min_capacity'); } set minCapacity(value) { this._minCapacity = value; } // Temporarily expose input value. Use with caution. get minCapacityInput() { return this._minCapacity; } } exports.ApplicationGatewayAutoscaleConfigurationOutputReference = ApplicationGatewayAutoscaleConfigurationOutputReference; _e = JSII_RTTI_SYMBOL_1; ApplicationGatewayAutoscaleConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayAutoscaleConfigurationOutputReference", version: "12.27.0" }; function applicationGatewayBackendAddressPoolToTerraform(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 { fqdns: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.fqdns), ip_addresses: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ipAddresses), name: cdktf.stringToTerraform(struct.name), }; } exports.applicationGatewayBackendAddressPoolToTerraform = applicationGatewayBackendAddressPoolToTerraform; function applicationGatewayBackendAddressPoolToHclTerraform(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 = { fqdns: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.fqdns), isBlock: false, type: "set", storageClassType: "stringList", }, ip_addresses: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ipAddresses), isBlock: false, type: "set", storageClassType: "stringList", }, 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.applicationGatewayBackendAddressPoolToHclTerraform = applicationGatewayBackendAddressPoolToHclTerraform; class ApplicationGatewayBackendAddressPoolOutputReference 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._fqdns !== undefined) { hasAnyValues = true; internalValueResult.fqdns = this._fqdns; } if (this._ipAddresses !== undefined) { hasAnyValues = true; internalValueResult.ipAddresses = this._ipAddresses; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._fqdns = undefined; this._ipAddresses = undefined; this._name = 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._fqdns = value.fqdns; this._ipAddresses = value.ipAddresses; this._name = value.name; } } get fqdns() { return cdktf.Fn.tolist(this.getListAttribute('fqdns')); } set fqdns(value) { this._fqdns = value; } resetFqdns() { this._fqdns = undefined; } // Temporarily expose input value. Use with caution. get fqdnsInput() { return this._fqdns; } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } get ipAddresses() { return cdktf.Fn.tolist(this.getListAttribute('ip_addresses')); } set ipAddresses(value) { this._ipAddresses = value; } resetIpAddresses() { this._ipAddresses = undefined; } // Temporarily expose input value. Use with caution. get ipAddressesInput() { return this._ipAddresses; } 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.ApplicationGatewayBackendAddressPoolOutputReference = ApplicationGatewayBackendAddressPoolOutputReference; _f = JSII_RTTI_SYMBOL_1; ApplicationGatewayBackendAddressPoolOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayBackendAddressPoolOutputReference", version: "12.27.0" }; class ApplicationGatewayBackendAddressPoolList 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 ApplicationGatewayBackendAddressPoolOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ApplicationGatewayBackendAddressPoolList = ApplicationGatewayBackendAddressPoolList; _g = JSII_RTTI_SYMBOL_1; ApplicationGatewayBackendAddressPoolList[_g] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayBackendAddressPoolList", version: "12.27.0" }; function applicationGatewayBackendHttpSettingsAuthenticationCertificateToTerraform(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 { name: cdktf.stringToTerraform(struct.name), }; } exports.applicationGatewayBackendHttpSettingsAuthenticationCertificateToTerraform = applicationGatewayBackendHttpSettingsAuthenticationCertificateToTerraform; function applicationGatewayBackendHttpSettingsAuthenticationCertificateToHclTerraform(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 = { 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.applicationGatewayBackendHttpSettingsAuthenticationCertificateToHclTerraform = applicationGatewayBackendHttpSettingsAuthenticationCertificateToHclTerraform; class ApplicationGatewayBackendHttpSettingsAuthenticationCertificateOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = 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._name = value.name; } } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.ApplicationGatewayBackendHttpSettingsAuthenticationCertificateOutputReference = ApplicationGatewayBackendHttpSettingsAuthenticationCertificateOutputReference; _h = JSII_RTTI_SYMBOL_1; ApplicationGatewayBackendHttpSettingsAuthenticationCertificateOutputReference[_h] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayBackendHttpSettingsAuthenticationCertificateOutputReference", version: "12.27.0" }; class ApplicationGatewayBackendHttpSettingsAuthenticationCertificateList 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 ApplicationGatewayBackendHttpSettingsAuthenticationCertificateOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ApplicationGatewayBackendHttpSettingsAuthenticationCertificateList = ApplicationGatewayBackendHttpSettingsAuthenticationCertificateList; _j = JSII_RTTI_SYMBOL_1; ApplicationGatewayBackendHttpSettingsAuthenticationCertificateList[_j] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayBackendHttpSettingsAuthenticationCertificateList", version: "12.27.0" }; function applicationGatewayBackendHttpSettingsConnectionDrainingToTerraform(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 { drain_timeout_sec: cdktf.numberToTerraform(struct.drainTimeoutSec), enabled: cdktf.booleanToTerraform(struct.enabled), }; } exports.applicationGatewayBackendHttpSettingsConnectionDrainingToTerraform = applicationGatewayBackendHttpSettingsConnectionDrainingToTerraform; function applicationGatewayBackendHttpSettingsConnectionDrainingToHclTerraform(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 = { drain_timeout_sec: { value: cdktf.numberToHclTerraform(struct.drainTimeoutSec), isBlock: false, type: "simple", storageClassType: "number", }, enabled: { value: cdktf.booleanToHclTerraform(struct.enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.applicationGatewayBackendHttpSettingsConnectionDrainingToHclTerraform = applicationGatewayBackendHttpSettingsConnectionDrainingToHclTerraform; class ApplicationGatewayBackendHttpSettingsConnectionDrainingOutputReference 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._drainTimeoutSec !== undefined) { hasAnyValues = true; internalValueResult.drainTimeoutSec = this._drainTimeoutSec; } if (this._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._drainTimeoutSec = undefined; this._enabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._drainTimeoutSec = value.drainTimeoutSec; this._enabled = value.enabled; } } get drainTimeoutSec() { return this.getNumberAttribute('drain_timeout_sec'); } set drainTimeoutSec(value) { this._drainTimeoutSec = value; } // Temporarily expose input value. Use with caution. get drainTimeoutSecInput() { return this._drainTimeoutSec; } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } } exports.ApplicationGatewayBackendHttpSettingsConnectionDrainingOutputReference = ApplicationGatewayBackendHttpSettingsConnectionDrainingOutputReference; _k = JSII_RTTI_SYMBOL_1; ApplicationGatewayBackendHttpSettingsConnectionDrainingOutputReference[_k] = { fqn: "@cdktf/provider-azurerm.applicationGateway.ApplicationGatewayBackendHttpSettingsConnectionDrainingOutputReference", version: "12.27.0" }; function applicationGatewayBackendHttpSettingsToTerraform(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 { affinity_cookie_name: cdktf.stringToTerraform(struct.affinityCookieName), cookie_based_affinity: cdktf.stringToTerraform(struct.cookieBasedAffinity), host_name: cdktf.stringToTerraform(struct.hostName), name: cdktf.stringToTerraform(struct.name), path: cdktf.stringToTerraform(struct.path), pick_host_name_from_backend_address: cdktf.booleanToTerraform(struct.pickHostNameFromBackendAddress), port: cdktf.numberToTerraform(struct.port), probe_name: cdktf.stringToTerraform(struct.probeName), protocol: cdktf.stringToTerraform(struct.protocol), request_timeout: cdktf.numberToTerraform(struct.requestTimeout), trusted_root_certificate_names: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.trustedRootCertificateNames), authentication_certificate: cdktf.listMapper(applicationGatewayBackendHttpSettingsAuthenticationCertificateToTerraform, true)(struct.authenticationCertificate), connection_draining: applicationGatewayBackendHttpSettingsConnectionDrainingToTerraform(struct.connectionDraining), }; } exports.applicationGatewayBackendHttpSettingsToTerraform = applicationGatewayBackendHttpSettingsToTerraform; function applicationGatewayBackendHttpSettingsToHclTerraform(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 = { affinity_cookie_name: { value: cdktf.stringToHclTerraform(struct.affinityCookieName), isBlock: false, type: "simple", storageClassType: "string", }, cookie_based_affinity: { value: cdktf.stringToHclTerraform(struct.cookieBasedAffinity), isBlock: false, type: "simple", storageClassType: "string", }, host_name: { value: cdktf.stringToHclTerraform(struct.hostName), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, path: { value: cdktf.stringToHclTerraform(struct.path), isBlock: false, type: "simple", storageClassType: "string", }, pick_host_name_from_backend_address: { value: cdktf.booleanToHclTerraform(struct.pickHostNameFromBackendAddress), isBlock: false, type: "simple", storageClassType: "boolean", }, port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, probe_name: { value: cdktf.stringToHclTerraform(struct.probeName), isBlock: false, type: "simple", storageClassType: "string", }, protocol: { value: cdktf.stringToHclTerraform(struct.protocol), isBlock: false, type: "simple", storageClassType: "string", }, request_timeout: { value: cdktf.numberToHclTerraform(struct.requestTimeout), isBlock: false, type: "simple", storageClassType: "number", }, trusted_root_certificate_names: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.trustedRootCertificateNames), isBlock: false, type: "list", storageClassType: "stringList", }, authentication_certificate: { value: cdktf.listMapperHcl(applicationGatewayBackendHttpSettingsAuthenticationCertificateToHclTerraform, true)(struct.authenticationCertificate), isBlock: true, type: "list", storageClassType: "ApplicationGatewayBackendHttpSettingsAuthenticationCertificateList", }, connection_draining: { value: applicationGatewayBackendHttpSettingsConnectionDrainingToHclTerraform(struct.connectionDraining), isBlock: true, type: "list", storageClassType: "ApplicationGatewayBackendHttpSettingsConnectionDrainingList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.applicationGatewayBackendHttpSettingsToHclTerraform = applicationGatewayBackendHttpSettingsToHclTerraform; class ApplicationGatewayBackendHttpSettingsOutputReference 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; // authentication_certificate - computed: false, optional: true, required: false this._authenticationCertificate = new ApplicationGatewayBackendHttpSettingsAuthenticationCertificateList(this, "authentication_certificate", false); // connection_draining - computed: false, optional: true, required: false this._connectionDraining = new ApplicationGatewayBackendHttpSettingsConnectionDrainingOutputReference(this, "connection_draining"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._affinityCookieName !== undefined) { hasAnyValues = true; internalValueResult.affinityCookieName = this._affinityCookieName; } if (this._cookieBasedAffinity !== undefined) { hasAnyValues = true; internalValueResult.cookieBasedAffinity = this._cookieBasedAffinity; } if (this._hostName !== undefined) { hasAnyValues = true; internalValueResult.hostName = this._hostName; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._path !== undefined) { hasAnyValues = true; internalValueResult.path = this._path; } if (this._pickHostNameFromBackendAddress !== undefined) { hasAnyValues = true; internalValueResult.pickHostNameFromBackendAddress = this._pickHostNameFromBackendAddress; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._probeName !== undefined) { hasAnyValues = true; internalValueResult.probeName = this._probeName; } if (this._protocol !== undefined) { hasAnyValues = true; internalValueResult.protocol = this._protocol; } if (this._requestTimeout !== undefined) { hasAnyValues = true; internalValueResult.requestTimeout = this._requestTimeout; } if (this._trustedRootCertificateNames !== undefined) { hasAnyValues = true; internalValueResult.trustedRootCertificateNames = this._trustedRootCertificateNames; } if (this._authenticationCertificate?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.authenticationCertificate = this._authenticationCertificate?.internalValue; } if (this._connectionDraining?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.connectionDraining = this._connectionDraining?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._affinityCookieName = undefined; this._cookieBasedAffinity = undefined; this._hostName = undefined; this._name = undefined; this._path = undefined; this._pickHostNameFromBackendAddress = undefined; this._port = undefined; this._probeName = undefined; this._protocol = undefined; this._requestTimeout = undefined; this._trustedRootCertificateNames = undefined; this._authenticationCertificate.internalValue = undefined; this._connectionDraining.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._affinityCookieName = value.affinityCookieName; this._cookieBasedAffinity = value.cookieBasedAffinity; this._hostName = value.hostName; this._name = value.name; this._path = value.path; this._pickHostNameFromBackendAddress = value.pickHostNameFromBackendAddress; this._port = value.port; this._probeName = value.probeName; this._protocol = value.protocol; this._requestTimeout = value.requestTimeout;