UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,160 lines 290 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.VpnConnection = exports.VpnConnectionTunnel2LogOptionsOutputReference = exports.vpnConnectionTunnel2LogOptionsToHclTerraform = exports.vpnConnectionTunnel2LogOptionsToTerraform = exports.VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutputReference = exports.vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToHclTerraform = exports.vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToTerraform = exports.VpnConnectionTunnel1LogOptionsOutputReference = exports.vpnConnectionTunnel1LogOptionsToHclTerraform = exports.vpnConnectionTunnel1LogOptionsToTerraform = exports.VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutputReference = exports.vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToHclTerraform = exports.vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToTerraform = exports.VpnConnectionVgwTelemetryList = exports.VpnConnectionVgwTelemetryOutputReference = exports.vpnConnectionVgwTelemetryToHclTerraform = exports.vpnConnectionVgwTelemetryToTerraform = exports.VpnConnectionRoutesList = exports.VpnConnectionRoutesOutputReference = exports.vpnConnectionRoutesToHclTerraform = exports.vpnConnectionRoutesToTerraform = void 0; 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 {}; } exports.vpnConnectionRoutesToTerraform = vpnConnectionRoutesToTerraform; 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; } exports.vpnConnectionRoutesToHclTerraform = vpnConnectionRoutesToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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 {}; } exports.vpnConnectionVgwTelemetryToTerraform = vpnConnectionVgwTelemetryToTerraform; 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; } exports.vpnConnectionVgwTelemetryToHclTerraform = vpnConnectionVgwTelemetryToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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 { log_enabled: cdktf.booleanToTerraform(struct.logEnabled), log_group_arn: cdktf.stringToTerraform(struct.logGroupArn), log_output_format: cdktf.stringToTerraform(struct.logOutputFormat), }; } exports.vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToTerraform = vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToTerraform; 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 = { 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)); } exports.vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToHclTerraform = vpnConnectionTunnel1LogOptionsCloudwatchLogOptionsToHclTerraform; 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._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._logEnabled = undefined; this._logGroupArn = undefined; this._logOutputFormat = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._logEnabled = value.logEnabled; this._logGroupArn = value.logGroupArn; this._logOutputFormat = value.logOutputFormat; } } 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: "19.50.0" }; 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), }; } exports.vpnConnectionTunnel1LogOptionsToTerraform = vpnConnectionTunnel1LogOptionsToTerraform; 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)); } exports.vpnConnectionTunnel1LogOptionsToHclTerraform = vpnConnectionTunnel1LogOptionsToHclTerraform; 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: "19.50.0" }; 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 { log_enabled: cdktf.booleanToTerraform(struct.logEnabled), log_group_arn: cdktf.stringToTerraform(struct.logGroupArn), log_output_format: cdktf.stringToTerraform(struct.logOutputFormat), }; } exports.vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToTerraform = vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToTerraform; 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 = { 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)); } exports.vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToHclTerraform = vpnConnectionTunnel2LogOptionsCloudwatchLogOptionsToHclTerraform; 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._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._logEnabled = undefined; this._logGroupArn = undefined; this._logOutputFormat = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._logEnabled = value.logEnabled; this._logGroupArn = value.logGroupArn; this._logOutputFormat = value.logOutputFormat; } } 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: "19.50.0" }; 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), }; } exports.vpnConnectionTunnel2LogOptionsToTerraform = vpnConnectionTunnel2LogOptionsToTerraform; 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)); } exports.vpnConnectionTunnel2LogOptionsToHclTerraform = vpnConnectionTunnel2LogOptionsToHclTerraform; 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: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.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/5.84.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/5.84.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: '5.84.0', providerVersionConstraint: '~> 5.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._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._tunnelInsideIpVersion = config.tunnelInsideIpVersion; this._type = config.type; 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; } 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; } // Temporarily expose input value. Use with caution. get tunnel1Phase1DhGroupNumbersInput() { return this._tunnel1Phase1DhGroupNumbers; } get tunnel1Phase1EncryptionAlgorithms() { return cdktf.Fn.tolist(this.getListAttribute('tunnel1_phase1_encryption_algorithms')); } set tunnel1Phase1EncryptionAlgorithms(value) { this._tunnel1Phase1EncryptionAlgorithms = value; } resetTunnel1Phase1EncryptionAlgorithms() { this._tunnel1Phase1EncryptionAlgorithms = undefined; } // Temporarily expose input value. Use with caution. get tunnel1Phase1EncryptionAlgorithmsInput() { return this._tunnel1Phase1EncryptionAlgorithms; } get tunnel1Phase1IntegrityAlgorithms() { return cdktf.Fn.tolist(this.getListAttribute('tunnel1_phase1_integrity_algorithms')); } set tunnel1Phase1IntegrityAlgorithms(value) { this._tunnel1Phase1IntegrityAlgorithms = value; } resetTunnel1Phase1IntegrityAlgorithms() { this._tunnel1Phase1IntegrityAlgorithms = undefined; } // Temporarily expose input value. Use with caution. get tunnel1Phase1IntegrityAlgorithmsInput() { return this._tunnel1Phase1IntegrityAlgorithms; } get tunnel1Phase1LifetimeSeconds() { return this.getNumberAttribute('tunnel1_phase1_lifetime_seconds'); } set tunnel1Phase1LifetimeSeconds(value) { this._tunnel1Phase1LifetimeSeconds = value; } resetTunnel1Phase1LifetimeSeconds() { this._tunnel1Phase1LifetimeSeconds = undefined; } // Temporarily expose input value. Use with caution. get tunnel1Phase1LifetimeSecondsInput() { return this._tunnel1Phase1LifetimeSeconds; } get tunnel1Phase2DhGroupNumbers() { return cdktf.Token.asNumberList(cdktf.Fn.tolist(this.getNumberListAttribute('tunnel1_phase2_dh_group_numbers'))); } set tunnel1Phase2DhGroupNumbers(value) { this._tunnel1Phase2DhGroupNumbers = value; } resetTunnel1Phase2DhGroupNumbers() { this._tunnel1Phase2DhGroupNumbers = undefined; } // Temporarily expose input value. Use with caution. get tunnel1Phase2DhGroupNumbersInput() { return this._tunnel1Phase2DhGroupNumbers; } get tunnel1Phase2EncryptionAlgorithms() { return cdktf.Fn.tolist(this.getListAttribute('tunnel1_phase2_encryption_algorithms')); } set tunnel1Phase2EncryptionAlgorithms(value) { this._tunnel1Phase2EncryptionAlgorithms = value; } resetTunnel1Phase2EncryptionAlgorithms() { this._tunnel1Phase2EncryptionAlgorithms = undefined; } // Temporarily expose input value. Use with caution. get tunnel1Phase2EncryptionAlgorithmsInput() { return this._tunnel1Phase2EncryptionAlgorithms; } get tunnel1Phase2IntegrityAlgorithms() { return cdktf.Fn.tolist(this.getListAttribute('tunnel1_phase2_integrity_algorithms')); } set tunnel1Phase2IntegrityAlgorithms(value) { this._tunnel1Phase2IntegrityAlgorithms = value; } resetTunnel1Phase2IntegrityAlgorithms() { this._tunnel1Phase2IntegrityAlgorithms = undefined; } // Temporarily expose input value. Use with caution. get tunnel1Phase2IntegrityAlgorithmsInput() { return this._tunnel1Phase2IntegrityAlgorithms; } get tunnel1Phase2LifetimeSeconds() { return this.getNumberAttribute('tunnel1_phase2_lifetime_seconds'); } set tunnel1Phase2LifetimeSeconds(value) { this._tunnel1Phase2LifetimeSeconds = value; } resetTunnel1Phase2LifetimeSeconds() { this._tunnel1Phase2LifetimeSeconds = undefined; } // Temporarily expose input value. Use with caution. get tunnel1Phase2LifetimeSecondsInput() { return this._tunnel1Phase2LifetimeSeconds; } get tunnel1PresharedKey() { return this.getStringAttribute('tunnel1_preshared_key'); } set tunnel1PresharedKey(value) { this._tunnel1PresharedKey = value; } resetTunnel1PresharedKey() { this._tunnel1PresharedKey = undefined; } // Temporarily expose input value. Use with caution. get tunnel1PresharedKeyInput() { return this._tunnel1PresharedKey; } get tunnel1RekeyFuzzPercentage() { return this.getNumberAttribute('tunnel1_rekey_fuzz_percentage'); } set tunnel1RekeyFuzzPercentage(value) { this._tunnel1RekeyFuzzPercentage = value; } resetTunnel1RekeyFuzzPercentage() { this._tunnel1RekeyFuzzPercentage = undefined; } // Temporarily expose input value. Use with caution. get tunnel1RekeyFuzzPercentageInput() { return this._tunnel1RekeyFuzzPercentage; } get tunnel1RekeyMarginTimeSeconds() { return this.getNumberAttribute('tunnel1_rekey_margin_time_seconds'); } set tunnel1RekeyMarginTimeSeconds(value) { this._tunnel1RekeyMarginTimeSeconds = value; } resetTunnel1RekeyMarginTimeSeconds() { this._tunnel1RekeyMarginTimeSeconds = undefined; } // Temporarily expose input value. Use with caution. get tunnel1RekeyMarginTimeSecondsInput() { return this._tunnel1RekeyMarginTimeSeconds; } get tunnel1ReplayWindowSize() { return this.getNumberAttribute('tunnel1_replay_window_size'); } set tunnel1ReplayWindowSize(value) { this._tunnel1ReplayWindowSize = value; } resetTunnel1ReplayWindowSize() { this._tunnel1ReplayWindowSize = undefined; } // Temporarily expose input value. Use with caution. get tunnel1ReplayWindowSizeInput() { return this._tunnel1ReplayWindowSize; } get tunnel1StartupAction() { return this.getStringAttribute('tunnel1_startup_action'); } set tunnel1StartupAction(value) { this._tunnel1StartupAction = value; } resetTunnel1StartupAction() { this._tunnel1StartupAction = undefined; } // Temporarily expose input value. Use with caution. get tunnel1StartupActionInput() { return this._tunnel1StartupAction; } // tu