@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,027 lines • 144 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
Object.defineProperty(exports, "__esModule", { value: true });
exports.VpcEncryptionControl = exports.VpcEncryptionControlTimeoutsOutputReference = exports.VpcEncryptionControlResourceExclusionsOutputReference = exports.VpcEncryptionControlResourceExclusionsVpcPeeringOutputReference = exports.VpcEncryptionControlResourceExclusionsVpcLatticeOutputReference = exports.VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputReference = exports.VpcEncryptionControlResourceExclusionsNatGatewayOutputReference = exports.VpcEncryptionControlResourceExclusionsLambdaOutputReference = exports.VpcEncryptionControlResourceExclusionsInternetGatewayOutputReference = exports.VpcEncryptionControlResourceExclusionsElasticFileSystemOutputReference = exports.VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputReference = void 0;
exports.vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayToTerraform = vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayToTerraform;
exports.vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayToHclTerraform = vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayToHclTerraform;
exports.vpcEncryptionControlResourceExclusionsElasticFileSystemToTerraform = vpcEncryptionControlResourceExclusionsElasticFileSystemToTerraform;
exports.vpcEncryptionControlResourceExclusionsElasticFileSystemToHclTerraform = vpcEncryptionControlResourceExclusionsElasticFileSystemToHclTerraform;
exports.vpcEncryptionControlResourceExclusionsInternetGatewayToTerraform = vpcEncryptionControlResourceExclusionsInternetGatewayToTerraform;
exports.vpcEncryptionControlResourceExclusionsInternetGatewayToHclTerraform = vpcEncryptionControlResourceExclusionsInternetGatewayToHclTerraform;
exports.vpcEncryptionControlResourceExclusionsLambdaToTerraform = vpcEncryptionControlResourceExclusionsLambdaToTerraform;
exports.vpcEncryptionControlResourceExclusionsLambdaToHclTerraform = vpcEncryptionControlResourceExclusionsLambdaToHclTerraform;
exports.vpcEncryptionControlResourceExclusionsNatGatewayToTerraform = vpcEncryptionControlResourceExclusionsNatGatewayToTerraform;
exports.vpcEncryptionControlResourceExclusionsNatGatewayToHclTerraform = vpcEncryptionControlResourceExclusionsNatGatewayToHclTerraform;
exports.vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayToTerraform = vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayToTerraform;
exports.vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayToHclTerraform = vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayToHclTerraform;
exports.vpcEncryptionControlResourceExclusionsVpcLatticeToTerraform = vpcEncryptionControlResourceExclusionsVpcLatticeToTerraform;
exports.vpcEncryptionControlResourceExclusionsVpcLatticeToHclTerraform = vpcEncryptionControlResourceExclusionsVpcLatticeToHclTerraform;
exports.vpcEncryptionControlResourceExclusionsVpcPeeringToTerraform = vpcEncryptionControlResourceExclusionsVpcPeeringToTerraform;
exports.vpcEncryptionControlResourceExclusionsVpcPeeringToHclTerraform = vpcEncryptionControlResourceExclusionsVpcPeeringToHclTerraform;
exports.vpcEncryptionControlResourceExclusionsToTerraform = vpcEncryptionControlResourceExclusionsToTerraform;
exports.vpcEncryptionControlResourceExclusionsToHclTerraform = vpcEncryptionControlResourceExclusionsToHclTerraform;
exports.vpcEncryptionControlTimeoutsToTerraform = vpcEncryptionControlTimeoutsToTerraform;
exports.vpcEncryptionControlTimeoutsToHclTerraform = vpcEncryptionControlTimeoutsToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayToTerraform(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 vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayToHclTerraform(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 VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
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;
}
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
}
exports.VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputReference = VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputReference;
_a = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputReference[_a] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputReference", version: "21.22.1" };
function vpcEncryptionControlResourceExclusionsElasticFileSystemToTerraform(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 vpcEncryptionControlResourceExclusionsElasticFileSystemToHclTerraform(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 VpcEncryptionControlResourceExclusionsElasticFileSystemOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
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;
}
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
}
exports.VpcEncryptionControlResourceExclusionsElasticFileSystemOutputReference = VpcEncryptionControlResourceExclusionsElasticFileSystemOutputReference;
_b = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlResourceExclusionsElasticFileSystemOutputReference[_b] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlResourceExclusionsElasticFileSystemOutputReference", version: "21.22.1" };
function vpcEncryptionControlResourceExclusionsInternetGatewayToTerraform(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 vpcEncryptionControlResourceExclusionsInternetGatewayToHclTerraform(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 VpcEncryptionControlResourceExclusionsInternetGatewayOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
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;
}
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
}
exports.VpcEncryptionControlResourceExclusionsInternetGatewayOutputReference = VpcEncryptionControlResourceExclusionsInternetGatewayOutputReference;
_c = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlResourceExclusionsInternetGatewayOutputReference[_c] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlResourceExclusionsInternetGatewayOutputReference", version: "21.22.1" };
function vpcEncryptionControlResourceExclusionsLambdaToTerraform(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 vpcEncryptionControlResourceExclusionsLambdaToHclTerraform(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 VpcEncryptionControlResourceExclusionsLambdaOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
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;
}
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
}
exports.VpcEncryptionControlResourceExclusionsLambdaOutputReference = VpcEncryptionControlResourceExclusionsLambdaOutputReference;
_d = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlResourceExclusionsLambdaOutputReference[_d] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlResourceExclusionsLambdaOutputReference", version: "21.22.1" };
function vpcEncryptionControlResourceExclusionsNatGatewayToTerraform(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 vpcEncryptionControlResourceExclusionsNatGatewayToHclTerraform(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 VpcEncryptionControlResourceExclusionsNatGatewayOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
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;
}
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
}
exports.VpcEncryptionControlResourceExclusionsNatGatewayOutputReference = VpcEncryptionControlResourceExclusionsNatGatewayOutputReference;
_e = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlResourceExclusionsNatGatewayOutputReference[_e] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlResourceExclusionsNatGatewayOutputReference", version: "21.22.1" };
function vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayToTerraform(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 vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayToHclTerraform(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 VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
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;
}
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
}
exports.VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputReference = VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputReference;
_f = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputReference[_f] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputReference", version: "21.22.1" };
function vpcEncryptionControlResourceExclusionsVpcLatticeToTerraform(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 vpcEncryptionControlResourceExclusionsVpcLatticeToHclTerraform(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 VpcEncryptionControlResourceExclusionsVpcLatticeOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
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;
}
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
}
exports.VpcEncryptionControlResourceExclusionsVpcLatticeOutputReference = VpcEncryptionControlResourceExclusionsVpcLatticeOutputReference;
_g = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlResourceExclusionsVpcLatticeOutputReference[_g] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlResourceExclusionsVpcLatticeOutputReference", version: "21.22.1" };
function vpcEncryptionControlResourceExclusionsVpcPeeringToTerraform(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 vpcEncryptionControlResourceExclusionsVpcPeeringToHclTerraform(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 VpcEncryptionControlResourceExclusionsVpcPeeringOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
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;
}
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
}
exports.VpcEncryptionControlResourceExclusionsVpcPeeringOutputReference = VpcEncryptionControlResourceExclusionsVpcPeeringOutputReference;
_h = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlResourceExclusionsVpcPeeringOutputReference[_h] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlResourceExclusionsVpcPeeringOutputReference", version: "21.22.1" };
function vpcEncryptionControlResourceExclusionsToTerraform(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 vpcEncryptionControlResourceExclusionsToHclTerraform(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 VpcEncryptionControlResourceExclusionsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
// egress_only_internet_gateway - computed: true, optional: false, required: false
this._egressOnlyInternetGateway = new VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputReference(this, "egress_only_internet_gateway");
// elastic_file_system - computed: true, optional: false, required: false
this._elasticFileSystem = new VpcEncryptionControlResourceExclusionsElasticFileSystemOutputReference(this, "elastic_file_system");
// internet_gateway - computed: true, optional: false, required: false
this._internetGateway = new VpcEncryptionControlResourceExclusionsInternetGatewayOutputReference(this, "internet_gateway");
// lambda - computed: true, optional: false, required: false
this._lambda = new VpcEncryptionControlResourceExclusionsLambdaOutputReference(this, "lambda");
// nat_gateway - computed: true, optional: false, required: false
this._natGateway = new VpcEncryptionControlResourceExclusionsNatGatewayOutputReference(this, "nat_gateway");
// virtual_private_gateway - computed: true, optional: false, required: false
this._virtualPrivateGateway = new VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputReference(this, "virtual_private_gateway");
// vpc_lattice - computed: true, optional: false, required: false
this._vpcLattice = new VpcEncryptionControlResourceExclusionsVpcLatticeOutputReference(this, "vpc_lattice");
// vpc_peering - computed: true, optional: false, required: false
this._vpcPeering = new VpcEncryptionControlResourceExclusionsVpcPeeringOutputReference(this, "vpc_peering");
}
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;
}
}
get egressOnlyInternetGateway() {
return this._egressOnlyInternetGateway;
}
get elasticFileSystem() {
return this._elasticFileSystem;
}
get internetGateway() {
return this._internetGateway;
}
get lambda() {
return this._lambda;
}
get natGateway() {
return this._natGateway;
}
get virtualPrivateGateway() {
return this._virtualPrivateGateway;
}
get vpcLattice() {
return this._vpcLattice;
}
get vpcPeering() {
return this._vpcPeering;
}
}
exports.VpcEncryptionControlResourceExclusionsOutputReference = VpcEncryptionControlResourceExclusionsOutputReference;
_j = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlResourceExclusionsOutputReference[_j] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlResourceExclusionsOutputReference", version: "21.22.1" };
function vpcEncryptionControlTimeoutsToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
create: cdktf.stringToTerraform(struct.create),
delete: cdktf.stringToTerraform(struct.delete),
update: cdktf.stringToTerraform(struct.update),
};
}
function vpcEncryptionControlTimeoutsToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
create: {
value: cdktf.stringToHclTerraform(struct.create),
isBlock: false,
type: "simple",
storageClassType: "string",
},
delete: {
value: cdktf.stringToHclTerraform(struct.delete),
isBlock: false,
type: "simple",
storageClassType: "string",
},
update: {
value: cdktf.stringToHclTerraform(struct.update),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class VpcEncryptionControlTimeoutsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._create !== undefined) {
hasAnyValues = true;
internalValueResult.create = this._create;
}
if (this._delete !== undefined) {
hasAnyValues = true;
internalValueResult.delete = this._delete;
}
if (this._update !== undefined) {
hasAnyValues = true;
internalValueResult.update = this._update;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._create = undefined;
this._delete = undefined;
this._update = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._create = value.create;
this._delete = value.delete;
this._update = value.update;
}
}
get create() {
return this.getStringAttribute('create');
}
set create(value) {
this._create = value;
}
resetCreate() {
this._create = undefined;
}
// Temporarily expose input value. Use with caution.
get createInput() {
return this._create;
}
get delete() {
return this.getStringAttribute('delete');
}
set delete(value) {
this._delete = value;
}
resetDelete() {
this._delete = undefined;
}
// Temporarily expose input value. Use with caution.
get deleteInput() {
return this._delete;
}
get update() {
return this.getStringAttribute('update');
}
set update(value) {
this._update = value;
}
resetUpdate() {
this._update = undefined;
}
// Temporarily expose input value. Use with caution.
get updateInput() {
return this._update;
}
}
exports.VpcEncryptionControlTimeoutsOutputReference = VpcEncryptionControlTimeoutsOutputReference;
_k = JSII_RTTI_SYMBOL_1;
VpcEncryptionControlTimeoutsOutputReference[_k] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControlTimeoutsOutputReference", version: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/vpc_encryption_control aws_vpc_encryption_control}
*/
class VpcEncryptionControl extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a VpcEncryptionControl 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 VpcEncryptionControl to import
* @param importFromId The id of the existing VpcEncryptionControl that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/vpc_encryption_control#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the VpcEncryptionControl to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_vpc_encryption_control", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/vpc_encryption_control aws_vpc_encryption_control} 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 VpcEncryptionControlConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_vpc_encryption_control',
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
});
// resource_exclusions - computed: true, optional: false, required: false
this._resourceExclusions = new VpcEncryptionControlResourceExclusionsOutputReference(this, "resource_exclusions");
// tags_all - computed: true, optional: false, required: false
this._tagsAll = new cdktf.StringMap(this, "tags_all");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new VpcEncryptionControlTimeoutsOutputReference(this, "timeouts");
this._egressOnlyInternetGatewayExclusion = config.egressOnlyInternetGatewayExclusion;
this._elasticFileSystemExclusion = config.elasticFileSystemExclusion;
this._internetGatewayExclusion = config.internetGatewayExclusion;
this._lambdaExclusion = config.lambdaExclusion;
this._mode = config.mode;
this._natGatewayExclusion = config.natGatewayExclusion;
this._region = config.region;
this._tags = config.tags;
this._virtualPrivateGatewayExclusion = config.virtualPrivateGatewayExclusion;
this._vpcId = config.vpcId;
this._vpcLatticeExclusion = config.vpcLatticeExclusion;
this._vpcPeeringExclusion = config.vpcPeeringExclusion;
this._timeouts.internalValue = config.timeouts;
}
get egressOnlyInternetGatewayExclusion() {
return this.getStringAttribute('egress_only_internet_gateway_exclusion');
}
set egressOnlyInternetGatewayExclusion(value) {
this._egressOnlyInternetGatewayExclusion = value;
}
resetEgressOnlyInternetGatewayExclusion() {
this._egressOnlyInternetGatewayExclusion = undefined;
}
// Temporarily expose input value. Use with caution.
get egressOnlyInternetGatewayExclusionInput() {
return this._egressOnlyInternetGatewayExclusion;
}
get elasticFileSystemExclusion() {
return this.getStringAttribute('elastic_file_system_exclusion');
}
set elasticFileSystemExclusion(value) {
this._elasticFileSystemExclusion = value;
}
resetElasticFileSystemExclusion() {
this._elasticFileSystemExclusion = undefined;
}
// Temporarily expose input value. Use with caution.
get elasticFileSystemExclusionInput() {
return this._elasticFileSystemExclusion;
}
// id - computed: true, optional: false, required: false
get id() {
return this.getStringAttribute('id');
}
get internetGatewayExclusion() {
return this.getStringAttribute('internet_gateway_exclusion');
}
set internetGatewayExclusion(value) {
this._internetGatewayExclusion = value;
}
resetInternetGatewayExclusion() {
this._internetGatewayExclusion = undefined;
}
// Temporarily expose input value. Use with caution.
get internetGatewayExclusionInput() {
return this._internetGatewayExclusion;
}
get lambdaExclusion() {
return this.getStringAttribute('lambda_exclusion');
}
set lambdaExclusion(value) {
this._lambdaExclusion = value;
}
resetLambdaExclusion() {
this._lambdaExclusion = undefined;
}
// Temporarily expose input value. Use with caution.
get lambdaExclusionInput() {
return this._lambdaExclusion;
}
get mode() {
return this.getStringAttribute('mode');
}
set mode(value) {
this._mode = value;
}
// Temporarily expose input value. Use with caution.
get modeInput() {
return this._mode;
}
get natGatewayExclusion() {
return this.getStringAttribute('nat_gateway_exclusion');
}
set natGatewayExclusion(value) {
this._natGatewayExclusion = value;
}
resetNatGatewayExclusion() {
this._natGatewayExclusion = undefined;
}
// Temporarily expose input value. Use with caution.
get natGatewayExclusionInput() {
return this._natGatewayExclusion;
}
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 resourceExclusions() {
return this._resourceExclusions;
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
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._tagsAll;
}
get virtualPrivateGatewayExclusion() {
return this.getStringAttribute('virtual_private_gateway_exclusion');
}
set virtualPrivateGatewayExclusion(value) {
this._virtualPrivateGatewayExclusion = value;
}
resetVirtualPrivateGatewayExclusion() {
this._virtualPrivateGatewayExclusion = undefined;
}
// Temporarily expose input value. Use with caution.
get virtualPrivateGatewayExclusionInput() {
return this._virtualPrivateGatewayExclusion;
}
get vpcId() {
return this.getStringAttribute('vpc_id');
}
set vpcId(value) {
this._vpcId = value;
}
// Temporarily expose input value. Use with caution.
get vpcIdInput() {
return this._vpcId;
}
get vpcLatticeExclusion() {
return this.getStringAttribute('vpc_lattice_exclusion');
}
set vpcLatticeExclusion(value) {
this._vpcLatticeExclusion = value;
}
resetVpcLatticeExclusion() {
this._vpcLatticeExclusion = undefined;
}
// Temporarily expose input value. Use with caution.
get vpcLatticeExclusionInput() {
return this._vpcLatticeExclusion;
}
get vpcPeeringExclusion() {
return this.getStringAttribute('vpc_peering_exclusion');
}
set vpcPeeringExclusion(value) {
this._vpcPeeringExclusion = value;
}
resetVpcPeeringExclusion() {
this._vpcPeeringExclusion = undefined;
}
// Temporarily expose input value. Use with caution.
get vpcPeeringExclusionInput() {
return this._vpcPeeringExclusion;
}
get timeouts() {
return this._timeouts;
}
putTimeouts(value) {
this._timeouts.internalValue = value;
}
resetTimeouts() {
this._timeouts.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get timeoutsInput() {
return this._timeouts.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
egress_only_internet_gateway_exclusion: cdktf.stringToTerraform(this._egressOnlyInternetGatewayExclusion),
elastic_file_system_exclusion: cdktf.stringToTerraform(this._elasticFileSystemExclusion),
internet_gateway_exclusion: cdktf.stringToTerraform(this._internetGatewayExclusion),
lambda_exclusion: cdktf.stringToTerraform(this._lambdaExclusion),
mode: cdktf.stringToTerraform(this._mode),
nat_gateway_exclusion: cdktf.stringToTerraform(this._natGatewayExclusion),
region: cdktf.stringToTerraform(this._region),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
virtual_private_gateway_exclusion: cdktf.stringToTerraform(this._virtualPrivateGatewayExclusion),
vpc_id: cdktf.stringToTerraform(this._vpcId),
vpc_lattice_exclusion: cdktf.stringToTerraform(this._vpcLatticeExclusion),
vpc_peering_exclusion: cdktf.stringToTerraform(this._vpcPeeringExclusion),
timeouts: vpcEncryptionControlTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
egress_only_internet_gateway_exclusion: {
value: cdktf.stringToHclTerraform(this._egressOnlyInternetGatewayExclusion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
elastic_file_system_exclusion: {
value: cdktf.stringToHclTerraform(this._elasticFileSystemExclusion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
internet_gateway_exclusion: {
value: cdktf.stringToHclTerraform(this._internetGatewayExclusion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
lambda_exclusion: {
value: cdktf.stringToHclTerraform(this._lambdaExclusion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
mode: {
value: cdktf.stringToHclTerraform(this._mode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
nat_gateway_exclusion: {
value: cdktf.stringToHclTerraform(this._natGatewayExclusion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
region: {
value: cdktf.stringToHclTerraform(this._region),
isBlock: false,
type: "simple",
storageClassType: "string",
},
tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
virtual_private_gateway_exclusion: {
value: cdktf.stringToHclTerraform(this._virtualPrivateGatewayExclusion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
vpc_id: {
value: cdktf.stringToHclTerraform(this._vpcId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
vpc_lattice_exclusion: {
value: cdktf.stringToHclTerraform(this._vpcLatticeExclusion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
vpc_peering_exclusion: {
value: cdktf.stringToHclTerraform(this._vpcPeeringExclusion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
timeouts: {
value: vpcEncryptionControlTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "VpcEncryptionControlTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.VpcEncryptionControl = VpcEncryptionControl;
_l = JSII_RTTI_SYMBOL_1;
VpcEncryptionControl[_l] = { fqn: "@cdktf/provider-aws.vpcEncryptionControl.VpcEncryptionControl", version: "21.22.1" };
// =================
// STATIC PROPERTIES
// =================
VpcEncryptionControl.tfResourceType = "aws_vpc_encryption_control";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdnBjLWVuY3J5cHRpb24tY29udHJvbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBMEVBLGdLQU9DO0FBR0Qsc0tBUUM7QUF5Q0QsZ0pBT0M7QUFHRCxzSkFRQztBQXlDRCw0SUFPQztBQUdELGtKQVFDO0FBeUNELDBIQU9DO0FBR0QsZ0lBUUM7QUF5Q0Qsa0lBT0M7QUFHRCx3SUFRQztBQXlDRCx3SkFPQztBQUdELDhKQVFDO0FBeUNELGtJQU9DO0FBR0Qsd0lBUUM7QUF5Q0Qsa0lBT0M7QUFHRCx3SUFRQztBQXlDRCw4R0FPQztBQUdELG9IQVFDO0FBaUdELDBGQVVDO0FBR0QsZ0dBNEJDOztBQXJyQkQsK0JBQStCO0FBaUUvQixTQUFnQiwwRUFBMEUsQ0FBQyxNQUF3RTtJQUNqSyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPLEVBQ04sQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQiw2RUFBNkUsQ0FBQyxNQUF3RTtJQUNwSyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJ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