@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
913 lines (912 loc) • 1.16 MB
JavaScript
"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;