@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,122 lines • 181 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NetworkfirewallFirewall = exports.NetworkfirewallFirewallTimeoutsOutputReference = exports.NetworkfirewallFirewallSubnetMappingList = exports.NetworkfirewallFirewallSubnetMappingOutputReference = exports.NetworkfirewallFirewallEncryptionConfigurationOutputReference = exports.NetworkfirewallFirewallAvailabilityZoneMappingList = exports.NetworkfirewallFirewallAvailabilityZoneMappingOutputReference = exports.NetworkfirewallFirewallFirewallStatusList = exports.NetworkfirewallFirewallFirewallStatusOutputReference = exports.NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesList = exports.NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesOutputReference = exports.NetworkfirewallFirewallFirewallStatusSyncStatesList = exports.NetworkfirewallFirewallFirewallStatusSyncStatesOutputReference = exports.NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentList = exports.NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentOutputReference = void 0;
exports.networkfirewallFirewallFirewallStatusSyncStatesAttachmentToTerraform = networkfirewallFirewallFirewallStatusSyncStatesAttachmentToTerraform;
exports.networkfirewallFirewallFirewallStatusSyncStatesAttachmentToHclTerraform = networkfirewallFirewallFirewallStatusSyncStatesAttachmentToHclTerraform;
exports.networkfirewallFirewallFirewallStatusSyncStatesToTerraform = networkfirewallFirewallFirewallStatusSyncStatesToTerraform;
exports.networkfirewallFirewallFirewallStatusSyncStatesToHclTerraform = networkfirewallFirewallFirewallStatusSyncStatesToHclTerraform;
exports.networkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesToTerraform = networkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesToTerraform;
exports.networkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesToHclTerraform = networkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesToHclTerraform;
exports.networkfirewallFirewallFirewallStatusToTerraform = networkfirewallFirewallFirewallStatusToTerraform;
exports.networkfirewallFirewallFirewallStatusToHclTerraform = networkfirewallFirewallFirewallStatusToHclTerraform;
exports.networkfirewallFirewallAvailabilityZoneMappingToTerraform = networkfirewallFirewallAvailabilityZoneMappingToTerraform;
exports.networkfirewallFirewallAvailabilityZoneMappingToHclTerraform = networkfirewallFirewallAvailabilityZoneMappingToHclTerraform;
exports.networkfirewallFirewallEncryptionConfigurationToTerraform = networkfirewallFirewallEncryptionConfigurationToTerraform;
exports.networkfirewallFirewallEncryptionConfigurationToHclTerraform = networkfirewallFirewallEncryptionConfigurationToHclTerraform;
exports.networkfirewallFirewallSubnetMappingToTerraform = networkfirewallFirewallSubnetMappingToTerraform;
exports.networkfirewallFirewallSubnetMappingToHclTerraform = networkfirewallFirewallSubnetMappingToHclTerraform;
exports.networkfirewallFirewallTimeoutsToTerraform = networkfirewallFirewallTimeoutsToTerraform;
exports.networkfirewallFirewallTimeoutsToHclTerraform = networkfirewallFirewallTimeoutsToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function networkfirewallFirewallFirewallStatusSyncStatesAttachmentToTerraform(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 networkfirewallFirewallFirewallStatusSyncStatesAttachmentToHclTerraform(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 NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentOutputReference 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;
}
}
// endpoint_id - computed: true, optional: false, required: false
get endpointId() {
return this.getStringAttribute('endpoint_id');
}
// subnet_id - computed: true, optional: false, required: false
get subnetId() {
return this.getStringAttribute('subnet_id');
}
}
exports.NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentOutputReference = NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentOutputReference;
_a = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentOutputReference[_a] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentOutputReference", version: "21.22.1" };
class NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentList 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 NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentList = NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentList;
_b = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentList[_b] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentList", version: "21.22.1" };
function networkfirewallFirewallFirewallStatusSyncStatesToTerraform(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 networkfirewallFirewallFirewallStatusSyncStatesToHclTerraform(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 NetworkfirewallFirewallFirewallStatusSyncStatesOutputReference 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;
// attachment - computed: true, optional: false, required: false
this._attachment = new NetworkfirewallFirewallFirewallStatusSyncStatesAttachmentList(this, "attachment", 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;
}
}
get attachment() {
return this._attachment;
}
// availability_zone - computed: true, optional: false, required: false
get availabilityZone() {
return this.getStringAttribute('availability_zone');
}
}
exports.NetworkfirewallFirewallFirewallStatusSyncStatesOutputReference = NetworkfirewallFirewallFirewallStatusSyncStatesOutputReference;
_c = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallFirewallStatusSyncStatesOutputReference[_c] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallFirewallStatusSyncStatesOutputReference", version: "21.22.1" };
class NetworkfirewallFirewallFirewallStatusSyncStatesList 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 NetworkfirewallFirewallFirewallStatusSyncStatesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.NetworkfirewallFirewallFirewallStatusSyncStatesList = NetworkfirewallFirewallFirewallStatusSyncStatesList;
_d = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallFirewallStatusSyncStatesList[_d] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallFirewallStatusSyncStatesList", version: "21.22.1" };
function networkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesToTerraform(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 networkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesToHclTerraform(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 NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesOutputReference 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;
}
}
// attachment_id - computed: true, optional: false, required: false
get attachmentId() {
return this.getStringAttribute('attachment_id');
}
}
exports.NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesOutputReference = NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesOutputReference;
_e = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesOutputReference[_e] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesOutputReference", version: "21.22.1" };
class NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesList 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 NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesList = NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesList;
_f = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesList[_f] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesList", version: "21.22.1" };
function networkfirewallFirewallFirewallStatusToTerraform(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 networkfirewallFirewallFirewallStatusToHclTerraform(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 NetworkfirewallFirewallFirewallStatusOutputReference 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;
// sync_states - computed: true, optional: false, required: false
this._syncStates = new NetworkfirewallFirewallFirewallStatusSyncStatesList(this, "sync_states", true);
// transit_gateway_attachment_sync_states - computed: true, optional: false, required: false
this._transitGatewayAttachmentSyncStates = new NetworkfirewallFirewallFirewallStatusTransitGatewayAttachmentSyncStatesList(this, "transit_gateway_attachment_sync_states", 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;
}
}
get syncStates() {
return this._syncStates;
}
get transitGatewayAttachmentSyncStates() {
return this._transitGatewayAttachmentSyncStates;
}
}
exports.NetworkfirewallFirewallFirewallStatusOutputReference = NetworkfirewallFirewallFirewallStatusOutputReference;
_g = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallFirewallStatusOutputReference[_g] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallFirewallStatusOutputReference", version: "21.22.1" };
class NetworkfirewallFirewallFirewallStatusList 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 NetworkfirewallFirewallFirewallStatusOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.NetworkfirewallFirewallFirewallStatusList = NetworkfirewallFirewallFirewallStatusList;
_h = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallFirewallStatusList[_h] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallFirewallStatusList", version: "21.22.1" };
function networkfirewallFirewallAvailabilityZoneMappingToTerraform(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 {
availability_zone_id: cdktf.stringToTerraform(struct.availabilityZoneId),
};
}
function networkfirewallFirewallAvailabilityZoneMappingToHclTerraform(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 = {
availability_zone_id: {
value: cdktf.stringToHclTerraform(struct.availabilityZoneId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class NetworkfirewallFirewallAvailabilityZoneMappingOutputReference 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() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._availabilityZoneId !== undefined) {
hasAnyValues = true;
internalValueResult.availabilityZoneId = this._availabilityZoneId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._availabilityZoneId = 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._availabilityZoneId = value.availabilityZoneId;
}
}
get availabilityZoneId() {
return this.getStringAttribute('availability_zone_id');
}
set availabilityZoneId(value) {
this._availabilityZoneId = value;
}
// Temporarily expose input value. Use with caution.
get availabilityZoneIdInput() {
return this._availabilityZoneId;
}
}
exports.NetworkfirewallFirewallAvailabilityZoneMappingOutputReference = NetworkfirewallFirewallAvailabilityZoneMappingOutputReference;
_j = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallAvailabilityZoneMappingOutputReference[_j] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallAvailabilityZoneMappingOutputReference", version: "21.22.1" };
class NetworkfirewallFirewallAvailabilityZoneMappingList 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 NetworkfirewallFirewallAvailabilityZoneMappingOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.NetworkfirewallFirewallAvailabilityZoneMappingList = NetworkfirewallFirewallAvailabilityZoneMappingList;
_k = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallAvailabilityZoneMappingList[_k] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallAvailabilityZoneMappingList", version: "21.22.1" };
function networkfirewallFirewallEncryptionConfigurationToTerraform(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 {
key_id: cdktf.stringToTerraform(struct.keyId),
type: cdktf.stringToTerraform(struct.type),
};
}
function networkfirewallFirewallEncryptionConfigurationToHclTerraform(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 = {
key_id: {
value: cdktf.stringToHclTerraform(struct.keyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class NetworkfirewallFirewallEncryptionConfigurationOutputReference 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._keyId !== undefined) {
hasAnyValues = true;
internalValueResult.keyId = this._keyId;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._keyId = undefined;
this._type = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._keyId = value.keyId;
this._type = value.type;
}
}
get keyId() {
return this.getStringAttribute('key_id');
}
set keyId(value) {
this._keyId = value;
}
resetKeyId() {
this._keyId = undefined;
}
// Temporarily expose input value. Use with caution.
get keyIdInput() {
return this._keyId;
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
}
exports.NetworkfirewallFirewallEncryptionConfigurationOutputReference = NetworkfirewallFirewallEncryptionConfigurationOutputReference;
_l = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallEncryptionConfigurationOutputReference[_l] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallEncryptionConfigurationOutputReference", version: "21.22.1" };
function networkfirewallFirewallSubnetMappingToTerraform(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 {
ip_address_type: cdktf.stringToTerraform(struct.ipAddressType),
subnet_id: cdktf.stringToTerraform(struct.subnetId),
};
}
function networkfirewallFirewallSubnetMappingToHclTerraform(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 = {
ip_address_type: {
value: cdktf.stringToHclTerraform(struct.ipAddressType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
subnet_id: {
value: cdktf.stringToHclTerraform(struct.subnetId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class NetworkfirewallFirewallSubnetMappingOutputReference 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() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._ipAddressType !== undefined) {
hasAnyValues = true;
internalValueResult.ipAddressType = this._ipAddressType;
}
if (this._subnetId !== undefined) {
hasAnyValues = true;
internalValueResult.subnetId = this._subnetId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._ipAddressType = undefined;
this._subnetId = 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._ipAddressType = value.ipAddressType;
this._subnetId = value.subnetId;
}
}
get ipAddressType() {
return this.getStringAttribute('ip_address_type');
}
set ipAddressType(value) {
this._ipAddressType = value;
}
resetIpAddressType() {
this._ipAddressType = undefined;
}
// Temporarily expose input value. Use with caution.
get ipAddressTypeInput() {
return this._ipAddressType;
}
get subnetId() {
return this.getStringAttribute('subnet_id');
}
set subnetId(value) {
this._subnetId = value;
}
// Temporarily expose input value. Use with caution.
get subnetIdInput() {
return this._subnetId;
}
}
exports.NetworkfirewallFirewallSubnetMappingOutputReference = NetworkfirewallFirewallSubnetMappingOutputReference;
_m = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallSubnetMappingOutputReference[_m] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallSubnetMappingOutputReference", version: "21.22.1" };
class NetworkfirewallFirewallSubnetMappingList 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 NetworkfirewallFirewallSubnetMappingOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.NetworkfirewallFirewallSubnetMappingList = NetworkfirewallFirewallSubnetMappingList;
_o = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallSubnetMappingList[_o] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallSubnetMappingList", version: "21.22.1" };
function networkfirewallFirewallTimeoutsToTerraform(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 networkfirewallFirewallTimeoutsToHclTerraform(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 NetworkfirewallFirewallTimeoutsOutputReference 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.NetworkfirewallFirewallTimeoutsOutputReference = NetworkfirewallFirewallTimeoutsOutputReference;
_p = JSII_RTTI_SYMBOL_1;
NetworkfirewallFirewallTimeoutsOutputReference[_p] = { fqn: "@cdktf/provider-aws.networkfirewallFirewall.NetworkfirewallFirewallTimeoutsOutputReference", version: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/networkfirewall_firewall aws_networkfirewall_firewall}
*/
class NetworkfirewallFirewall extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a NetworkfirewallFirewall 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 NetworkfirewallFirewall to import
* @param importFromId The id of the existing NetworkfirewallFirewall that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/networkfirewall_firewall#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the NetworkfirewallFirewall to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_networkfirewall_firewall", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/networkfirewall_firewall aws_networkfirewall_firewall} 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 NetworkfirewallFirewallConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_networkfirewall_firewall',
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
});
// firewall_status - computed: true, optional: false, required: false
this._firewallStatus = new NetworkfirewallFirewallFirewallStatusList(this, "firewall_status", false);
// availability_zone_mapping - computed: false, optional: true, required: false
this._availabilityZoneMapping = new NetworkfirewallFirewallAvailabilityZoneMappingList(this, "availability_zone_mapping", true);
// encryption_configuration - computed: false, optional: true, required: false
this._encryptionConfiguration = new NetworkfirewallFirewallEncryptionConfigurationOutputReference(this, "encryption_configuration");
// subnet_mapping - computed: false, optional: true, required: false
this._subnetMapping = new NetworkfirewallFirewallSubnetMappingList(this, "subnet_mapping", true);
// timeouts - computed: false, optional: true, required: false
this._timeouts = new NetworkfirewallFirewallTimeoutsOutputReference(this, "timeouts");
this._availabilityZoneChangeProtection = config.availabilityZoneChangeProtection;
this._deleteProtection = config.deleteProtection;
this._description = config.description;
this._enabledAnalysisTypes = config.enabledAnalysisTypes;
this._firewallPolicyArn = config.firewallPolicyArn;
this._firewallPolicyChangeProtection = config.firewallPolicyChangeProtection;
this._id = config.id;
this._name = config.name;
this._region = config.region;
this._subnetChangeProtection = config.subnetChangeProtection;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._transitGatewayId = config.transitGatewayId;
this._vpcId = config.vpcId;
this._availabilityZoneMapping.internalValue = config.availabilityZoneMapping;
this._encryptionConfiguration.internalValue = config.encryptionConfiguration;
this._subnetMapping.internalValue = config.subnetMapping;
this._timeouts.internalValue = config.timeouts;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
get availabilityZoneChangeProtection() {
return this.getBooleanAttribute('availability_zone_change_protection');
}
set availabilityZoneChangeProtection(value) {
this._availabilityZoneChangeProtection = value;
}
resetAvailabilityZoneChangeProtection() {
this._availabilityZoneChangeProtection = undefined;
}
// Temporarily expose input value. Use with caution.
get availabilityZoneChangeProtectionInput() {
return this._availabilityZoneChangeProtection;
}
get deleteProtection() {
return this.getBooleanAttribute('delete_protection');
}
set deleteProtection(value) {
this._deleteProtection = value;
}
resetDeleteProtection() {
this._deleteProtection = undefined;
}
// Temporarily expose input value. Use with caution.
get deleteProtectionInput() {
return this._deleteProtection;
}
get description() {
return this.getStringAttribute('description');
}
set description(value) {
this._description = value;
}
resetDescription() {
this._description = undefined;
}
// Temporarily expose input value. Use with caution.
get descriptionInput() {
return this._description;
}
get enabledAnalysisTypes() {
return cdktf.Fn.tolist(this.getListAttribute('enabled_analysis_types'));
}
set enabledAnalysisTypes(value) {
this._enabledAnalysisTypes = value;
}
resetEnabledAnalysisTypes() {
this._enabledAnalysisTypes = undefined;
}
// Temporarily expose input value. Use with caution.
get enabledAnalysisTypesInput() {
return this._enabledAnalysisTypes;
}
get firewallPolicyArn() {
return this.getStringAttribute('firewall_policy_arn');
}
set firewallPolicyArn(value) {
this._firewallPolicyArn = value;
}
// Temporarily expose input value. Use with caution.
get firewallPolicyArnInput() {
return this._firewallPolicyArn;
}
get firewallPolicyChangeProtection() {
return this.getBooleanAttribute('firewall_policy_change_protection');
}
set firewallPolicyChangeProtection(value) {
this._firewallPolicyChangeProtection = value;
}
resetFirewallPolicyChangeProtection() {
this._firewallPolicyChangeProtection = undefined;
}
// Temporarily expose input value. Use with caution.
get firewallPolicyChangeProtectionInput() {
return this._firewallPolicyChangeProtection;
}
get firewallStatus() {
return this._firewallStatus;
}
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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
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 subnetChangeProtection() {
return this.getBooleanAttribute('subnet_change_protection');
}
set subnetChangeProtection(value) {
this._subnetChangeProtection = value;
}
resetSubnetChangeProtection() {
this._subnetChangeProtection = undefined;
}
// Temporarily expose input value. Use with caution.
get subnetChangeProtectionInput() {
return this._subnetChangeProtection;
}
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;
}
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;
}
// transit_gateway_owner_account_id - computed: true, optional: false, required: false
get transitGatewayOwnerAccountId() {
return this.getStringAttribute('transit_gateway_owner_account_id');
}
// update_token - computed: true, optional: false, required: false
get updateToken() {
return this.getStringAttribute('update_token');
}
get vpcId() {
return this.getStringAttribute('vpc_id');
}
set vpcId(value) {
this._vpcId = value;
}
resetVpcId() {
this._vpcId = undefined;
}
// Temporarily expose input value. Use with caution.
get vpcIdInput() {
return this._vpcId;
}
get availabilityZoneMapping() {
return this._availabilityZoneMapping;
}
putAvailabilityZoneMapping(value) {
this._availabilityZoneMapping.internalValue = value;
}
resetAvailabilityZoneMapping() {
this._availabilityZoneMapping.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get availabilityZoneMappingInput() {
return this._availabilityZoneMapping.internalValue;
}
get encryptionConfiguration() {
return this._encryptionConfiguration;
}
putEncryptionConfiguration(value) {
this._encryptionConfiguration.internalValue = value;
}
resetEncryptionConfiguration() {
this._encryptionConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get encryptionConfigurationInput() {
return this._encryptionConfiguration.internalValue;
}
get subnetMapping() {
return this._subnetMapping;
}
putSubnetMapping(value) {
this._subnetMapping.internalValue = value;
}
resetSubnetMapping() {
this._subnetMapping.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get subnetMappingInput() {
return this._subnetMapping.internalValue;
}
get timeouts() {
return this._timeouts;
}
putTimeouts(value) {
this._timeouts.internalValue = value;
}
resetTimeouts() {
this._timeouts.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get timeoutsInput() {
return this._timeouts.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
availability_zone_change_protection: cdktf.booleanToTerraform(this._availabilityZoneChangeProtection),
delete_protection: cdktf.booleanToTerraform(this._deleteProtection),
description: cdktf.stringToTerraform(this._description),
enabled_analysis_types: cdktf.