@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
1,145 lines • 240 kB
JavaScript
"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