UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,190 lines 323 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.VpnConnection = exports.VpnConnectionTunnel2LogOptionsOutputReference = exports.VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutputReference = exports.VpnConnectionTunnel1LogOptionsOutputReference = exports.VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutputReference = exports.VpnConnectionVgwTelemetryList = exports.VpnConnectionVgwTelemetryOutputReference = exports.VpnConnectionRoutesList = exports.VpnConnectionRoutesOutputReference = void 0; exports.vpnConnectionRoutesToTerraform = vpnConnectionRoutesToTerraform; exports.vpnConnectionRoutesToHclTerraform = vpnConnectionRoutesToHclTerraform; exports.vpnConnectionVgwTelemetryToTerraform = vpnConnectionVgwTelemetryToTerraform; exports.vpnConnectionVgwTelemetryToHclTerraform = vpnConnectionVgwTelemetryToHclTerraform; exports.vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToTerraform = vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToTerraform; exports.vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToHclTerraform = vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToHclTerraform; exports.vpnConnectionTunnel1LogOptionsToTerraform = vpnConnectionTunnel1LogOptionsToTerraform; exports.vpnConnectionTunnel1LogOptionsToHclTerraform = vpnConnectionTunnel1LogOptionsToHclTerraform; exports.vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToTerraform = vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToTerraform; exports.vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToHclTerraform = vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToHclTerraform; exports.vpnConnectionTunnel2LogOptionsToTerraform = vpnConnectionTunnel2LogOptionsToTerraform; exports.vpnConnectionTunnel2LogOptionsToHclTerraform = vpnConnectionTunnel2LogOptionsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function vpnConnectionRoutesToTerraform(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 {}; } function vpnConnectionRoutesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class VpnConnectionRoutesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // destination_cidr_block - computed: true, optional: false, required: false get destinationCidrBlock() { return this.getStringAttribute('destination_cidr_block'); } // source - computed: true, optional: false, required: false get source() { return this.getStringAttribute('source'); } // state - computed: true, optional: false, required: false get state() { return this.getStringAttribute('state'); } } exports.VpnConnectionRoutesOutputReference = VpnConnectionRoutesOutputReference; _a = JSII_RTTI_SYMBOL_1; VpnConnectionRoutesOutputReference[_a] = { fqn: "@cdktf/provider-aws.vpnConnection.VpnConnectionRoutesOutputReference", version: "21.22.1" }; class VpnConnectionRoutesList 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 VpnConnectionRoutesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VpnConnectionRoutesList = VpnConnectionRoutesList; _b = JSII_RTTI_SYMBOL_1; VpnConnectionRoutesList[_b] = { fqn: "@cdktf/provider-aws.vpnConnection.VpnConnectionRoutesList", version: "21.22.1" }; function vpnConnectionVgwTelemetryToTerraform(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 {}; } function vpnConnectionVgwTelemetryToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class VpnConnectionVgwTelemetryOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // accepted_route_count - computed: true, optional: false, required: false get acceptedRouteCount() { return this.getNumberAttribute('accepted_route_count'); } // certificate_arn - computed: true, optional: false, required: false get certificateArn() { return this.getStringAttribute('certificate_arn'); } // last_status_change - computed: true, optional: false, required: false get lastStatusChange() { return this.getStringAttribute('last_status_change'); } // outside_ip_address - computed: true, optional: false, required: false get outsideIpAddress() { return this.getStringAttribute('outside_ip_address'); } // status - computed: true, optional: false, required: false get status() { return this.getStringAttribute('status'); } // status_message - computed: true, optional: false, required: false get statusMessage() { return this.getStringAttribute('status_message'); } } exports.VpnConnectionVgwTelemetryOutputReference = VpnConnectionVgwTelemetryOutputReference; _c = JSII_RTTI_SYMBOL_1; VpnConnectionVgwTelemetryOutputReference[_c] = { fqn: "@cdktf/provider-aws.vpnConnection.VpnConnectionVgwTelemetryOutputReference", version: "21.22.1" }; class VpnConnectionVgwTelemetryList 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 VpnConnectionVgwTelemetryOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.VpnConnectionVgwTelemetryList = VpnConnectionVgwTelemetryList; _d = JSII_RTTI_SYMBOL_1; VpnConnectionVgwTelemetryList[_d] = { fqn: "@cdktf/provider-aws.vpnConnection.VpnConnectionVgwTelemetryList", version: "21.22.1" }; function vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToTerraform(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 { bgp_log_enabled: cdktf.booleanToTerraform(struct.bgpLogEnabled), bgp_log_group_arn: cdktf.stringToTerraform(struct.bgpLogGroupArn), bgp_log_output_format: cdktf.stringToTerraform(struct.bgpLogOutputFormat), log_enabled: cdktf.booleanToTerraform(struct.logEnabled), log_group_arn: cdktf.stringToTerraform(struct.logGroupArn), log_output_format: cdktf.stringToTerraform(struct.logOutputFormat), }; } function vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToHclTerraform(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 = { bgp_log_enabled: { value: cdktf.booleanToHclTerraform(struct.bgpLogEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, bgp_log_group_arn: { value: cdktf.stringToHclTerraform(struct.bgpLogGroupArn), isBlock: false, type: "simple", storageClassType: "string", }, bgp_log_output_format: { value: cdktf.stringToHclTerraform(struct.bgpLogOutputFormat), isBlock: false, type: "simple", storageClassType: "string", }, log_enabled: { value: cdktf.booleanToHclTerraform(struct.logEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, log_group_arn: { value: cdktf.stringToHclTerraform(struct.logGroupArn), isBlock: false, type: "simple", storageClassType: "string", }, log_output_format: { value: cdktf.stringToHclTerraform(struct.logOutputFormat), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutputReference 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._bgpLogEnabled !== undefined) { hasAnyValues = true; internalValueResult.bgpLogEnabled = this._bgpLogEnabled; } if (this._bgpLogGroupArn !== undefined) { hasAnyValues = true; internalValueResult.bgpLogGroupArn = this._bgpLogGroupArn; } if (this._bgpLogOutputFormat !== undefined) { hasAnyValues = true; internalValueResult.bgpLogOutputFormat = this._bgpLogOutputFormat; } if (this._logEnabled !== undefined) { hasAnyValues = true; internalValueResult.logEnabled = this._logEnabled; } if (this._logGroupArn !== undefined) { hasAnyValues = true; internalValueResult.logGroupArn = this._logGroupArn; } if (this._logOutputFormat !== undefined) { hasAnyValues = true; internalValueResult.logOutputFormat = this._logOutputFormat; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._bgpLogEnabled = undefined; this._bgpLogGroupArn = undefined; this._bgpLogOutputFormat = undefined; this._logEnabled = undefined; this._logGroupArn = undefined; this._logOutputFormat = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._bgpLogEnabled = value.bgpLogEnabled; this._bgpLogGroupArn = value.bgpLogGroupArn; this._bgpLogOutputFormat = value.bgpLogOutputFormat; this._logEnabled = value.logEnabled; this._logGroupArn = value.logGroupArn; this._logOutputFormat = value.logOutputFormat; } } get bgpLogEnabled() { return this.getBooleanAttribute('bgp_log_enabled'); } set bgpLogEnabled(value) { this._bgpLogEnabled = value; } resetBgpLogEnabled() { this._bgpLogEnabled = undefined; } // Temporarily expose input value. Use with caution. get bgpLogEnabledInput() { return this._bgpLogEnabled; } get bgpLogGroupArn() { return this.getStringAttribute('bgp_log_group_arn'); } set bgpLogGroupArn(value) { this._bgpLogGroupArn = value; } resetBgpLogGroupArn() { this._bgpLogGroupArn = undefined; } // Temporarily expose input value. Use with caution. get bgpLogGroupArnInput() { return this._bgpLogGroupArn; } get bgpLogOutputFormat() { return this.getStringAttribute('bgp_log_output_format'); } set bgpLogOutputFormat(value) { this._bgpLogOutputFormat = value; } resetBgpLogOutputFormat() { this._bgpLogOutputFormat = undefined; } // Temporarily expose input value. Use with caution. get bgpLogOutputFormatInput() { return this._bgpLogOutputFormat; } get logEnabled() { return this.getBooleanAttribute('log_enabled'); } set logEnabled(value) { this._logEnabled = value; } resetLogEnabled() { this._logEnabled = undefined; } // Temporarily expose input value. Use with caution. get logEnabledInput() { return this._logEnabled; } get logGroupArn() { return this.getStringAttribute('log_group_arn'); } set logGroupArn(value) { this._logGroupArn = value; } resetLogGroupArn() { this._logGroupArn = undefined; } // Temporarily expose input value. Use with caution. get logGroupArnInput() { return this._logGroupArn; } get logOutputFormat() { return this.getStringAttribute('log_output_format'); } set logOutputFormat(value) { this._logOutputFormat = value; } resetLogOutputFormat() { this._logOutputFormat = undefined; } // Temporarily expose input value. Use with caution. get logOutputFormatInput() { return this._logOutputFormat; } } exports.VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutputReference = VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutputReference; _e = JSII_RTTI_SYMBOL_1; VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutputReference[_e] = { fqn: "@cdktf/provider-aws.vpnConnection.VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutputReference", version: "21.22.1" }; function vpnConnectionTunnel1LogOptionsToTerraform(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 { cloudwatch_log_options: vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToTerraform(struct.cloudwatchLogOptions), }; } function vpnConnectionTunnel1LogOptionsToHclTerraform(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 = { cloudwatch_log_options: { value: vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToHclTerraform(struct.cloudwatchLogOptions), isBlock: true, type: "list", storageClassType: "VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpnConnectionTunnel1LogOptionsOutputReference 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; // cloudwatch_log_options - computed: false, optional: true, required: false this._cloudwatchLogOptions = new VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutputReference(this, "cloudwatch_log_options"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._cloudwatchLogOptions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.cloudwatchLogOptions = this._cloudwatchLogOptions?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cloudwatchLogOptions.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cloudwatchLogOptions.internalValue = value.cloudwatchLogOptions; } } get cloudwatchLogOptions() { return this._cloudwatchLogOptions; } putCloudwatchLogOptions(value) { this._cloudwatchLogOptions.internalValue = value; } resetCloudwatchLogOptions() { this._cloudwatchLogOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get cloudwatchLogOptionsInput() { return this._cloudwatchLogOptions.internalValue; } } exports.VpnConnectionTunnel1LogOptionsOutputReference = VpnConnectionTunnel1LogOptionsOutputReference; _f = JSII_RTTI_SYMBOL_1; VpnConnectionTunnel1LogOptionsOutputReference[_f] = { fqn: "@cdktf/provider-aws.vpnConnection.VpnConnectionTunnel1LogOptionsOutputReference", version: "21.22.1" }; function vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToTerraform(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 { bgp_log_enabled: cdktf.booleanToTerraform(struct.bgpLogEnabled), bgp_log_group_arn: cdktf.stringToTerraform(struct.bgpLogGroupArn), bgp_log_output_format: cdktf.stringToTerraform(struct.bgpLogOutputFormat), log_enabled: cdktf.booleanToTerraform(struct.logEnabled), log_group_arn: cdktf.stringToTerraform(struct.logGroupArn), log_output_format: cdktf.stringToTerraform(struct.logOutputFormat), }; } function vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToHclTerraform(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 = { bgp_log_enabled: { value: cdktf.booleanToHclTerraform(struct.bgpLogEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, bgp_log_group_arn: { value: cdktf.stringToHclTerraform(struct.bgpLogGroupArn), isBlock: false, type: "simple", storageClassType: "string", }, bgp_log_output_format: { value: cdktf.stringToHclTerraform(struct.bgpLogOutputFormat), isBlock: false, type: "simple", storageClassType: "string", }, log_enabled: { value: cdktf.booleanToHclTerraform(struct.logEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, log_group_arn: { value: cdktf.stringToHclTerraform(struct.logGroupArn), isBlock: false, type: "simple", storageClassType: "string", }, log_output_format: { value: cdktf.stringToHclTerraform(struct.logOutputFormat), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutputReference 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._bgpLogEnabled !== undefined) { hasAnyValues = true; internalValueResult.bgpLogEnabled = this._bgpLogEnabled; } if (this._bgpLogGroupArn !== undefined) { hasAnyValues = true; internalValueResult.bgpLogGroupArn = this._bgpLogGroupArn; } if (this._bgpLogOutputFormat !== undefined) { hasAnyValues = true; internalValueResult.bgpLogOutputFormat = this._bgpLogOutputFormat; } if (this._logEnabled !== undefined) { hasAnyValues = true; internalValueResult.logEnabled = this._logEnabled; } if (this._logGroupArn !== undefined) { hasAnyValues = true; internalValueResult.logGroupArn = this._logGroupArn; } if (this._logOutputFormat !== undefined) { hasAnyValues = true; internalValueResult.logOutputFormat = this._logOutputFormat; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._bgpLogEnabled = undefined; this._bgpLogGroupArn = undefined; this._bgpLogOutputFormat = undefined; this._logEnabled = undefined; this._logGroupArn = undefined; this._logOutputFormat = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._bgpLogEnabled = value.bgpLogEnabled; this._bgpLogGroupArn = value.bgpLogGroupArn; this._bgpLogOutputFormat = value.bgpLogOutputFormat; this._logEnabled = value.logEnabled; this._logGroupArn = value.logGroupArn; this._logOutputFormat = value.logOutputFormat; } } get bgpLogEnabled() { return this.getBooleanAttribute('bgp_log_enabled'); } set bgpLogEnabled(value) { this._bgpLogEnabled = value; } resetBgpLogEnabled() { this._bgpLogEnabled = undefined; } // Temporarily expose input value. Use with caution. get bgpLogEnabledInput() { return this._bgpLogEnabled; } get bgpLogGroupArn() { return this.getStringAttribute('bgp_log_group_arn'); } set bgpLogGroupArn(value) { this._bgpLogGroupArn = value; } resetBgpLogGroupArn() { this._bgpLogGroupArn = undefined; } // Temporarily expose input value. Use with caution. get bgpLogGroupArnInput() { return this._bgpLogGroupArn; } get bgpLogOutputFormat() { return this.getStringAttribute('bgp_log_output_format'); } set bgpLogOutputFormat(value) { this._bgpLogOutputFormat = value; } resetBgpLogOutputFormat() { this._bgpLogOutputFormat = undefined; } // Temporarily expose input value. Use with caution. get bgpLogOutputFormatInput() { return this._bgpLogOutputFormat; } get logEnabled() { return this.getBooleanAttribute('log_enabled'); } set logEnabled(value) { this._logEnabled = value; } resetLogEnabled() { this._logEnabled = undefined; } // Temporarily expose input value. Use with caution. get logEnabledInput() { return this._logEnabled; } get logGroupArn() { return this.getStringAttribute('log_group_arn'); } set logGroupArn(value) { this._logGroupArn = value; } resetLogGroupArn() { this._logGroupArn = undefined; } // Temporarily expose input value. Use with caution. get logGroupArnInput() { return this._logGroupArn; } get logOutputFormat() { return this.getStringAttribute('log_output_format'); } set logOutputFormat(value) { this._logOutputFormat = value; } resetLogOutputFormat() { this._logOutputFormat = undefined; } // Temporarily expose input value. Use with caution. get logOutputFormatInput() { return this._logOutputFormat; } } exports.VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutputReference = VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutputReference; _g = JSII_RTTI_SYMBOL_1; VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutputReference[_g] = { fqn: "@cdktf/provider-aws.vpnConnection.VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutputReference", version: "21.22.1" }; function vpnConnectionTunnel2LogOptionsToTerraform(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 { cloudwatch_log_options: vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToTerraform(struct.cloudwatchLogOptions), }; } function vpnConnectionTunnel2LogOptionsToHclTerraform(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 = { cloudwatch_log_options: { value: vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToHclTerraform(struct.cloudwatchLogOptions), isBlock: true, type: "list", storageClassType: "VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class VpnConnectionTunnel2LogOptionsOutputReference 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; // cloudwatch_log_options - computed: false, optional: true, required: false this._cloudwatchLogOptions = new VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutputReference(this, "cloudwatch_log_options"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._cloudwatchLogOptions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.cloudwatchLogOptions = this._cloudwatchLogOptions?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cloudwatchLogOptions.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cloudwatchLogOptions.internalValue = value.cloudwatchLogOptions; } } get cloudwatchLogOptions() { return this._cloudwatchLogOptions; } putCloudwatchLogOptions(value) { this._cloudwatchLogOptions.internalValue = value; } resetCloudwatchLogOptions() { this._cloudwatchLogOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get cloudwatchLogOptionsInput() { return this._cloudwatchLogOptions.internalValue; } } exports.VpnConnectionTunnel2LogOptionsOutputReference = VpnConnectionTunnel2LogOptionsOutputReference; _h = JSII_RTTI_SYMBOL_1; VpnConnectionTunnel2LogOptionsOutputReference[_h] = { fqn: "@cdktf/provider-aws.vpnConnection.VpnConnectionTunnel2LogOptionsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/vpn_connection aws_vpn_connection} */ class VpnConnection extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a VpnConnection 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 VpnConnection to import * @param importFromId The id of the existing VpnConnection that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/vpn_connection#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the VpnConnection to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_vpn_connection", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/vpn_connection aws_vpn_connection} 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 VpnConnectionConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_vpn_connection', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // routes - computed: true, optional: false, required: false this._routes = new VpnConnectionRoutesList(this, "routes", true); // vgw_telemetry - computed: true, optional: false, required: false this._vgwTelemetry = new VpnConnectionVgwTelemetryList(this, "vgw_telemetry", true); // tunnel1_log_options - computed: false, optional: true, required: false this._tunnel1LogOptions = new VpnConnectionTunnel1LogOptionsOutputReference(this, "tunnel1_log_options"); // tunnel2_log_options - computed: false, optional: true, required: false this._tunnel2LogOptions = new VpnConnectionTunnel2LogOptionsOutputReference(this, "tunnel2_log_options"); this._customerGatewayId = config.customerGatewayId; this._enableAcceleration = config.enableAcceleration; this._id = config.id; this._localIpv4NetworkCidr = config.localIpv4NetworkCidr; this._localIpv6NetworkCidr = config.localIpv6NetworkCidr; this._outsideIpAddressType = config.outsideIpAddressType; this._presharedKeyStorage = config.presharedKeyStorage; this._region = config.region; this._remoteIpv4NetworkCidr = config.remoteIpv4NetworkCidr; this._remoteIpv6NetworkCidr = config.remoteIpv6NetworkCidr; this._staticRoutesOnly = config.staticRoutesOnly; this._tags = config.tags; this._tagsAll = config.tagsAll; this._transitGatewayId = config.transitGatewayId; this._transportTransitGatewayAttachmentId = config.transportTransitGatewayAttachmentId; this._tunnel1DpdTimeoutAction = config.tunnel1DpdTimeoutAction; this._tunnel1DpdTimeoutSeconds = config.tunnel1DpdTimeoutSeconds; this._tunnel1EnableTunnelLifecycleControl = config.tunnel1EnableTunnelLifecycleControl; this._tunnel1IkeVersions = config.tunnel1IkeVersions; this._tunnel1InsideCidr = config.tunnel1InsideCidr; this._tunnel1InsideIpv6Cidr = config.tunnel1InsideIpv6Cidr; this._tunnel1Phase1DhGroupNumbers = config.tunnel1Phase1DhGroupNumbers; this._tunnel1Phase1EncryptionAlgorithms = config.tunnel1Phase1EncryptionAlgorithms; this._tunnel1Phase1IntegrityAlgorithms = config.tunnel1Phase1IntegrityAlgorithms; this._tunnel1Phase1LifetimeSeconds = config.tunnel1Phase1LifetimeSeconds; this._tunnel1Phase2DhGroupNumbers = config.tunnel1Phase2DhGroupNumbers; this._tunnel1Phase2EncryptionAlgorithms = config.tunnel1Phase2EncryptionAlgorithms; this._tunnel1Phase2IntegrityAlgorithms = config.tunnel1Phase2IntegrityAlgorithms; this._tunnel1Phase2LifetimeSeconds = config.tunnel1Phase2LifetimeSeconds; this._tunnel1PresharedKey = config.tunnel1PresharedKey; this._tunnel1RekeyFuzzPercentage = config.tunnel1RekeyFuzzPercentage; this._tunnel1RekeyMarginTimeSeconds = config.tunnel1RekeyMarginTimeSeconds; this._tunnel1ReplayWindowSize = config.tunnel1ReplayWindowSize; this._tunnel1StartupAction = config.tunnel1StartupAction; this._tunnel2DpdTimeoutAction = config.tunnel2DpdTimeoutAction; this._tunnel2DpdTimeoutSeconds = config.tunnel2DpdTimeoutSeconds; this._tunnel2EnableTunnelLifecycleControl = config.tunnel2EnableTunnelLifecycleControl; this._tunnel2IkeVersions = config.tunnel2IkeVersions; this._tunnel2InsideCidr = config.tunnel2InsideCidr; this._tunnel2InsideIpv6Cidr = config.tunnel2InsideIpv6Cidr; this._tunnel2Phase1DhGroupNumbers = config.tunnel2Phase1DhGroupNumbers; this._tunnel2Phase1EncryptionAlgorithms = config.tunnel2Phase1EncryptionAlgorithms; this._tunnel2Phase1IntegrityAlgorithms = config.tunnel2Phase1IntegrityAlgorithms; this._tunnel2Phase1LifetimeSeconds = config.tunnel2Phase1LifetimeSeconds; this._tunnel2Phase2DhGroupNumbers = config.tunnel2Phase2DhGroupNumbers; this._tunnel2Phase2EncryptionAlgorithms = config.tunnel2Phase2EncryptionAlgorithms; this._tunnel2Phase2IntegrityAlgorithms = config.tunnel2Phase2IntegrityAlgorithms; this._tunnel2Phase2LifetimeSeconds = config.tunnel2Phase2LifetimeSeconds; this._tunnel2PresharedKey = config.tunnel2PresharedKey; this._tunnel2RekeyFuzzPercentage = config.tunnel2RekeyFuzzPercentage; this._tunnel2RekeyMarginTimeSeconds = config.tunnel2RekeyMarginTimeSeconds; this._tunnel2ReplayWindowSize = config.tunnel2ReplayWindowSize; this._tunnel2StartupAction = config.tunnel2StartupAction; this._tunnelBandwidth = config.tunnelBandwidth; this._tunnelInsideIpVersion = config.tunnelInsideIpVersion; this._type = config.type; this._vpnConcentratorId = config.vpnConcentratorId; this._vpnGatewayId = config.vpnGatewayId; this._tunnel1LogOptions.internalValue = config.tunnel1LogOptions; this._tunnel2LogOptions.internalValue = config.tunnel2LogOptions; } // ========== // ATTRIBUTES // ========== // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } // core_network_arn - computed: true, optional: false, required: false get coreNetworkArn() { return this.getStringAttribute('core_network_arn'); } // core_network_attachment_arn - computed: true, optional: false, required: false get coreNetworkAttachmentArn() { return this.getStringAttribute('core_network_attachment_arn'); } // customer_gateway_configuration - computed: true, optional: false, required: false get customerGatewayConfiguration() { return this.getStringAttribute('customer_gateway_configuration'); } get customerGatewayId() { return this.getStringAttribute('customer_gateway_id'); } set customerGatewayId(value) { this._customerGatewayId = value; } // Temporarily expose input value. Use with caution. get customerGatewayIdInput() { return this._customerGatewayId; } get enableAcceleration() { return this.getBooleanAttribute('enable_acceleration'); } set enableAcceleration(value) { this._enableAcceleration = value; } resetEnableAcceleration() { this._enableAcceleration = undefined; } // Temporarily expose input value. Use with caution. get enableAccelerationInput() { return this._enableAcceleration; } 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 localIpv4NetworkCidr() { return this.getStringAttribute('local_ipv4_network_cidr'); } set localIpv4NetworkCidr(value) { this._localIpv4NetworkCidr = value; } resetLocalIpv4NetworkCidr() { this._localIpv4NetworkCidr = undefined; } // Temporarily expose input value. Use with caution. get localIpv4NetworkCidrInput() { return this._localIpv4NetworkCidr; } get localIpv6NetworkCidr() { return this.getStringAttribute('local_ipv6_network_cidr'); } set localIpv6NetworkCidr(value) { this._localIpv6NetworkCidr = value; } resetLocalIpv6NetworkCidr() { this._localIpv6NetworkCidr = undefined; } // Temporarily expose input value. Use with caution. get localIpv6NetworkCidrInput() { return this._localIpv6NetworkCidr; } get outsideIpAddressType() { return this.getStringAttribute('outside_ip_address_type'); } set outsideIpAddressType(value) { this._outsideIpAddressType = value; } resetOutsideIpAddressType() { this._outsideIpAddressType = undefined; } // Temporarily expose input value. Use with caution. get outsideIpAddressTypeInput() { return this._outsideIpAddressType; } // preshared_key_arn - computed: true, optional: false, required: false get presharedKeyArn() { return this.getStringAttribute('preshared_key_arn'); } get presharedKeyStorage() { return this.getStringAttribute('preshared_key_storage'); } set presharedKeyStorage(value) { this._presharedKeyStorage = value; } resetPresharedKeyStorage() { this._presharedKeyStorage = undefined; } // Temporarily expose input value. Use with caution. get presharedKeyStorageInput() { return this._presharedKeyStorage; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } get remoteIpv4NetworkCidr() { return this.getStringAttribute('remote_ipv4_network_cidr'); } set remoteIpv4NetworkCidr(value) { this._remoteIpv4NetworkCidr = value; } resetRemoteIpv4NetworkCidr() { this._remoteIpv4NetworkCidr = undefined; } // Temporarily expose input value. Use with caution. get remoteIpv4NetworkCidrInput() { return this._remoteIpv4NetworkCidr; } get remoteIpv6NetworkCidr() { return this.getStringAttribute('remote_ipv6_network_cidr'); } set remoteIpv6NetworkCidr(value) { this._remoteIpv6NetworkCidr = value; } resetRemoteIpv6NetworkCidr() { this._remoteIpv6NetworkCidr = undefined; } // Temporarily expose input value. Use with caution. get remoteIpv6NetworkCidrInput() { return this._remoteIpv6NetworkCidr; } get routes() { return this._routes; } get staticRoutesOnly() { return this.getBooleanAttribute('static_routes_only'); } set staticRoutesOnly(value) { this._staticRoutesOnly = value; } resetStaticRoutesOnly() { this._staticRoutesOnly = undefined; } // Temporarily expose input value. Use with caution. get staticRoutesOnlyInput() { return this._staticRoutesOnly; } 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 tagsAll() { return this.getStringMapAttribute('tags_all'); } set tagsAll(value) { this._tagsAll = value; } resetTagsAll() { this._tagsAll = undefined; } // Temporarily expose input value. Use with caution. get tagsAllInput() { return this._tagsAll; } // transit_gateway_attachment_id - computed: true, optional: false, required: false get transitGatewayAttachmentId() { return this.getStringAttribute('transit_gateway_attachment_id'); } get transitGatewayId() { return this.getStringAttribute('transit_gateway_id'); } set transitGatewayId(value) { this._transitGatewayId = value; } resetTransitGatewayId() { this._transitGatewayId = undefined; } // Temporarily expose input value. Use with caution. get transitGatewayIdInput() { return this._transitGatewayId; } get transportTransitGatewayAttachmentId() { return this.getStringAttribute('transport_transit_gateway_attachment_id'); } set transportTransitGatewayAttachmentId(value) { this._transportTransitGatewayAttachmentId = value; } resetTransportTransitGatewayAttachmentId() { this._transportTransitGatewayAttachmentId = undefined; } // Temporarily expose input value. Use with caution. get transportTransitGatewayAttachmentIdInput() { return this._transportTransitGatewayAttachmentId; } // tunnel1_address - computed: true, optional: false, required: false get tunnel1Address() { return this.getStringAttribute('tunnel1_address'); } // tunnel1_bgp_asn - computed: true, optional: false, required: false get tunnel1BgpAsn() { return this.getStringAttribute('tunnel1_bgp_asn'); } // tunnel1_bgp_holdtime - computed: true, optional: false, required: false get tunnel1BgpHoldtime() { return this.getNumberAttribute('tunnel1_bgp_holdtime'); } // tunnel1_cgw_inside_address - computed: true, optional: false, required: false get tunnel1CgwInsideAddress() { return this.getStringAttribute('tunnel1_cgw_inside_address'); } get tunnel1DpdTimeoutAction() { return this.getStringAttribute('tunnel1_dpd_timeout_action'); } set tunnel1DpdTimeoutAction(value) { this._tunnel1DpdTimeoutAction = value; } resetTunnel1DpdTimeoutAction() { this._tunnel1DpdTimeoutAction = undefined; } // Temporarily expose input value. Use with caution. get tunnel1DpdTimeoutActionInput() { return this._tunnel1DpdTimeoutAction; } get tunnel1DpdTimeoutSeconds() { return this.getNumberAttribute('tunnel1_dpd_timeout_seconds'); } set tunnel1DpdTimeoutSeconds(value) { this._tunnel1DpdTimeoutSeconds = value; } resetTunnel1DpdTimeoutSeconds() { this._tunnel1DpdTimeoutSeconds = undefined; } // Temporarily expose input value. Use with caution. get tunnel1DpdTimeoutSecondsInput() { return this._tunnel1DpdTimeoutSeconds; } get tunnel1EnableTunnelLifecycleControl() { return this.getBooleanAttribute('tunnel1_enable_tunnel_lifecycle_control'); } set tunnel1EnableTunnelLifecycleControl(value) { this._tunnel1EnableTunnelLifecycleControl = value; } resetTunnel1EnableTunnelLifecycleControl() { this._tunnel1EnableTunnelLifecycleControl = undefined; } // Temporarily expose input value. Use with caution. get tunnel1EnableTunnelLifecycleControlInput() { return this._tunnel1EnableTunnelLifecycleControl; } get tunnel1IkeVersions() { return cdktf.Fn.tolist(this.getListAttribute('tunnel1_ike_versions')); } set tunnel1IkeVersions(value) { this._tunnel1IkeVersions = value; } resetTunnel1IkeVersions() { this._tunnel1IkeVersions = undefined; } // Temporarily expose input value. Use with caution. get tunnel1IkeVersionsInput() { return this._tunnel1IkeVersions; } get tunnel1InsideCidr() { return this.getStringAttribute('tunnel1_inside_cidr'); } set tunnel1InsideCidr(value) { this._tunnel1InsideCidr = value; } resetTunnel1InsideCidr() { this._tunnel1InsideCidr = undefined; } // Temporarily expose input value. Use with caution. get tunnel1InsideCidrInput() { return this._tunnel1InsideCidr; } get tunnel1InsideIpv6Cidr() { return this.getStringAttribute('tunnel1_inside_ipv6_cidr'); } set tunnel1InsideIpv6Cidr(value) { this._tunnel1InsideIpv6Cidr = value; } resetTunnel1InsideIpv6Cidr() { this._tunnel1InsideIpv6Cidr = undefined; } // Temporarily expose input value. Use with caution. get tunnel1InsideIpv6CidrInput() { return this._tunnel1InsideIpv6Cidr; } get tunnel1Phase1DhGroupNumbers() { return cdktf.Token.asNumberList(cdktf.Fn.tolist(this.getNumberListAttribute('tunnel1_phase1_dh_group_numbers'))); } set tunnel1Phase1DhGroupNumbers(value) { this._tunnel1Phase1DhGroupNumbers = value; } resetTunnel1Phase1DhGroupNumbers() { this._tunnel1Phase1DhGroupNumbers = undefined; } // Tempor