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