UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,145 lines 240 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; Object.defineProperty(exports, "__esModule", { value: true }); exports.VpnGatewayConnection = exports.VpnGatewayConnectionVpnLinkList = exports.VpnGatewayConnectionVpnLinkOutputReference = exports.vpnGatewayConnectionVpnLinkToHclTerraform = exports.vpnGatewayConnectionVpnLinkToTerraform = exports.VpnGatewayConnectionVpnLinkIpsecPolicyList = exports.VpnGatewayConnectionVpnLinkIpsecPolicyOutputReference = exports.vpnGatewayConnectionVpnLinkIpsecPolicyToHclTerraform = exports.vpnGatewayConnectionVpnLinkIpsecPolicyToTerraform = exports.VpnGatewayConnectionVpnLinkCustomBgpAddressList = exports.VpnGatewayConnectionVpnLinkCustomBgpAddressOutputReference = exports.vpnGatewayConnectionVpnLinkCustomBgpAddressToHclTerraform = exports.vpnGatewayConnectionVpnLinkCustomBgpAddressToTerraform = exports.VpnGatewayConnectionTrafficSelectorPolicyList = exports.VpnGatewayConnectionTrafficSelectorPolicyOutputReference = exports.vpnGatewayConnectionTrafficSelectorPolicyToHclTerraform = exports.vpnGatewayConnectionTrafficSelectorPolicyToTerraform = exports.VpnGatewayConnectionTimeoutsOutputReference = exports.vpnGatewayConnectionTimeoutsToHclTerraform = exports.vpnGatewayConnectionTimeoutsToTerraform = exports.VpnGatewayConnectionRoutingOutputReference = exports.vpnGatewayConnectionRoutingToHclTerraform = exports.vpnGatewayConnectionRoutingToTerraform = exports.VpnGatewayConnectionRoutingPropagatedRouteTableOutputReference = exports.vpnGatewayConnectionRoutingPropagatedRouteTableToHclTerraform = exports.vpnGatewayConnectionRoutingPropagatedRouteTableToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function vpnGatewayConnectionRoutingPropagatedRouteTableToTerraform(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 { labels: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.labels), route_table_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.routeTableIds), }; } exports.vpnGatewayConnectionRoutingPropagatedRouteTableToTerraform = vpnGatewayConnectionRoutingPropagatedRouteTableToTerraform; function vpnGatewayConnectionRoutingPropagatedRouteTableToHclTerraform(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 = { labels: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.labels), isBlock: false, type: "set", storageClassType: "stringList", }, route_table_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.routeTableIds), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vpnGatewayConnectionRoutingPropagatedRouteTableToHclTerraform = vpnGatewayConnectionRoutingPropagatedRouteTableToHclTerraform; class VpnGatewayConnectionRoutingPropagatedRouteTableOutputReference 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._labels !== undefined) { hasAnyValues = true; internalValueResult.labels = this._labels; } if (this._routeTableIds !== undefined) { hasAnyValues = true; internalValueResult.routeTableIds = this._routeTableIds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._labels = undefined; this._routeTableIds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._labels = value.labels; this._routeTableIds = value.routeTableIds; } } get labels() { return cdktf.Fn.tolist(this.getListAttribute('labels')); } set labels(value) { this._labels = value; } resetLabels() { this._labels = undefined; } // Temporarily expose input value. Use with caution. get labelsInput() { return this._labels; } get routeTableIds() { return this.getListAttribute('route_table_ids'); } set routeTableIds(value) { this._routeTableIds = value; } // Temporarily expose input value. Use with caution. get routeTableIdsInput() { return this._routeTableIds; } } exports.VpnGatewayConnectionRoutingPropagatedRouteTableOutputReference = VpnGatewayConnectionRoutingPropagatedRouteTableOutputReference; _a = JSII_RTTI_SYMBOL_1; VpnGatewayConnectionRoutingPropagatedRouteTableOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.vpnGatewayConnection.VpnGatewayConnectionRoutingPropagatedRouteTableOutputReference", version: "12.27.0" }; function vpnGatewayConnectionRoutingToTerraform(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 { associated_route_table: cdktf.stringToTerraform(struct.associatedRouteTable), inbound_route_map_id: cdktf.stringToTerraform(struct.inboundRouteMapId), outbound_route_map_id: cdktf.stringToTerraform(struct.outboundRouteMapId), propagated_route_table: vpnGatewayConnectionRoutingPropagatedRouteTableToTerraform(struct.propagatedRouteTable), }; } exports.vpnGatewayConnectionRoutingToTerraform = vpnGatewayConnectionRoutingToTerraform; function vpnGatewayConnectionRoutingToHclTerraform(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 = { associated_route_table: { value: cdktf.stringToHclTerraform(struct.associatedRouteTable), isBlock: false, type: "simple", storageClassType: "string", }, inbound_route_map_id: { value: cdktf.stringToHclTerraform(struct.inboundRouteMapId), isBlock: false, type: "simple", storageClassType: "string", }, outbound_route_map_id: { value: cdktf.stringToHclTerraform(struct.outboundRouteMapId), isBlock: false, type: "simple", storageClassType: "string", }, propagated_route_table: { value: vpnGatewayConnectionRoutingPropagatedRouteTableToHclTerraform(struct.propagatedRouteTable), isBlock: true, type: "list", storageClassType: "VpnGatewayConnectionRoutingPropagatedRouteTableList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vpnGatewayConnectionRoutingToHclTerraform = vpnGatewayConnectionRoutingToHclTerraform; class VpnGatewayConnectionRoutingOutputReference 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; // propagated_route_table - computed: false, optional: true, required: false this._propagatedRouteTable = new VpnGatewayConnectionRoutingPropagatedRouteTableOutputReference(this, "propagated_route_table"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._associatedRouteTable !== undefined) { hasAnyValues = true; internalValueResult.associatedRouteTable = this._associatedRouteTable; } if (this._inboundRouteMapId !== undefined) { hasAnyValues = true; internalValueResult.inboundRouteMapId = this._inboundRouteMapId; } if (this._outboundRouteMapId !== undefined) { hasAnyValues = true; internalValueResult.outboundRouteMapId = this._outboundRouteMapId; } if (this._propagatedRouteTable?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.propagatedRouteTable = this._propagatedRouteTable?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._associatedRouteTable = undefined; this._inboundRouteMapId = undefined; this._outboundRouteMapId = undefined; this._propagatedRouteTable.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._associatedRouteTable = value.associatedRouteTable; this._inboundRouteMapId = value.inboundRouteMapId; this._outboundRouteMapId = value.outboundRouteMapId; this._propagatedRouteTable.internalValue = value.propagatedRouteTable; } } get associatedRouteTable() { return this.getStringAttribute('associated_route_table'); } set associatedRouteTable(value) { this._associatedRouteTable = value; } // Temporarily expose input value. Use with caution. get associatedRouteTableInput() { return this._associatedRouteTable; } get inboundRouteMapId() { return this.getStringAttribute('inbound_route_map_id'); } set inboundRouteMapId(value) { this._inboundRouteMapId = value; } resetInboundRouteMapId() { this._inboundRouteMapId = undefined; } // Temporarily expose input value. Use with caution. get inboundRouteMapIdInput() { return this._inboundRouteMapId; } get outboundRouteMapId() { return this.getStringAttribute('outbound_route_map_id'); } set outboundRouteMapId(value) { this._outboundRouteMapId = value; } resetOutboundRouteMapId() { this._outboundRouteMapId = undefined; } // Temporarily expose input value. Use with caution. get outboundRouteMapIdInput() { return this._outboundRouteMapId; } get propagatedRouteTable() { return this._propagatedRouteTable; } putPropagatedRouteTable(value) { this._propagatedRouteTable.internalValue = value; } resetPropagatedRouteTable() { this._propagatedRouteTable.internalValue = undefined; } // Temporarily expose input value. Use with caution. get propagatedRouteTableInput() { return this._propagatedRouteTable.internalValue; } } exports.VpnGatewayConnectionRoutingOutputReference = VpnGatewayConnectionRoutingOutputReference; _b = JSII_RTTI_SYMBOL_1; VpnGatewayConnectionRoutingOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.vpnGatewayConnection.VpnGatewayConnectionRoutingOutputReference", version: "12.27.0" }; function vpnGatewayConnectionTimeoutsToTerraform(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 { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), read: cdktf.stringToTerraform(struct.read), update: cdktf.stringToTerraform(struct.update), }; } exports.vpnGatewayConnectionTimeoutsToTerraform = vpnGatewayConnectionTimeoutsToTerraform; function vpnGatewayConnectionTimeoutsToHclTerraform(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 = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, read: { value: cdktf.stringToHclTerraform(struct.read), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vpnGatewayConnectionTimeoutsToHclTerraform = vpnGatewayConnectionTimeoutsToHclTerraform; class VpnGatewayConnectionTimeoutsOutputReference 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); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._read !== undefined) { hasAnyValues = true; internalValueResult.read = this._read; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._read = undefined; this._update = 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._create = value.create; this._delete = value.delete; this._read = value.read; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get read() { return this.getStringAttribute('read'); } set read(value) { this._read = value; } resetRead() { this._read = undefined; } // Temporarily expose input value. Use with caution. get readInput() { return this._read; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.VpnGatewayConnectionTimeoutsOutputReference = VpnGatewayConnectionTimeoutsOutputReference; _c = JSII_RTTI_SYMBOL_1; VpnGatewayConnectionTimeoutsOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.vpnGatewayConnection.VpnGatewayConnectionTimeoutsOutputReference", version: "12.27.0" }; function vpnGatewayConnectionTrafficSelectorPolicyToTerraform(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 { local_address_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.localAddressRanges), remote_address_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.remoteAddressRanges), }; } exports.vpnGatewayConnectionTrafficSelectorPolicyToTerraform = vpnGatewayConnectionTrafficSelectorPolicyToTerraform; function vpnGatewayConnectionTrafficSelectorPolicyToHclTerraform(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 = { local_address_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.localAddressRanges), isBlock: false, type: "set", storageClassType: "stringList", }, remote_address_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.remoteAddressRanges), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vpnGatewayConnectionTrafficSelectorPolicyToHclTerraform = vpnGatewayConnectionTrafficSelectorPolicyToHclTerraform; class VpnGatewayConnectionTrafficSelectorPolicyOutputReference 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._localAddressRanges !== undefined) { hasAnyValues = true; internalValueResult.localAddressRanges = this._localAddressRanges; } if (this._remoteAddressRanges !== undefined) { hasAnyValues = true; internalValueResult.remoteAddressRanges = this._remoteAddressRanges; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._localAddressRanges = undefined; this._remoteAddressRanges = 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._localAddressRanges = value.localAddressRanges; this._remoteAddressRanges = value.remoteAddressRanges; } } get localAddressRanges() { return cdktf.Fn.tolist(this.getListAttribute('local_address_ranges')); } set localAddressRanges(value) { this._localAddressRanges = value; } // Temporarily expose input value. Use with caution. get localAddressRangesInput() { return this._localAddressRanges; } get remoteAddressRanges() { return cdktf.Fn.tolist(this.getListAttribute('remote_address_ranges')); } set remoteAddressRanges(value) { this._remoteAddressRanges = value; } // Temporarily expose input value. Use with caution. get remoteAddressRangesInput() { return this._remoteAddressRanges; } } exports.VpnGatewayConnectionTrafficSelectorPolicyOutputReference = VpnGatewayConnectionTrafficSelectorPolicyOutputReference; _d = JSII_RTTI_SYMBOL_1; VpnGatewayConnectionTrafficSelectorPolicyOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.vpnGatewayConnection.VpnGatewayConnectionTrafficSelectorPolicyOutputReference", version: "12.27.0" }; class VpnGatewayConnectionTrafficSelectorPolicyList 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 VpnGatewayConnectionTrafficSelectorPolicyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VpnGatewayConnectionTrafficSelectorPolicyList = VpnGatewayConnectionTrafficSelectorPolicyList; _e = JSII_RTTI_SYMBOL_1; VpnGatewayConnectionTrafficSelectorPolicyList[_e] = { fqn: "@cdktf/provider-azurerm.vpnGatewayConnection.VpnGatewayConnectionTrafficSelectorPolicyList", version: "12.27.0" }; function vpnGatewayConnectionVpnLinkCustomBgpAddressToTerraform(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 { ip_address: cdktf.stringToTerraform(struct.ipAddress), ip_configuration_id: cdktf.stringToTerraform(struct.ipConfigurationId), }; } exports.vpnGatewayConnectionVpnLinkCustomBgpAddressToTerraform = vpnGatewayConnectionVpnLinkCustomBgpAddressToTerraform; function vpnGatewayConnectionVpnLinkCustomBgpAddressToHclTerraform(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 = { ip_address: { value: cdktf.stringToHclTerraform(struct.ipAddress), isBlock: false, type: "simple", storageClassType: "string", }, ip_configuration_id: { value: cdktf.stringToHclTerraform(struct.ipConfigurationId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vpnGatewayConnectionVpnLinkCustomBgpAddressToHclTerraform = vpnGatewayConnectionVpnLinkCustomBgpAddressToHclTerraform; class VpnGatewayConnectionVpnLinkCustomBgpAddressOutputReference 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._ipAddress !== undefined) { hasAnyValues = true; internalValueResult.ipAddress = this._ipAddress; } if (this._ipConfigurationId !== undefined) { hasAnyValues = true; internalValueResult.ipConfigurationId = this._ipConfigurationId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._ipAddress = undefined; this._ipConfigurationId = 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._ipAddress = value.ipAddress; this._ipConfigurationId = value.ipConfigurationId; } } get ipAddress() { return this.getStringAttribute('ip_address'); } set ipAddress(value) { this._ipAddress = value; } // Temporarily expose input value. Use with caution. get ipAddressInput() { return this._ipAddress; } get ipConfigurationId() { return this.getStringAttribute('ip_configuration_id'); } set ipConfigurationId(value) { this._ipConfigurationId = value; } // Temporarily expose input value. Use with caution. get ipConfigurationIdInput() { return this._ipConfigurationId; } } exports.VpnGatewayConnectionVpnLinkCustomBgpAddressOutputReference = VpnGatewayConnectionVpnLinkCustomBgpAddressOutputReference; _f = JSII_RTTI_SYMBOL_1; VpnGatewayConnectionVpnLinkCustomBgpAddressOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.vpnGatewayConnection.VpnGatewayConnectionVpnLinkCustomBgpAddressOutputReference", version: "12.27.0" }; class VpnGatewayConnectionVpnLinkCustomBgpAddressList 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 VpnGatewayConnectionVpnLinkCustomBgpAddressOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VpnGatewayConnectionVpnLinkCustomBgpAddressList = VpnGatewayConnectionVpnLinkCustomBgpAddressList; _g = JSII_RTTI_SYMBOL_1; VpnGatewayConnectionVpnLinkCustomBgpAddressList[_g] = { fqn: "@cdktf/provider-azurerm.vpnGatewayConnection.VpnGatewayConnectionVpnLinkCustomBgpAddressList", version: "12.27.0" }; function vpnGatewayConnectionVpnLinkIpsecPolicyToTerraform(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 { dh_group: cdktf.stringToTerraform(struct.dhGroup), encryption_algorithm: cdktf.stringToTerraform(struct.encryptionAlgorithm), ike_encryption_algorithm: cdktf.stringToTerraform(struct.ikeEncryptionAlgorithm), ike_integrity_algorithm: cdktf.stringToTerraform(struct.ikeIntegrityAlgorithm), integrity_algorithm: cdktf.stringToTerraform(struct.integrityAlgorithm), pfs_group: cdktf.stringToTerraform(struct.pfsGroup), sa_data_size_kb: cdktf.numberToTerraform(struct.saDataSizeKb), sa_lifetime_sec: cdktf.numberToTerraform(struct.saLifetimeSec), }; } exports.vpnGatewayConnectionVpnLinkIpsecPolicyToTerraform = vpnGatewayConnectionVpnLinkIpsecPolicyToTerraform; function vpnGatewayConnectionVpnLinkIpsecPolicyToHclTerraform(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 = { dh_group: { value: cdktf.stringToHclTerraform(struct.dhGroup), isBlock: false, type: "simple", storageClassType: "string", }, encryption_algorithm: { value: cdktf.stringToHclTerraform(struct.encryptionAlgorithm), isBlock: false, type: "simple", storageClassType: "string", }, ike_encryption_algorithm: { value: cdktf.stringToHclTerraform(struct.ikeEncryptionAlgorithm), isBlock: false, type: "simple", storageClassType: "string", }, ike_integrity_algorithm: { value: cdktf.stringToHclTerraform(struct.ikeIntegrityAlgorithm), isBlock: false, type: "simple", storageClassType: "string", }, integrity_algorithm: { value: cdktf.stringToHclTerraform(struct.integrityAlgorithm), isBlock: false, type: "simple", storageClassType: "string", }, pfs_group: { value: cdktf.stringToHclTerraform(struct.pfsGroup), isBlock: false, type: "simple", storageClassType: "string", }, sa_data_size_kb: { value: cdktf.numberToHclTerraform(struct.saDataSizeKb), isBlock: false, type: "simple", storageClassType: "number", }, sa_lifetime_sec: { value: cdktf.numberToHclTerraform(struct.saLifetimeSec), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vpnGatewayConnectionVpnLinkIpsecPolicyToHclTerraform = vpnGatewayConnectionVpnLinkIpsecPolicyToHclTerraform; class VpnGatewayConnectionVpnLinkIpsecPolicyOutputReference 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._dhGroup !== undefined) { hasAnyValues = true; internalValueResult.dhGroup = this._dhGroup; } if (this._encryptionAlgorithm !== undefined) { hasAnyValues = true; internalValueResult.encryptionAlgorithm = this._encryptionAlgorithm; } if (this._ikeEncryptionAlgorithm !== undefined) { hasAnyValues = true; internalValueResult.ikeEncryptionAlgorithm = this._ikeEncryptionAlgorithm; } if (this._ikeIntegrityAlgorithm !== undefined) { hasAnyValues = true; internalValueResult.ikeIntegrityAlgorithm = this._ikeIntegrityAlgorithm; } if (this._integrityAlgorithm !== undefined) { hasAnyValues = true; internalValueResult.integrityAlgorithm = this._integrityAlgorithm; } if (this._pfsGroup !== undefined) { hasAnyValues = true; internalValueResult.pfsGroup = this._pfsGroup; } if (this._saDataSizeKb !== undefined) { hasAnyValues = true; internalValueResult.saDataSizeKb = this._saDataSizeKb; } if (this._saLifetimeSec !== undefined) { hasAnyValues = true; internalValueResult.saLifetimeSec = this._saLifetimeSec; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._dhGroup = undefined; this._encryptionAlgorithm = undefined; this._ikeEncryptionAlgorithm = undefined; this._ikeIntegrityAlgorithm = undefined; this._integrityAlgorithm = undefined; this._pfsGroup = undefined; this._saDataSizeKb = undefined; this._saLifetimeSec = 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._dhGroup = value.dhGroup; this._encryptionAlgorithm = value.encryptionAlgorithm; this._ikeEncryptionAlgorithm = value.ikeEncryptionAlgorithm; this._ikeIntegrityAlgorithm = value.ikeIntegrityAlgorithm; this._integrityAlgorithm = value.integrityAlgorithm; this._pfsGroup = value.pfsGroup; this._saDataSizeKb = value.saDataSizeKb; this._saLifetimeSec = value.saLifetimeSec; } } get dhGroup() { return this.getStringAttribute('dh_group'); } set dhGroup(value) { this._dhGroup = value; } // Temporarily expose input value. Use with caution. get dhGroupInput() { return this._dhGroup; } get encryptionAlgorithm() { return this.getStringAttribute('encryption_algorithm'); } set encryptionAlgorithm(value) { this._encryptionAlgorithm = value; } // Temporarily expose input value. Use with caution. get encryptionAlgorithmInput() { return this._encryptionAlgorithm; } get ikeEncryptionAlgorithm() { return this.getStringAttribute('ike_encryption_algorithm'); } set ikeEncryptionAlgorithm(value) { this._ikeEncryptionAlgorithm = value; } // Temporarily expose input value. Use with caution. get ikeEncryptionAlgorithmInput() { return this._ikeEncryptionAlgorithm; } get ikeIntegrityAlgorithm() { return this.getStringAttribute('ike_integrity_algorithm'); } set ikeIntegrityAlgorithm(value) { this._ikeIntegrityAlgorithm = value; } // Temporarily expose input value. Use with caution. get ikeIntegrityAlgorithmInput() { return this._ikeIntegrityAlgorithm; } get integrityAlgorithm() { return this.getStringAttribute('integrity_algorithm'); } set integrityAlgorithm(value) { this._integrityAlgorithm = value; } // Temporarily expose input value. Use with caution. get integrityAlgorithmInput() { return this._integrityAlgorithm; } get pfsGroup() { return this.getStringAttribute('pfs_group'); } set pfsGroup(value) { this._pfsGroup = value; } // Temporarily expose input value. Use with caution. get pfsGroupInput() { return this._pfsGroup; } get saDataSizeKb() { return this.getNumberAttribute('sa_data_size_kb'); } set saDataSizeKb(value) { this._saDataSizeKb = value; } // Temporarily expose input value. Use with caution. get saDataSizeKbInput() { return this._saDataSizeKb; } get saLifetimeSec() { return this.getNumberAttribute('sa_lifetime_sec'); } set saLifetimeSec(value) { this._saLifetimeSec = value; } // Temporarily expose input value. Use with caution. get saLifetimeSecInput() { return this._saLifetimeSec; } } exports.VpnGatewayConnectionVpnLinkIpsecPolicyOutputReference = VpnGatewayConnectionVpnLinkIpsecPolicyOutputReference; _h = JSII_RTTI_SYMBOL_1; VpnGatewayConnectionVpnLinkIpsecPolicyOutputReference[_h] = { fqn: "@cdktf/provider-azurerm.vpnGatewayConnection.VpnGatewayConnectionVpnLinkIpsecPolicyOutputReference", version: "12.27.0" }; class VpnGatewayConnectionVpnLinkIpsecPolicyList 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 VpnGatewayConnectionVpnLinkIpsecPolicyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VpnGatewayConnectionVpnLinkIpsecPolicyList = VpnGatewayConnectionVpnLinkIpsecPolicyList; _j = JSII_RTTI_SYMBOL_1; VpnGatewayConnectionVpnLinkIpsecPolicyList[_j] = { fqn: "@cdktf/provider-azurerm.vpnGatewayConnection.VpnGatewayConnectionVpnLinkIpsecPolicyList", version: "12.27.0" }; function vpnGatewayConnectionVpnLinkToTerraform(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 { bandwidth_mbps: cdktf.numberToTerraform(struct.bandwidthMbps), bgp_enabled: cdktf.booleanToTerraform(struct.bgpEnabled), connection_mode: cdktf.stringToTerraform(struct.connectionMode), egress_nat_rule_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.egressNatRuleIds), ingress_nat_rule_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ingressNatRuleIds), local_azure_ip_address_enabled: cdktf.booleanToTerraform(struct.localAzureIpAddressEnabled), name: cdktf.stringToTerraform(struct.name), policy_based_traffic_selector_enabled: cdktf.booleanToTerraform(struct.policyBasedTrafficSelectorEnabled), protocol: cdktf.stringToTerraform(struct.protocol), ratelimit_enabled: cdktf.booleanToTerraform(struct.ratelimitEnabled), route_weight: cdktf.numberToTerraform(struct.routeWeight), shared_key: cdktf.stringToTerraform(struct.sharedKey), vpn_site_link_id: cdktf.stringToTerraform(struct.vpnSiteLinkId), custom_bgp_address: cdktf.listMapper(vpnGatewayConnectionVpnLinkCustomBgpAddressToTerraform, true)(struct.customBgpAddress), ipsec_policy: cdktf.listMapper(vpnGatewayConnectionVpnLinkIpsecPolicyToTerraform, true)(struct.ipsecPolicy), }; } exports.vpnGatewayConnectionVpnLinkToTerraform = vpnGatewayConnectionVpnLinkToTerraform; function vpnGatewayConnectionVpnLinkToHclTerraform(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 = { bandwidth_mbps: { value: cdktf.numberToHclTerraform(struct.bandwidthMbps), isBlock: false, type: "simple", storageClassType: "number", }, bgp_enabled: { value: cdktf.booleanToHclTerraform(struct.bgpEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, connection_mode: { value: cdktf.stringToHclTerraform(struct.connectionMode), isBlock: false, type: "simple", storageClassType: "string", }, egress_nat_rule_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.egressNatRuleIds), isBlock: false, type: "set", storageClassType: "stringList", }, ingress_nat_rule_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ingressNatRuleIds), isBlock: false, type: "set", storageClassType: "stringList", }, local_azure_ip_address_enabled: { value: cdktf.booleanToHclTerraform(struct.localAzureIpAddressEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, policy_based_traffic_selector_enabled: { value: cdktf.booleanToHclTerraform(struct.policyBasedTrafficSelectorEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, protocol: { value: cdktf.stringToHclTerraform(struct.protocol), isBlock: false, type: "simple", storageClassType: "string", }, ratelimit_enabled: { value: cdktf.booleanToHclTerraform(struct.ratelimitEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, route_weight: { value: cdktf.numberToHclTerraform(struct.routeWeight), isBlock: false, type: "simple", storageClassType: "number", }, shared_key: { value: cdktf.stringToHclTerraform(struct.sharedKey), isBlock: false, type: "simple", storageClassType: "string", }, vpn_site_link_id: { value: cdktf.stringToHclTerraform(struct.vpnSiteLinkId), isBlock: false, type: "simple", storageClassType: "string", }, custom_bgp_address: { value: cdktf.listMapperHcl(vpnGatewayConnectionVpnLinkCustomBgpAddressToHclTerraform, true)(struct.customBgpAddress), isBlock: true, type: "set", storageClassType: "VpnGatewayConnectionVpnLinkCustomBgpAddressList", }, ipsec_policy: { value: cdktf.listMapperHcl(vpnGatewayConnectionVpnLinkIpsecPolicyToHclTerraform, true)(struct.ipsecPolicy), isBlock: true, type: "list", storageClassType: "VpnGatewayConnectionVpnLinkIpsecPolicyList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.vpnGatewayConnectionVpnLinkToHclTerraform = vpnGatewayConnectionVpnLinkToHclTerraform; class VpnGatewayConnectionVpnLinkOutputReference 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; // custom_bgp_address - computed: false, optional: true, required: false this._customBgpAddress = new VpnGatewayConnectionVpnLinkCustomBgpAddressList(this, "custom_bgp_address", true); // ipsec_policy - computed: false, optional: true, required: false this._ipsecPolicy = new VpnGatewayConnectionVpnLinkIpsecPolicyList(this, "ipsec_policy", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._bandwidthMbps !== undefined) { hasAnyValues = true; internalValueResult.bandwidthMbps = this._bandwidthMbps; } if (this._bgpEnabled !== undefined) { hasAnyValues = true; internalValueResult.bgpEnabled = this._bgpEnabled; } if (this._connectionMode !== undefined) { hasAnyValues = true; internalValueResult.connectionMode = this._connectionMode; } if (this._egressNatRuleIds !== undefined) { hasAnyValues = true; internalValueResult.egressNatRuleIds = this._egressNatRuleIds; } if (this._ingressNatRuleIds !== undefined) { hasAnyValues = true; internalValueResult.ingressNatRuleIds = this._ingressNatRuleIds; } if (this._localAzureIpAddressEnabled !== undefined) { hasAnyValues = true; internalValueResult.localAzureIpAddressEnabled = this._localAzureIpAddressEnabled; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._policyBasedTrafficSelectorEnabled !== undefined) { hasAnyValues = true; internalValueResult.policyBasedTrafficSelectorEnabled = this._policyBasedTrafficSelectorEnabled; } if (this._protocol !== undefined) { hasAnyValues = true; internalValueResult.protocol = this._protocol; } if (this._ratelimitEnabled !== undefined) { hasAnyValues = true; internalValueResult.ratelimitEnabled = this._ratelimitEnabled; } if (this._routeWeight !== undefined) { hasAnyValues = true; internalValueResult.routeWeight = this._routeWeight; } if (this._sharedKey !== undefined) { hasAnyValues = true; internalValueResult.sharedKey = this._sharedKey; } if