UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

980 lines 143 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g; Object.defineProperty(exports, "__esModule", { value: true }); exports.PointToSiteVpnGateway = exports.PointToSiteVpnGatewayTimeoutsOutputReference = exports.pointToSiteVpnGatewayTimeoutsToHclTerraform = exports.pointToSiteVpnGatewayTimeoutsToTerraform = exports.PointToSiteVpnGatewayConnectionConfigurationList = exports.PointToSiteVpnGatewayConnectionConfigurationOutputReference = exports.pointToSiteVpnGatewayConnectionConfigurationToHclTerraform = exports.pointToSiteVpnGatewayConnectionConfigurationToTerraform = exports.PointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolOutputReference = exports.pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToHclTerraform = exports.pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToTerraform = exports.PointToSiteVpnGatewayConnectionConfigurationRouteOutputReference = exports.pointToSiteVpnGatewayConnectionConfigurationRouteToHclTerraform = exports.pointToSiteVpnGatewayConnectionConfigurationRouteToTerraform = exports.PointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableOutputReference = exports.pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToHclTerraform = exports.pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToTerraform(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 { ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ids), labels: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.labels), }; } exports.pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToTerraform = pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToTerraform; function pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToHclTerraform(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 = { ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ids), isBlock: false, type: "list", storageClassType: "stringList", }, labels: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.labels), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToHclTerraform = pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToHclTerraform; class PointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableOutputReference 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._ids !== undefined) { hasAnyValues = true; internalValueResult.ids = this._ids; } if (this._labels !== undefined) { hasAnyValues = true; internalValueResult.labels = this._labels; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._ids = undefined; this._labels = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._ids = value.ids; this._labels = value.labels; } } get ids() { return this.getListAttribute('ids'); } set ids(value) { this._ids = value; } // Temporarily expose input value. Use with caution. get idsInput() { return this._ids; } 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; } } exports.PointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableOutputReference = PointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableOutputReference; _a = JSII_RTTI_SYMBOL_1; PointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.pointToSiteVpnGateway.PointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableOutputReference", version: "12.27.0" }; function pointToSiteVpnGatewayConnectionConfigurationRouteToTerraform(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_id: cdktf.stringToTerraform(struct.associatedRouteTableId), inbound_route_map_id: cdktf.stringToTerraform(struct.inboundRouteMapId), outbound_route_map_id: cdktf.stringToTerraform(struct.outboundRouteMapId), propagated_route_table: pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToTerraform(struct.propagatedRouteTable), }; } exports.pointToSiteVpnGatewayConnectionConfigurationRouteToTerraform = pointToSiteVpnGatewayConnectionConfigurationRouteToTerraform; function pointToSiteVpnGatewayConnectionConfigurationRouteToHclTerraform(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_id: { value: cdktf.stringToHclTerraform(struct.associatedRouteTableId), 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: pointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableToHclTerraform(struct.propagatedRouteTable), isBlock: true, type: "list", storageClassType: "PointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.pointToSiteVpnGatewayConnectionConfigurationRouteToHclTerraform = pointToSiteVpnGatewayConnectionConfigurationRouteToHclTerraform; class PointToSiteVpnGatewayConnectionConfigurationRouteOutputReference 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 PointToSiteVpnGatewayConnectionConfigurationRoutePropagatedRouteTableOutputReference(this, "propagated_route_table"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._associatedRouteTableId !== undefined) { hasAnyValues = true; internalValueResult.associatedRouteTableId = this._associatedRouteTableId; } 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._associatedRouteTableId = undefined; this._inboundRouteMapId = undefined; this._outboundRouteMapId = undefined; this._propagatedRouteTable.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._associatedRouteTableId = value.associatedRouteTableId; this._inboundRouteMapId = value.inboundRouteMapId; this._outboundRouteMapId = value.outboundRouteMapId; this._propagatedRouteTable.internalValue = value.propagatedRouteTable; } } get associatedRouteTableId() { return this.getStringAttribute('associated_route_table_id'); } set associatedRouteTableId(value) { this._associatedRouteTableId = value; } // Temporarily expose input value. Use with caution. get associatedRouteTableIdInput() { return this._associatedRouteTableId; } 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.PointToSiteVpnGatewayConnectionConfigurationRouteOutputReference = PointToSiteVpnGatewayConnectionConfigurationRouteOutputReference; _b = JSII_RTTI_SYMBOL_1; PointToSiteVpnGatewayConnectionConfigurationRouteOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.pointToSiteVpnGateway.PointToSiteVpnGatewayConnectionConfigurationRouteOutputReference", version: "12.27.0" }; function pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToTerraform(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 { address_prefixes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.addressPrefixes), }; } exports.pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToTerraform = pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToTerraform; function pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToHclTerraform(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 = { address_prefixes: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.addressPrefixes), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToHclTerraform = pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToHclTerraform; class PointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolOutputReference 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._addressPrefixes !== undefined) { hasAnyValues = true; internalValueResult.addressPrefixes = this._addressPrefixes; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._addressPrefixes = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._addressPrefixes = value.addressPrefixes; } } get addressPrefixes() { return cdktf.Fn.tolist(this.getListAttribute('address_prefixes')); } set addressPrefixes(value) { this._addressPrefixes = value; } // Temporarily expose input value. Use with caution. get addressPrefixesInput() { return this._addressPrefixes; } } exports.PointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolOutputReference = PointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolOutputReference; _c = JSII_RTTI_SYMBOL_1; PointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.pointToSiteVpnGateway.PointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolOutputReference", version: "12.27.0" }; function pointToSiteVpnGatewayConnectionConfigurationToTerraform(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 { internet_security_enabled: cdktf.booleanToTerraform(struct.internetSecurityEnabled), name: cdktf.stringToTerraform(struct.name), route: pointToSiteVpnGatewayConnectionConfigurationRouteToTerraform(struct.route), vpn_client_address_pool: pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToTerraform(struct.vpnClientAddressPool), }; } exports.pointToSiteVpnGatewayConnectionConfigurationToTerraform = pointToSiteVpnGatewayConnectionConfigurationToTerraform; function pointToSiteVpnGatewayConnectionConfigurationToHclTerraform(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 = { internet_security_enabled: { value: cdktf.booleanToHclTerraform(struct.internetSecurityEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, route: { value: pointToSiteVpnGatewayConnectionConfigurationRouteToHclTerraform(struct.route), isBlock: true, type: "list", storageClassType: "PointToSiteVpnGatewayConnectionConfigurationRouteList", }, vpn_client_address_pool: { value: pointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolToHclTerraform(struct.vpnClientAddressPool), isBlock: true, type: "list", storageClassType: "PointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.pointToSiteVpnGatewayConnectionConfigurationToHclTerraform = pointToSiteVpnGatewayConnectionConfigurationToHclTerraform; class PointToSiteVpnGatewayConnectionConfigurationOutputReference 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; // route - computed: false, optional: true, required: false this._route = new PointToSiteVpnGatewayConnectionConfigurationRouteOutputReference(this, "route"); // vpn_client_address_pool - computed: false, optional: false, required: true this._vpnClientAddressPool = new PointToSiteVpnGatewayConnectionConfigurationVpnClientAddressPoolOutputReference(this, "vpn_client_address_pool"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._internetSecurityEnabled !== undefined) { hasAnyValues = true; internalValueResult.internetSecurityEnabled = this._internetSecurityEnabled; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._route?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.route = this._route?.internalValue; } if (this._vpnClientAddressPool?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.vpnClientAddressPool = this._vpnClientAddressPool?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._internetSecurityEnabled = undefined; this._name = undefined; this._route.internalValue = undefined; this._vpnClientAddressPool.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._internetSecurityEnabled = value.internetSecurityEnabled; this._name = value.name; this._route.internalValue = value.route; this._vpnClientAddressPool.internalValue = value.vpnClientAddressPool; } } get internetSecurityEnabled() { return this.getBooleanAttribute('internet_security_enabled'); } set internetSecurityEnabled(value) { this._internetSecurityEnabled = value; } resetInternetSecurityEnabled() { this._internetSecurityEnabled = undefined; } // Temporarily expose input value. Use with caution. get internetSecurityEnabledInput() { return this._internetSecurityEnabled; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get route() { return this._route; } putRoute(value) { this._route.internalValue = value; } resetRoute() { this._route.internalValue = undefined; } // Temporarily expose input value. Use with caution. get routeInput() { return this._route.internalValue; } get vpnClientAddressPool() { return this._vpnClientAddressPool; } putVpnClientAddressPool(value) { this._vpnClientAddressPool.internalValue = value; } // Temporarily expose input value. Use with caution. get vpnClientAddressPoolInput() { return this._vpnClientAddressPool.internalValue; } } exports.PointToSiteVpnGatewayConnectionConfigurationOutputReference = PointToSiteVpnGatewayConnectionConfigurationOutputReference; _d = JSII_RTTI_SYMBOL_1; PointToSiteVpnGatewayConnectionConfigurationOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.pointToSiteVpnGateway.PointToSiteVpnGatewayConnectionConfigurationOutputReference", version: "12.27.0" }; class PointToSiteVpnGatewayConnectionConfigurationList 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 PointToSiteVpnGatewayConnectionConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PointToSiteVpnGatewayConnectionConfigurationList = PointToSiteVpnGatewayConnectionConfigurationList; _e = JSII_RTTI_SYMBOL_1; PointToSiteVpnGatewayConnectionConfigurationList[_e] = { fqn: "@cdktf/provider-azurerm.pointToSiteVpnGateway.PointToSiteVpnGatewayConnectionConfigurationList", version: "12.27.0" }; function pointToSiteVpnGatewayTimeoutsToTerraform(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.pointToSiteVpnGatewayTimeoutsToTerraform = pointToSiteVpnGatewayTimeoutsToTerraform; function pointToSiteVpnGatewayTimeoutsToHclTerraform(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.pointToSiteVpnGatewayTimeoutsToHclTerraform = pointToSiteVpnGatewayTimeoutsToHclTerraform; class PointToSiteVpnGatewayTimeoutsOutputReference 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.PointToSiteVpnGatewayTimeoutsOutputReference = PointToSiteVpnGatewayTimeoutsOutputReference; _f = JSII_RTTI_SYMBOL_1; PointToSiteVpnGatewayTimeoutsOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.pointToSiteVpnGateway.PointToSiteVpnGatewayTimeoutsOutputReference", version: "12.27.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/point_to_site_vpn_gateway azurerm_point_to_site_vpn_gateway} */ class PointToSiteVpnGateway extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a PointToSiteVpnGateway resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the PointToSiteVpnGateway to import * @param importFromId The id of the existing PointToSiteVpnGateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/point_to_site_vpn_gateway#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PointToSiteVpnGateway to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_point_to_site_vpn_gateway", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/point_to_site_vpn_gateway azurerm_point_to_site_vpn_gateway} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options PointToSiteVpnGatewayConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'azurerm_point_to_site_vpn_gateway', terraformGeneratorMetadata: { providerName: 'azurerm', providerVersion: '3.116.0', providerVersionConstraint: '~> 3.10' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // connection_configuration - computed: false, optional: false, required: true this._connectionConfiguration = new PointToSiteVpnGatewayConnectionConfigurationList(this, "connection_configuration", false); // timeouts - computed: false, optional: true, required: false this._timeouts = new PointToSiteVpnGatewayTimeoutsOutputReference(this, "timeouts"); this._dnsServers = config.dnsServers; this._id = config.id; this._location = config.location; this._name = config.name; this._resourceGroupName = config.resourceGroupName; this._routingPreferenceInternetEnabled = config.routingPreferenceInternetEnabled; this._scaleUnit = config.scaleUnit; this._tags = config.tags; this._virtualHubId = config.virtualHubId; this._vpnServerConfigurationId = config.vpnServerConfigurationId; this._connectionConfiguration.internalValue = config.connectionConfiguration; this._timeouts.internalValue = config.timeouts; } get dnsServers() { return this.getListAttribute('dns_servers'); } set dnsServers(value) { this._dnsServers = value; } resetDnsServers() { this._dnsServers = undefined; } // Temporarily expose input value. Use with caution. get dnsServersInput() { return this._dnsServers; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get resourceGroupName() { return this.getStringAttribute('resource_group_name'); } set resourceGroupName(value) { this._resourceGroupName = value; } // Temporarily expose input value. Use with caution. get resourceGroupNameInput() { return this._resourceGroupName; } get routingPreferenceInternetEnabled() { return this.getBooleanAttribute('routing_preference_internet_enabled'); } set routingPreferenceInternetEnabled(value) { this._routingPreferenceInternetEnabled = value; } resetRoutingPreferenceInternetEnabled() { this._routingPreferenceInternetEnabled = undefined; } // Temporarily expose input value. Use with caution. get routingPreferenceInternetEnabledInput() { return this._routingPreferenceInternetEnabled; } get scaleUnit() { return this.getNumberAttribute('scale_unit'); } set scaleUnit(value) { this._scaleUnit = value; } // Temporarily expose input value. Use with caution. get scaleUnitInput() { return this._scaleUnit; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get virtualHubId() { return this.getStringAttribute('virtual_hub_id'); } set virtualHubId(value) { this._virtualHubId = value; } // Temporarily expose input value. Use with caution. get virtualHubIdInput() { return this._virtualHubId; } get vpnServerConfigurationId() { return this.getStringAttribute('vpn_server_configuration_id'); } set vpnServerConfigurationId(value) { this._vpnServerConfigurationId = value; } // Temporarily expose input value. Use with caution. get vpnServerConfigurationIdInput() { return this._vpnServerConfigurationId; } get connectionConfiguration() { return this._connectionConfiguration; } putConnectionConfiguration(value) { this._connectionConfiguration.internalValue = value; } // Temporarily expose input value. Use with caution. get connectionConfigurationInput() { return this._connectionConfiguration.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { dns_servers: cdktf.listMapper(cdktf.stringToTerraform, false)(this._dnsServers), id: cdktf.stringToTerraform(this._id), location: cdktf.stringToTerraform(this._location), name: cdktf.stringToTerraform(this._name), resource_group_name: cdktf.stringToTerraform(this._resourceGroupName), routing_preference_internet_enabled: cdktf.booleanToTerraform(this._routingPreferenceInternetEnabled), scale_unit: cdktf.numberToTerraform(this._scaleUnit), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), virtual_hub_id: cdktf.stringToTerraform(this._virtualHubId), vpn_server_configuration_id: cdktf.stringToTerraform(this._vpnServerConfigurationId), connection_configuration: cdktf.listMapper(pointToSiteVpnGatewayConnectionConfigurationToTerraform, true)(this._connectionConfiguration.internalValue), timeouts: pointToSiteVpnGatewayTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { dns_servers: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._dnsServers), isBlock: false, type: "list", storageClassType: "stringList", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, location: { value: cdktf.stringToHclTerraform(this._location), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, resource_group_name: { value: cdktf.stringToHclTerraform(this._resourceGroupName), isBlock: false, type: "simple", storageClassType: "string", }, routing_preference_internet_enabled: { value: cdktf.booleanToHclTerraform(this._routingPreferenceInternetEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, scale_unit: { value: cdktf.numberToHclTerraform(this._scaleUnit), isBlock: false, type: "simple", storageClassType: "number", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, virtual_hub_id: { value: cdktf.stringToHclTerraform(this._virtualHubId), isBlock: false, type: "simple", storageClassType: "string", }, vpn_server_configuration_id: { value: cdktf.stringToHclTerraform(this._vpnServerConfigurationId), isBlock: false, type: "simple", storageClassType: "string", }, connection_configuration: { value: cdktf.listMapperHcl(pointToSiteVpnGatewayConnectionConfigurationToHclTerraform, true)(this._connectionConfiguration.internalValue), isBlock: true, type: "list", storageClassType: "PointToSiteVpnGatewayConnectionConfigurationList", }, timeouts: { value: pointToSiteVpnGatewayTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "PointToSiteVpnGatewayTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.PointToSiteVpnGateway = PointToSiteVpnGateway; _g = JSII_RTTI_SYMBOL_1; PointToSiteVpnGateway[_g] = { fqn: "@cdktf/provider-azurerm.pointToSiteVpnGateway.PointToSiteVpnGateway", version: "12.27.0" }; // ================= // STATIC PROPERTIES // ================= PointToSiteVpnGateway.tfResourceType = "azurerm_point_to_site_vpn_gateway"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9pbnQtdG8tc2l0ZS12cG4tZ2F0ZXdheS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQXdFL0IsU0FBZ0IsZ0ZBQWdGLENBQUMsTUFBcUs7SUFDcFEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLEdBQUcsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsR0FBRyxDQUFDO1FBQ2xFLE1BQU0sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDO0tBQ3pFLENBQUE7QUFDSCxDQUFDO0FBVEQsNEtBU0M7QUFHRCxTQUFnQixtRkFBbUYsQ0FBQyxNQUFxSztJQUN2USxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsR0FBRyxDQUFDO1lBQzFFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLE1BQU07WUFDWixnQkFBZ0IsRUFBRSxZQUFZO1NBQy9CO1FBQ0QsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxNQUFNLENBQUM7WUFDN0UsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsS0FBSztZQUNYLGdCQUFnQixFQUFFLFlBQVk7U0FDL0I7S0FDRixDQUFDO0lBRUYsOEJBQThCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztBQUM1SCxDQUFDO0FBdEJELGtMQXNCQztBQUVELE1BQWEsb0ZBQXFGLFNBQVEsS0FBSyxDQUFDLGFBQWE7SUFHM0g7OztNQUdFO0lBQ0YsWUFBbUIsaUJBQTZDLEVBQUUsa0JBQTBCO1FBQzFGLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFQakQsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFROUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sbUJBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QixZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQXdGO1FBQy9HLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQzNCLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFXLEdBQUcsQ0FBQyxLQUFlO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBSUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBZTtRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ00sV0FBVztRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztJQUMzQixDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7QUFqRUgsb0xBa0VDOzs7QUFzQkQsU0FBZ0IsNERBQTRELENBQUMsTUFBNkg7SUFDeE0sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsc0JBQXNCLENBQUM7UUFDbEYsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUN4RSxxQkFBcUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLGtCQUFrQixDQUFDO1FBQzFFLHNCQUFzQixFQUFFLGdGQUFnRixDQUFDLE1BQU8sQ0FBQyxvQkFBb0IsQ0FBQztLQUN2SSxDQUFBO0FBQ0gsQ0FBQztBQVhELG9JQVdDO0FBR0QsU0FBZ0IsK0RBQStELENBQUMsTUFBNkg7SUFDM00sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWix5QkFBeUIsRUFBRTtZQUN6QixLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU8sQ0FBQyxzQkFBc0IsQ0FBQztZQUNqRSxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtRQUNELG9CQUFvQixFQUFFO1lBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLGlCQUFpQixDQUFDO1lBQzVELE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO1FBQ0QscUJBQXFCLEVBQUU7WUFDckIsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFPLENBQUMsa0JBQWtCLENBQUM7WUFDN0QsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsUUFBUTtZQUNkLGdCQUFnQixFQUFFLFFBQVE7U0FDM0I7UUFDRCxzQkFBc0IsRUFBRTtZQUN0QixLQUFLLEVBQUUsbUZBQW1GLENBQUMsTUFBTyxDQUFDLG9CQUFvQixDQUFDO1lBQ3hILE9BQU8sRUFBRSxJQUFJO1lBQ2IsSUFBSSxFQUFFLE1BQU07WUFDWixnQkFBZ0IsRUFBRSwyRUFBMkU7U0FDOUY7S0FDRixDQUFDO0lBRUYsOEJBQThCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztBQUM1SCxDQUFDO0FBbENELDBJQWtDQztBQUVELE1BQWEsZ0VBQWlFLFNBQVEsS0FBSyxDQUFDLGFBQWE7SUFHdkc7OztNQUdFO0lBQ0YsWUFBbUIsaUJBQTZDLEVBQUUsa0JBQTBCO1FBQzFGLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFQakQsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUE4RjlCLDRFQUE0RTtRQUNwRSwwQkFBcUIsR0FBRyxJQUFJLG9GQUFvRixDQUFDLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBdkZ6SixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0MsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDNUUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ2xFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVELFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLGFBQWEsQ0FBQztRQUN2RixDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQW9FO1FBQzNGLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUNw