Documentation
¶
Overview ¶
@cdktf/provider-awsvpc
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Awsvpc_IsConstruct ¶
func Awsvpc_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NewAwsvpc_Override ¶
func NewAwsvpc_Override(a Awsvpc, scope constructs.Construct, id *string, config *AwsvpcConfig)
Types ¶
type Awsvpc ¶
type Awsvpc interface {
cdktf.TerraformModule
AmazonSideAsn() *string
SetAmazonSideAsn(val *string)
AssignIpv6AddressOnCreation() *bool
SetAssignIpv6AddressOnCreation(val *bool)
Azs() *[]*string
SetAzs(val *[]*string)
AzsOutput() *string
// Experimental.
CdktfStack() cdktf.TerraformStack
CgwArnsOutput() *string
CgwIdsOutput() *string
Cidr() *string
SetCidr(val *string)
// Experimental.
ConstructNodeMetadata() *map[string]interface{}
CreateDatabaseInternetGatewayRoute() *bool
SetCreateDatabaseInternetGatewayRoute(val *bool)
CreateDatabaseNatGatewayRoute() *bool
SetCreateDatabaseNatGatewayRoute(val *bool)
CreateDatabaseSubnetGroup() *bool
SetCreateDatabaseSubnetGroup(val *bool)
CreateDatabaseSubnetRouteTable() *bool
SetCreateDatabaseSubnetRouteTable(val *bool)
CreateEgressOnlyIgw() *bool
SetCreateEgressOnlyIgw(val *bool)
CreateElasticacheSubnetGroup() *bool
SetCreateElasticacheSubnetGroup(val *bool)
CreateElasticacheSubnetRouteTable() *bool
SetCreateElasticacheSubnetRouteTable(val *bool)
CreateFlowLogCloudwatchIamRole() *bool
SetCreateFlowLogCloudwatchIamRole(val *bool)
CreateFlowLogCloudwatchLogGroup() *bool
SetCreateFlowLogCloudwatchLogGroup(val *bool)
CreateIgw() *bool
SetCreateIgw(val *bool)
CreateRedshiftSubnetGroup() *bool
SetCreateRedshiftSubnetGroup(val *bool)
CreateRedshiftSubnetRouteTable() *bool
SetCreateRedshiftSubnetRouteTable(val *bool)
CreateVpc() *bool
SetCreateVpc(val *bool)
CustomerGateways() *map[string]*map[string]interface{}
SetCustomerGateways(val *map[string]*map[string]interface{})
CustomerGatewayTags() *map[string]*string
SetCustomerGatewayTags(val *map[string]*string)
DatabaseAclTags() *map[string]*string
SetDatabaseAclTags(val *map[string]*string)
DatabaseDedicatedNetworkAcl() *bool
SetDatabaseDedicatedNetworkAcl(val *bool)
DatabaseInboundAclRules() *[]*map[string]*string
SetDatabaseInboundAclRules(val *[]*map[string]*string)
DatabaseInternetGatewayRouteIdOutput() *string
DatabaseIpv6EgressRouteIdOutput() *string
DatabaseNatGatewayRouteIdsOutput() *string
DatabaseNetworkAclArnOutput() *string
DatabaseNetworkAclIdOutput() *string
DatabaseOutboundAclRules() *[]*map[string]*string
SetDatabaseOutboundAclRules(val *[]*map[string]*string)
DatabaseRouteTableAssociationIdsOutput() *string
DatabaseRouteTableIdsOutput() *string
DatabaseRouteTableTags() *map[string]*string
SetDatabaseRouteTableTags(val *map[string]*string)
DatabaseSubnetArnsOutput() *string
DatabaseSubnetAssignIpv6AddressOnCreation() *bool
SetDatabaseSubnetAssignIpv6AddressOnCreation(val *bool)
DatabaseSubnetGroupName() *string
SetDatabaseSubnetGroupName(val *string)
DatabaseSubnetGroupNameOutput() *string
DatabaseSubnetGroupOutput() *string
DatabaseSubnetGroupTags() *map[string]*string
SetDatabaseSubnetGroupTags(val *map[string]*string)
DatabaseSubnetIpv6Prefixes() *[]*string
SetDatabaseSubnetIpv6Prefixes(val *[]*string)
DatabaseSubnetNames() *[]*string
SetDatabaseSubnetNames(val *[]*string)
DatabaseSubnets() *[]*string
SetDatabaseSubnets(val *[]*string)
DatabaseSubnetsCidrBlocksOutput() *string
DatabaseSubnetsIpv6CidrBlocksOutput() *string
DatabaseSubnetsOutput() *string
DatabaseSubnetSuffix() *string
SetDatabaseSubnetSuffix(val *string)
DatabaseSubnetTags() *map[string]*string
SetDatabaseSubnetTags(val *map[string]*string)
DefaultNetworkAclEgress() *[]*map[string]*string
SetDefaultNetworkAclEgress(val *[]*map[string]*string)
DefaultNetworkAclIdOutput() *string
DefaultNetworkAclIngress() *[]*map[string]*string
SetDefaultNetworkAclIngress(val *[]*map[string]*string)
DefaultNetworkAclName() *string
SetDefaultNetworkAclName(val *string)
DefaultNetworkAclTags() *map[string]*string
SetDefaultNetworkAclTags(val *map[string]*string)
DefaultRouteTableIdOutput() *string
DefaultRouteTableName() *string
SetDefaultRouteTableName(val *string)
DefaultRouteTablePropagatingVgws() *[]*string
SetDefaultRouteTablePropagatingVgws(val *[]*string)
DefaultRouteTableRoutes() *[]*map[string]*string
SetDefaultRouteTableRoutes(val *[]*map[string]*string)
DefaultRouteTableTags() *map[string]*string
SetDefaultRouteTableTags(val *map[string]*string)
DefaultSecurityGroupEgress() *[]*map[string]*string
SetDefaultSecurityGroupEgress(val *[]*map[string]*string)
DefaultSecurityGroupIdOutput() *string
DefaultSecurityGroupIngress() *[]*map[string]*string
SetDefaultSecurityGroupIngress(val *[]*map[string]*string)
DefaultSecurityGroupName() *string
SetDefaultSecurityGroupName(val *string)
DefaultSecurityGroupTags() *map[string]*string
SetDefaultSecurityGroupTags(val *map[string]*string)
DefaultVpcArnOutput() *string
DefaultVpcCidrBlockOutput() *string
DefaultVpcDefaultNetworkAclIdOutput() *string
DefaultVpcDefaultRouteTableIdOutput() *string
DefaultVpcDefaultSecurityGroupIdOutput() *string
DefaultVpcEnableClassiclink() *bool
SetDefaultVpcEnableClassiclink(val *bool)
DefaultVpcEnableDnsHostnames() *bool
SetDefaultVpcEnableDnsHostnames(val *bool)
DefaultVpcEnableDnsHostnamesOutput() *string
DefaultVpcEnableDnsSupport() *bool
SetDefaultVpcEnableDnsSupport(val *bool)
DefaultVpcEnableDnsSupportOutput() *string
DefaultVpcIdOutput() *string
DefaultVpcInstanceTenancyOutput() *string
DefaultVpcMainRouteTableIdOutput() *string
DefaultVpcName() *string
SetDefaultVpcName(val *string)
DefaultVpcTags() *map[string]*string
SetDefaultVpcTags(val *map[string]*string)
// Experimental.
DependsOn() *[]*string
// Experimental.
SetDependsOn(val *[]*string)
DhcpOptionsDomainName() *string
SetDhcpOptionsDomainName(val *string)
DhcpOptionsDomainNameServers() *[]*string
SetDhcpOptionsDomainNameServers(val *[]*string)
DhcpOptionsIdOutput() *string
DhcpOptionsNetbiosNameServers() *[]*string
SetDhcpOptionsNetbiosNameServers(val *[]*string)
DhcpOptionsNetbiosNodeType() *string
SetDhcpOptionsNetbiosNodeType(val *string)
DhcpOptionsNtpServers() *[]*string
SetDhcpOptionsNtpServers(val *[]*string)
DhcpOptionsTags() *map[string]*string
SetDhcpOptionsTags(val *map[string]*string)
EgressOnlyInternetGatewayIdOutput() *string
ElasticacheAclTags() *map[string]*string
SetElasticacheAclTags(val *map[string]*string)
ElasticacheDedicatedNetworkAcl() *bool
SetElasticacheDedicatedNetworkAcl(val *bool)
ElasticacheInboundAclRules() *[]*map[string]*string
SetElasticacheInboundAclRules(val *[]*map[string]*string)
ElasticacheNetworkAclArnOutput() *string
ElasticacheNetworkAclIdOutput() *string
ElasticacheOutboundAclRules() *[]*map[string]*string
SetElasticacheOutboundAclRules(val *[]*map[string]*string)
ElasticacheRouteTableAssociationIdsOutput() *string
ElasticacheRouteTableIdsOutput() *string
ElasticacheRouteTableTags() *map[string]*string
SetElasticacheRouteTableTags(val *map[string]*string)
ElasticacheSubnetArnsOutput() *string
ElasticacheSubnetAssignIpv6AddressOnCreation() *bool
SetElasticacheSubnetAssignIpv6AddressOnCreation(val *bool)
ElasticacheSubnetGroupName() *string
SetElasticacheSubnetGroupName(val *string)
ElasticacheSubnetGroupNameOutput() *string
ElasticacheSubnetGroupOutput() *string
ElasticacheSubnetGroupTags() *map[string]*string
SetElasticacheSubnetGroupTags(val *map[string]*string)
ElasticacheSubnetIpv6Prefixes() *[]*string
SetElasticacheSubnetIpv6Prefixes(val *[]*string)
ElasticacheSubnetNames() *[]*string
SetElasticacheSubnetNames(val *[]*string)
ElasticacheSubnets() *[]*string
SetElasticacheSubnets(val *[]*string)
ElasticacheSubnetsCidrBlocksOutput() *string
ElasticacheSubnetsIpv6CidrBlocksOutput() *string
ElasticacheSubnetsOutput() *string
ElasticacheSubnetSuffix() *string
SetElasticacheSubnetSuffix(val *string)
ElasticacheSubnetTags() *map[string]*string
SetElasticacheSubnetTags(val *map[string]*string)
EnableClassiclink() *bool
SetEnableClassiclink(val *bool)
EnableClassiclinkDnsSupport() *bool
SetEnableClassiclinkDnsSupport(val *bool)
EnableDhcpOptions() *bool
SetEnableDhcpOptions(val *bool)
EnableDnsHostnames() *bool
SetEnableDnsHostnames(val *bool)
EnableDnsSupport() *bool
SetEnableDnsSupport(val *bool)
EnableFlowLog() *bool
SetEnableFlowLog(val *bool)
EnableIpv6() *bool
SetEnableIpv6(val *bool)
EnableNatGateway() *bool
SetEnableNatGateway(val *bool)
EnablePublicRedshift() *bool
SetEnablePublicRedshift(val *bool)
EnableVpnGateway() *bool
SetEnableVpnGateway(val *bool)
ExternalNatIpIds() *[]*string
SetExternalNatIpIds(val *[]*string)
ExternalNatIps() *[]*string
SetExternalNatIps(val *[]*string)
FlowLogCloudwatchIamRoleArn() *string
SetFlowLogCloudwatchIamRoleArn(val *string)
FlowLogCloudwatchLogGroupKmsKeyId() *string
SetFlowLogCloudwatchLogGroupKmsKeyId(val *string)
FlowLogCloudwatchLogGroupNamePrefix() *string
SetFlowLogCloudwatchLogGroupNamePrefix(val *string)
FlowLogCloudwatchLogGroupNameSuffix() *string
SetFlowLogCloudwatchLogGroupNameSuffix(val *string)
FlowLogCloudwatchLogGroupRetentionInDays() *float64
SetFlowLogCloudwatchLogGroupRetentionInDays(val *float64)
FlowLogDestinationArn() *string
SetFlowLogDestinationArn(val *string)
FlowLogDestinationType() *string
SetFlowLogDestinationType(val *string)
FlowLogFileFormat() *string
SetFlowLogFileFormat(val *string)
FlowLogHiveCompatiblePartitions() *bool
SetFlowLogHiveCompatiblePartitions(val *bool)
FlowLogLogFormat() *string
SetFlowLogLogFormat(val *string)
FlowLogMaxAggregationInterval() *float64
SetFlowLogMaxAggregationInterval(val *float64)
FlowLogPerHourPartition() *bool
SetFlowLogPerHourPartition(val *bool)
FlowLogTrafficType() *string
SetFlowLogTrafficType(val *string)
// Experimental.
ForEach() cdktf.ITerraformIterator
// Experimental.
SetForEach(val cdktf.ITerraformIterator)
// Experimental.
Fqn() *string
// Experimental.
FriendlyUniqueId() *string
IgwArnOutput() *string
IgwIdOutput() *string
IgwTags() *map[string]*string
SetIgwTags(val *map[string]*string)
InstanceTenancy() *string
SetInstanceTenancy(val *string)
IntraAclTags() *map[string]*string
SetIntraAclTags(val *map[string]*string)
IntraDedicatedNetworkAcl() *bool
SetIntraDedicatedNetworkAcl(val *bool)
IntraInboundAclRules() *[]*map[string]*string
SetIntraInboundAclRules(val *[]*map[string]*string)
IntraNetworkAclArnOutput() *string
IntraNetworkAclIdOutput() *string
IntraOutboundAclRules() *[]*map[string]*string
SetIntraOutboundAclRules(val *[]*map[string]*string)
IntraRouteTableAssociationIdsOutput() *string
IntraRouteTableIdsOutput() *string
IntraRouteTableTags() *map[string]*string
SetIntraRouteTableTags(val *map[string]*string)
IntraSubnetArnsOutput() *string
IntraSubnetAssignIpv6AddressOnCreation() *bool
SetIntraSubnetAssignIpv6AddressOnCreation(val *bool)
IntraSubnetIpv6Prefixes() *[]*string
SetIntraSubnetIpv6Prefixes(val *[]*string)
IntraSubnetNames() *[]*string
SetIntraSubnetNames(val *[]*string)
IntraSubnets() *[]*string
SetIntraSubnets(val *[]*string)
IntraSubnetsCidrBlocksOutput() *string
IntraSubnetsIpv6CidrBlocksOutput() *string
IntraSubnetsOutput() *string
IntraSubnetSuffix() *string
SetIntraSubnetSuffix(val *string)
IntraSubnetTags() *map[string]*string
SetIntraSubnetTags(val *map[string]*string)
Ipv4IpamPoolId() *string
SetIpv4IpamPoolId(val *string)
Ipv4NetmaskLength() *float64
SetIpv4NetmaskLength(val *float64)
Ipv6Cidr() *string
SetIpv6Cidr(val *string)
Ipv6IpamPoolId() *string
SetIpv6IpamPoolId(val *string)
Ipv6NetmaskLength() *float64
SetIpv6NetmaskLength(val *float64)
ManageDefaultNetworkAcl() *bool
SetManageDefaultNetworkAcl(val *bool)
ManageDefaultRouteTable() *bool
SetManageDefaultRouteTable(val *bool)
ManageDefaultSecurityGroup() *bool
SetManageDefaultSecurityGroup(val *bool)
ManageDefaultVpc() *bool
SetManageDefaultVpc(val *bool)
MapPublicIpOnLaunch() *bool
SetMapPublicIpOnLaunch(val *bool)
Name() *string
SetName(val *string)
NameOutput() *string
NatEipTags() *map[string]*string
SetNatEipTags(val *map[string]*string)
NatGatewayDestinationCidrBlock() *string
SetNatGatewayDestinationCidrBlock(val *string)
NatGatewayTags() *map[string]*string
SetNatGatewayTags(val *map[string]*string)
NatgwIdsOutput() *string
NatIdsOutput() *string
NatPublicIpsOutput() *string
// The tree node.
Node() constructs.Node
OneNatGatewayPerAz() *bool
SetOneNatGatewayPerAz(val *bool)
OutpostAclTags() *map[string]*string
SetOutpostAclTags(val *map[string]*string)
OutpostArn() *string
SetOutpostArn(val *string)
OutpostAz() *string
SetOutpostAz(val *string)
OutpostDedicatedNetworkAcl() *bool
SetOutpostDedicatedNetworkAcl(val *bool)
OutpostInboundAclRules() *[]*map[string]*string
SetOutpostInboundAclRules(val *[]*map[string]*string)
OutpostNetworkAclArnOutput() *string
OutpostNetworkAclIdOutput() *string
OutpostOutboundAclRules() *[]*map[string]*string
SetOutpostOutboundAclRules(val *[]*map[string]*string)
OutpostSubnetArnsOutput() *string
OutpostSubnetAssignIpv6AddressOnCreation() *bool
SetOutpostSubnetAssignIpv6AddressOnCreation(val *bool)
OutpostSubnetIpv6Prefixes() *[]*string
SetOutpostSubnetIpv6Prefixes(val *[]*string)
OutpostSubnetNames() *[]*string
SetOutpostSubnetNames(val *[]*string)
OutpostSubnets() *[]*string
SetOutpostSubnets(val *[]*string)
OutpostSubnetsCidrBlocksOutput() *string
OutpostSubnetsIpv6CidrBlocksOutput() *string
OutpostSubnetsOutput() *string
OutpostSubnetSuffix() *string
SetOutpostSubnetSuffix(val *string)
OutpostSubnetTags() *map[string]*string
SetOutpostSubnetTags(val *map[string]*string)
PrivateAclTags() *map[string]*string
SetPrivateAclTags(val *map[string]*string)
PrivateDedicatedNetworkAcl() *bool
SetPrivateDedicatedNetworkAcl(val *bool)
PrivateInboundAclRules() *[]*map[string]*string
SetPrivateInboundAclRules(val *[]*map[string]*string)
PrivateIpv6EgressRouteIdsOutput() *string
PrivateNatGatewayRouteIdsOutput() *string
PrivateNetworkAclArnOutput() *string
PrivateNetworkAclIdOutput() *string
PrivateOutboundAclRules() *[]*map[string]*string
SetPrivateOutboundAclRules(val *[]*map[string]*string)
PrivateRouteTableAssociationIdsOutput() *string
PrivateRouteTableIdsOutput() *string
PrivateRouteTableTags() *map[string]*string
SetPrivateRouteTableTags(val *map[string]*string)
PrivateSubnetArnsOutput() *string
PrivateSubnetAssignIpv6AddressOnCreation() *bool
SetPrivateSubnetAssignIpv6AddressOnCreation(val *bool)
PrivateSubnetIpv6Prefixes() *[]*string
SetPrivateSubnetIpv6Prefixes(val *[]*string)
PrivateSubnetNames() *[]*string
SetPrivateSubnetNames(val *[]*string)
PrivateSubnets() *[]*string
SetPrivateSubnets(val *[]*string)
PrivateSubnetsCidrBlocksOutput() *string
PrivateSubnetsIpv6CidrBlocksOutput() *string
PrivateSubnetsOutput() *string
PrivateSubnetSuffix() *string
SetPrivateSubnetSuffix(val *string)
PrivateSubnetTags() *map[string]*string
SetPrivateSubnetTags(val *map[string]*string)
PrivateSubnetTagsPerAz() *map[string]*map[string]*string
SetPrivateSubnetTagsPerAz(val *map[string]*map[string]*string)
PropagateIntraRouteTablesVgw() *bool
SetPropagateIntraRouteTablesVgw(val *bool)
PropagatePrivateRouteTablesVgw() *bool
SetPropagatePrivateRouteTablesVgw(val *bool)
PropagatePublicRouteTablesVgw() *bool
SetPropagatePublicRouteTablesVgw(val *bool)
// Experimental.
Providers() *[]interface{}
PublicAclTags() *map[string]*string
SetPublicAclTags(val *map[string]*string)
PublicDedicatedNetworkAcl() *bool
SetPublicDedicatedNetworkAcl(val *bool)
PublicInboundAclRules() *[]*map[string]*string
SetPublicInboundAclRules(val *[]*map[string]*string)
PublicInternetGatewayIpv6RouteIdOutput() *string
PublicInternetGatewayRouteIdOutput() *string
PublicNetworkAclArnOutput() *string
PublicNetworkAclIdOutput() *string
PublicOutboundAclRules() *[]*map[string]*string
SetPublicOutboundAclRules(val *[]*map[string]*string)
PublicRouteTableAssociationIdsOutput() *string
PublicRouteTableIdsOutput() *string
PublicRouteTableTags() *map[string]*string
SetPublicRouteTableTags(val *map[string]*string)
PublicSubnetArnsOutput() *string
PublicSubnetAssignIpv6AddressOnCreation() *bool
SetPublicSubnetAssignIpv6AddressOnCreation(val *bool)
PublicSubnetIpv6Prefixes() *[]*string
SetPublicSubnetIpv6Prefixes(val *[]*string)
PublicSubnetNames() *[]*string
SetPublicSubnetNames(val *[]*string)
PublicSubnets() *[]*string
SetPublicSubnets(val *[]*string)
PublicSubnetsCidrBlocksOutput() *string
PublicSubnetsIpv6CidrBlocksOutput() *string
PublicSubnetsOutput() *string
PublicSubnetSuffix() *string
SetPublicSubnetSuffix(val *string)
PublicSubnetTags() *map[string]*string
SetPublicSubnetTags(val *map[string]*string)
PublicSubnetTagsPerAz() *map[string]*map[string]*string
SetPublicSubnetTagsPerAz(val *map[string]*map[string]*string)
PutinKhuylo() *bool
SetPutinKhuylo(val *bool)
// Experimental.
RawOverrides() interface{}
RedshiftAclTags() *map[string]*string
SetRedshiftAclTags(val *map[string]*string)
RedshiftDedicatedNetworkAcl() *bool
SetRedshiftDedicatedNetworkAcl(val *bool)
RedshiftInboundAclRules() *[]*map[string]*string
SetRedshiftInboundAclRules(val *[]*map[string]*string)
RedshiftNetworkAclArnOutput() *string
RedshiftNetworkAclIdOutput() *string
RedshiftOutboundAclRules() *[]*map[string]*string
SetRedshiftOutboundAclRules(val *[]*map[string]*string)
RedshiftPublicRouteTableAssociationIdsOutput() *string
RedshiftRouteTableAssociationIdsOutput() *string
RedshiftRouteTableIdsOutput() *string
RedshiftRouteTableTags() *map[string]*string
SetRedshiftRouteTableTags(val *map[string]*string)
RedshiftSubnetArnsOutput() *string
RedshiftSubnetAssignIpv6AddressOnCreation() *bool
SetRedshiftSubnetAssignIpv6AddressOnCreation(val *bool)
RedshiftSubnetGroupName() *string
SetRedshiftSubnetGroupName(val *string)
RedshiftSubnetGroupOutput() *string
RedshiftSubnetGroupTags() *map[string]*string
SetRedshiftSubnetGroupTags(val *map[string]*string)
RedshiftSubnetIpv6Prefixes() *[]*string
SetRedshiftSubnetIpv6Prefixes(val *[]*string)
RedshiftSubnetNames() *[]*string
SetRedshiftSubnetNames(val *[]*string)
RedshiftSubnets() *[]*string
SetRedshiftSubnets(val *[]*string)
RedshiftSubnetsCidrBlocksOutput() *string
RedshiftSubnetsIpv6CidrBlocksOutput() *string
RedshiftSubnetsOutput() *string
RedshiftSubnetSuffix() *string
SetRedshiftSubnetSuffix(val *string)
RedshiftSubnetTags() *map[string]*string
SetRedshiftSubnetTags(val *map[string]*string)
ReuseNatIps() *bool
SetReuseNatIps(val *bool)
SecondaryCidrBlocks() *[]*string
SetSecondaryCidrBlocks(val *[]*string)
SingleNatGateway() *bool
SetSingleNatGateway(val *bool)
// Experimental.
SkipAssetCreationFromLocalModules() *bool
// Experimental.
Source() *string
Tags() *map[string]*string
SetTags(val *map[string]*string)
ThisCustomerGatewayOutput() *string
UseIpamPool() *bool
SetUseIpamPool(val *bool)
// Experimental.
Version() *string
VgwArnOutput() *string
VgwIdOutput() *string
VpcArnOutput() *string
VpcCidrBlockOutput() *string
VpcEnableDnsHostnamesOutput() *string
VpcEnableDnsSupportOutput() *string
VpcFlowLogCloudwatchIamRoleArnOutput() *string
VpcFlowLogDestinationArnOutput() *string
VpcFlowLogDestinationTypeOutput() *string
VpcFlowLogIdOutput() *string
VpcFlowLogPermissionsBoundary() *string
SetVpcFlowLogPermissionsBoundary(val *string)
VpcFlowLogTags() *map[string]*string
SetVpcFlowLogTags(val *map[string]*string)
VpcIdOutput() *string
VpcInstanceTenancyOutput() *string
VpcIpv6AssociationIdOutput() *string
VpcIpv6CidrBlockOutput() *string
VpcMainRouteTableIdOutput() *string
VpcOwnerIdOutput() *string
VpcSecondaryCidrBlocksOutput() *string
VpcTags() *map[string]*string
SetVpcTags(val *map[string]*string)
VpnGatewayAz() *string
SetVpnGatewayAz(val *string)
VpnGatewayId() *string
SetVpnGatewayId(val *string)
VpnGatewayTags() *map[string]*string
SetVpnGatewayTags(val *map[string]*string)
// Experimental.
AddOverride(path *string, value interface{})
// Experimental.
AddProvider(provider interface{})
// Experimental.
GetString(output *string) *string
// Experimental.
InterpolationForOutput(moduleOutput *string) cdktf.IResolvable
// Overrides the auto-generated logical ID with a specific ID.
// Experimental.
OverrideLogicalId(newLogicalId *string)
// Resets a previously passed logical Id to use the auto-generated logical id again.
// Experimental.
ResetOverrideLogicalId()
SynthesizeAttributes() *map[string]interface{}
SynthesizeHclAttributes() *map[string]interface{}
// Experimental.
ToHclTerraform() interface{}
// Experimental.
ToMetadata() interface{}
// Returns a string representation of this construct.
ToString() *string
// Experimental.
ToTerraform() interface{}
}
Defines an Awsvpc based on a Terraform module.
Docs at Terraform Registry: {@link https://registry.terraform.io/modules/terraform-aws-modules/vpc/aws/3.19.0 terraform-aws-modules/vpc/aws}
func NewAwsvpc ¶
func NewAwsvpc(scope constructs.Construct, id *string, config *AwsvpcConfig) Awsvpc
type AwsvpcConfig ¶
type AwsvpcConfig struct {
// Experimental.
DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
// Experimental.
ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
// Experimental.
Providers *[]interface{} `field:"optional" json:"providers" yaml:"providers"`
// Experimental.
SkipAssetCreationFromLocalModules *bool `field:"optional" json:"skipAssetCreationFromLocalModules" yaml:"skipAssetCreationFromLocalModules"`
// The Autonomous System Number (ASN) for the Amazon side of the gateway.
//
// By default the virtual private gateway is created with the current default Amazon ASN.
// 64512.
AmazonSideAsn *string `field:"optional" json:"amazonSideAsn" yaml:"amazonSideAsn"`
// Assign IPv6 address on subnet, must be disabled to change IPv6 CIDRs.
//
// This is the IPv6 equivalent of map_public_ip_on_launch.
AssignIpv6AddressOnCreation *bool `field:"optional" json:"assignIpv6AddressOnCreation" yaml:"assignIpv6AddressOnCreation"`
// A list of availability zones names or ids in the region.
Azs *[]*string `field:"optional" json:"azs" yaml:"azs"`
// (Optional) The IPv4 CIDR block for the VPC.
//
// CIDR can be explicitly set or it can be derived from IPAM using `ipv4_netmask_length` & `ipv4_ipam_pool_id`
// 0.0.0.0/0
Cidr *string `field:"optional" json:"cidr" yaml:"cidr"`
// Controls if an internet gateway route for public database access should be created.
CreateDatabaseInternetGatewayRoute *bool `field:"optional" json:"createDatabaseInternetGatewayRoute" yaml:"createDatabaseInternetGatewayRoute"`
// Controls if a nat gateway route should be created to give internet access to the database subnets.
CreateDatabaseNatGatewayRoute *bool `field:"optional" json:"createDatabaseNatGatewayRoute" yaml:"createDatabaseNatGatewayRoute"`
// Controls if database subnet group should be created (n.b. database_subnets must also be set) true.
CreateDatabaseSubnetGroup *bool `field:"optional" json:"createDatabaseSubnetGroup" yaml:"createDatabaseSubnetGroup"`
// Controls if separate route table for database should be created.
CreateDatabaseSubnetRouteTable *bool `field:"optional" json:"createDatabaseSubnetRouteTable" yaml:"createDatabaseSubnetRouteTable"`
// Controls if an Egress Only Internet Gateway is created and its related routes.
//
// true.
CreateEgressOnlyIgw *bool `field:"optional" json:"createEgressOnlyIgw" yaml:"createEgressOnlyIgw"`
// Controls if elasticache subnet group should be created true.
CreateElasticacheSubnetGroup *bool `field:"optional" json:"createElasticacheSubnetGroup" yaml:"createElasticacheSubnetGroup"`
// Controls if separate route table for elasticache should be created.
CreateElasticacheSubnetRouteTable *bool `field:"optional" json:"createElasticacheSubnetRouteTable" yaml:"createElasticacheSubnetRouteTable"`
// Whether to create IAM role for VPC Flow Logs.
CreateFlowLogCloudwatchIamRole *bool `field:"optional" json:"createFlowLogCloudwatchIamRole" yaml:"createFlowLogCloudwatchIamRole"`
// Whether to create CloudWatch log group for VPC Flow Logs.
CreateFlowLogCloudwatchLogGroup *bool `field:"optional" json:"createFlowLogCloudwatchLogGroup" yaml:"createFlowLogCloudwatchLogGroup"`
// Controls if an Internet Gateway is created for public subnets and the related routes that connect them.
//
// true.
CreateIgw *bool `field:"optional" json:"createIgw" yaml:"createIgw"`
// Controls if redshift subnet group should be created true.
CreateRedshiftSubnetGroup *bool `field:"optional" json:"createRedshiftSubnetGroup" yaml:"createRedshiftSubnetGroup"`
// Controls if separate route table for redshift should be created.
CreateRedshiftSubnetRouteTable *bool `field:"optional" json:"createRedshiftSubnetRouteTable" yaml:"createRedshiftSubnetRouteTable"`
// Controls if VPC should be created (it affects almost all resources) true.
CreateVpc *bool `field:"optional" json:"createVpc" yaml:"createVpc"`
// Maps of Customer Gateway's attributes (BGP ASN and Gateway's Internet-routable external IP address) The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
CustomerGateways *map[string]*map[string]interface{} `field:"optional" json:"customerGateways" yaml:"customerGateways"`
// Additional tags for the Customer Gateway The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
CustomerGatewayTags *map[string]*string `field:"optional" json:"customerGatewayTags" yaml:"customerGatewayTags"`
// Additional tags for the database subnets network ACL The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DatabaseAclTags *map[string]*string `field:"optional" json:"databaseAclTags" yaml:"databaseAclTags"`
// Whether to use dedicated network ACL (not default) and custom rules for database subnets.
DatabaseDedicatedNetworkAcl *bool `field:"optional" json:"databaseDedicatedNetworkAcl" yaml:"databaseDedicatedNetworkAcl"`
// Database subnets inbound network ACL rules [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DatabaseInboundAclRules *[]*map[string]*string `field:"optional" json:"databaseInboundAclRules" yaml:"databaseInboundAclRules"`
// Database subnets outbound network ACL rules [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DatabaseOutboundAclRules *[]*map[string]*string `field:"optional" json:"databaseOutboundAclRules" yaml:"databaseOutboundAclRules"`
// Additional tags for the database route tables The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DatabaseRouteTableTags *map[string]*string `field:"optional" json:"databaseRouteTableTags" yaml:"databaseRouteTableTags"`
// Assign IPv6 address on database subnet, must be disabled to change IPv6 CIDRs.
//
// This is the IPv6 equivalent of map_public_ip_on_launch.
DatabaseSubnetAssignIpv6AddressOnCreation *bool `field:"optional" json:"databaseSubnetAssignIpv6AddressOnCreation" yaml:"databaseSubnetAssignIpv6AddressOnCreation"`
// Name of database subnet group.
DatabaseSubnetGroupName *string `field:"optional" json:"databaseSubnetGroupName" yaml:"databaseSubnetGroupName"`
// Additional tags for the database subnet group The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DatabaseSubnetGroupTags *map[string]*string `field:"optional" json:"databaseSubnetGroupTags" yaml:"databaseSubnetGroupTags"`
// Assigns IPv6 database subnet id based on the Amazon provided /56 prefix base 10 integer (0-256).
//
// Must be of equal length to the corresponding IPv4 subnet list.
DatabaseSubnetIpv6Prefixes *[]*string `field:"optional" json:"databaseSubnetIpv6Prefixes" yaml:"databaseSubnetIpv6Prefixes"`
// Explicit values to use in the Name tag on database subnets.
//
// If empty, Name tags are generated.
DatabaseSubnetNames *[]*string `field:"optional" json:"databaseSubnetNames" yaml:"databaseSubnetNames"`
// A list of database subnets.
DatabaseSubnets *[]*string `field:"optional" json:"databaseSubnets" yaml:"databaseSubnets"`
// Suffix to append to database subnets name db.
DatabaseSubnetSuffix *string `field:"optional" json:"databaseSubnetSuffix" yaml:"databaseSubnetSuffix"`
// Additional tags for the database subnets The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DatabaseSubnetTags *map[string]*string `field:"optional" json:"databaseSubnetTags" yaml:"databaseSubnetTags"`
// List of maps of egress rules to set on the Default Network ACL [object Object] [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DefaultNetworkAclEgress *[]*map[string]*string `field:"optional" json:"defaultNetworkAclEgress" yaml:"defaultNetworkAclEgress"`
// List of maps of ingress rules to set on the Default Network ACL [object Object] [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DefaultNetworkAclIngress *[]*map[string]*string `field:"optional" json:"defaultNetworkAclIngress" yaml:"defaultNetworkAclIngress"`
// Name to be used on the Default Network ACL.
DefaultNetworkAclName *string `field:"optional" json:"defaultNetworkAclName" yaml:"defaultNetworkAclName"`
// Additional tags for the Default Network ACL The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DefaultNetworkAclTags *map[string]*string `field:"optional" json:"defaultNetworkAclTags" yaml:"defaultNetworkAclTags"`
// Name to be used on the default route table.
DefaultRouteTableName *string `field:"optional" json:"defaultRouteTableName" yaml:"defaultRouteTableName"`
// List of virtual gateways for propagation.
DefaultRouteTablePropagatingVgws *[]*string `field:"optional" json:"defaultRouteTablePropagatingVgws" yaml:"defaultRouteTablePropagatingVgws"`
// Configuration block of routes. See https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/default_route_table#route.
//
// The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}
DefaultRouteTableRoutes *[]*map[string]*string `field:"optional" json:"defaultRouteTableRoutes" yaml:"defaultRouteTableRoutes"`
// Additional tags for the default route table The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DefaultRouteTableTags *map[string]*string `field:"optional" json:"defaultRouteTableTags" yaml:"defaultRouteTableTags"`
// List of maps of egress rules to set on the default security group.
//
// The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}
DefaultSecurityGroupEgress *[]*map[string]*string `field:"optional" json:"defaultSecurityGroupEgress" yaml:"defaultSecurityGroupEgress"`
// List of maps of ingress rules to set on the default security group.
//
// The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}
DefaultSecurityGroupIngress *[]*map[string]*string `field:"optional" json:"defaultSecurityGroupIngress" yaml:"defaultSecurityGroupIngress"`
// Name to be used on the default security group.
DefaultSecurityGroupName *string `field:"optional" json:"defaultSecurityGroupName" yaml:"defaultSecurityGroupName"`
// Additional tags for the default security group The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DefaultSecurityGroupTags *map[string]*string `field:"optional" json:"defaultSecurityGroupTags" yaml:"defaultSecurityGroupTags"`
// [DEPRECATED](https://github.com/hashicorp/terraform/issues/31730) Should be true to enable ClassicLink in the Default VPC.
DefaultVpcEnableClassiclink *bool `field:"optional" json:"defaultVpcEnableClassiclink" yaml:"defaultVpcEnableClassiclink"`
// Should be true to enable DNS hostnames in the Default VPC.
DefaultVpcEnableDnsHostnames *bool `field:"optional" json:"defaultVpcEnableDnsHostnames" yaml:"defaultVpcEnableDnsHostnames"`
// Should be true to enable DNS support in the Default VPC true.
DefaultVpcEnableDnsSupport *bool `field:"optional" json:"defaultVpcEnableDnsSupport" yaml:"defaultVpcEnableDnsSupport"`
// Name to be used on the Default VPC.
DefaultVpcName *string `field:"optional" json:"defaultVpcName" yaml:"defaultVpcName"`
// Additional tags for the Default VPC The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DefaultVpcTags *map[string]*string `field:"optional" json:"defaultVpcTags" yaml:"defaultVpcTags"`
// Specifies DNS name for DHCP options set (requires enable_dhcp_options set to true).
DhcpOptionsDomainName *string `field:"optional" json:"dhcpOptionsDomainName" yaml:"dhcpOptionsDomainName"`
// Specify a list of DNS server addresses for DHCP options set, default to AWS provided (requires enable_dhcp_options set to true) AmazonProvidedDNS.
DhcpOptionsDomainNameServers *[]*string `field:"optional" json:"dhcpOptionsDomainNameServers" yaml:"dhcpOptionsDomainNameServers"`
// Specify a list of netbios servers for DHCP options set (requires enable_dhcp_options set to true).
DhcpOptionsNetbiosNameServers *[]*string `field:"optional" json:"dhcpOptionsNetbiosNameServers" yaml:"dhcpOptionsNetbiosNameServers"`
// Specify netbios node_type for DHCP options set (requires enable_dhcp_options set to true).
DhcpOptionsNetbiosNodeType *string `field:"optional" json:"dhcpOptionsNetbiosNodeType" yaml:"dhcpOptionsNetbiosNodeType"`
// Specify a list of NTP servers for DHCP options set (requires enable_dhcp_options set to true).
DhcpOptionsNtpServers *[]*string `field:"optional" json:"dhcpOptionsNtpServers" yaml:"dhcpOptionsNtpServers"`
// Additional tags for the DHCP option set (requires enable_dhcp_options set to true) The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
DhcpOptionsTags *map[string]*string `field:"optional" json:"dhcpOptionsTags" yaml:"dhcpOptionsTags"`
// Additional tags for the elasticache subnets network ACL The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
ElasticacheAclTags *map[string]*string `field:"optional" json:"elasticacheAclTags" yaml:"elasticacheAclTags"`
// Whether to use dedicated network ACL (not default) and custom rules for elasticache subnets.
ElasticacheDedicatedNetworkAcl *bool `field:"optional" json:"elasticacheDedicatedNetworkAcl" yaml:"elasticacheDedicatedNetworkAcl"`
// Elasticache subnets inbound network ACL rules [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
ElasticacheInboundAclRules *[]*map[string]*string `field:"optional" json:"elasticacheInboundAclRules" yaml:"elasticacheInboundAclRules"`
// Elasticache subnets outbound network ACL rules [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
ElasticacheOutboundAclRules *[]*map[string]*string `field:"optional" json:"elasticacheOutboundAclRules" yaml:"elasticacheOutboundAclRules"`
// Additional tags for the elasticache route tables The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
ElasticacheRouteTableTags *map[string]*string `field:"optional" json:"elasticacheRouteTableTags" yaml:"elasticacheRouteTableTags"`
// Assign IPv6 address on elasticache subnet, must be disabled to change IPv6 CIDRs.
//
// This is the IPv6 equivalent of map_public_ip_on_launch.
ElasticacheSubnetAssignIpv6AddressOnCreation *bool `field:"optional" json:"elasticacheSubnetAssignIpv6AddressOnCreation" yaml:"elasticacheSubnetAssignIpv6AddressOnCreation"`
// Name of elasticache subnet group.
ElasticacheSubnetGroupName *string `field:"optional" json:"elasticacheSubnetGroupName" yaml:"elasticacheSubnetGroupName"`
// Additional tags for the elasticache subnet group The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
ElasticacheSubnetGroupTags *map[string]*string `field:"optional" json:"elasticacheSubnetGroupTags" yaml:"elasticacheSubnetGroupTags"`
// Assigns IPv6 elasticache subnet id based on the Amazon provided /56 prefix base 10 integer (0-256).
//
// Must be of equal length to the corresponding IPv4 subnet list.
ElasticacheSubnetIpv6Prefixes *[]*string `field:"optional" json:"elasticacheSubnetIpv6Prefixes" yaml:"elasticacheSubnetIpv6Prefixes"`
// Explicit values to use in the Name tag on elasticache subnets.
//
// If empty, Name tags are generated.
ElasticacheSubnetNames *[]*string `field:"optional" json:"elasticacheSubnetNames" yaml:"elasticacheSubnetNames"`
// A list of elasticache subnets.
ElasticacheSubnets *[]*string `field:"optional" json:"elasticacheSubnets" yaml:"elasticacheSubnets"`
// Suffix to append to elasticache subnets name elasticache.
ElasticacheSubnetSuffix *string `field:"optional" json:"elasticacheSubnetSuffix" yaml:"elasticacheSubnetSuffix"`
// Additional tags for the elasticache subnets The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
ElasticacheSubnetTags *map[string]*string `field:"optional" json:"elasticacheSubnetTags" yaml:"elasticacheSubnetTags"`
// [DEPRECATED](https://github.com/hashicorp/terraform/issues/31730) Should be true to enable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic.
EnableClassiclink *bool `field:"optional" json:"enableClassiclink" yaml:"enableClassiclink"`
// [DEPRECATED](https://github.com/hashicorp/terraform/issues/31730) Should be true to enable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic.
EnableClassiclinkDnsSupport *bool `field:"optional" json:"enableClassiclinkDnsSupport" yaml:"enableClassiclinkDnsSupport"`
// Should be true if you want to specify a DHCP options set with a custom domain name, DNS servers, NTP servers, netbios servers, and/or netbios server type.
EnableDhcpOptions *bool `field:"optional" json:"enableDhcpOptions" yaml:"enableDhcpOptions"`
// Should be true to enable DNS hostnames in the VPC.
EnableDnsHostnames *bool `field:"optional" json:"enableDnsHostnames" yaml:"enableDnsHostnames"`
// Should be true to enable DNS support in the VPC true.
EnableDnsSupport *bool `field:"optional" json:"enableDnsSupport" yaml:"enableDnsSupport"`
// Whether or not to enable VPC Flow Logs.
EnableFlowLog *bool `field:"optional" json:"enableFlowLog" yaml:"enableFlowLog"`
// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC.
//
// You cannot specify the range of IP addresses, or the size of the CIDR block.
EnableIpv6 *bool `field:"optional" json:"enableIpv6" yaml:"enableIpv6"`
// Should be true if you want to provision NAT Gateways for each of your private networks.
EnableNatGateway *bool `field:"optional" json:"enableNatGateway" yaml:"enableNatGateway"`
// Controls if redshift should have public routing table.
EnablePublicRedshift *bool `field:"optional" json:"enablePublicRedshift" yaml:"enablePublicRedshift"`
// Should be true if you want to create a new VPN Gateway resource and attach it to the VPC.
EnableVpnGateway *bool `field:"optional" json:"enableVpnGateway" yaml:"enableVpnGateway"`
// List of EIP IDs to be assigned to the NAT Gateways (used in combination with reuse_nat_ips).
ExternalNatIpIds *[]*string `field:"optional" json:"externalNatIpIds" yaml:"externalNatIpIds"`
// List of EIPs to be used for `nat_public_ips` output (used in combination with reuse_nat_ips and external_nat_ip_ids).
ExternalNatIps *[]*string `field:"optional" json:"externalNatIps" yaml:"externalNatIps"`
// The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group.
//
// When flow_log_destination_arn is set to ARN of Cloudwatch Logs, this argument needs to be provided.
FlowLogCloudwatchIamRoleArn *string `field:"optional" json:"flowLogCloudwatchIamRoleArn" yaml:"flowLogCloudwatchIamRoleArn"`
// The ARN of the KMS Key to use when encrypting log data for VPC flow logs.
FlowLogCloudwatchLogGroupKmsKeyId *string `field:"optional" json:"flowLogCloudwatchLogGroupKmsKeyId" yaml:"flowLogCloudwatchLogGroupKmsKeyId"`
// Specifies the name prefix of CloudWatch Log Group for VPC flow logs.
//
// /aws/vpc-flow-log/.
FlowLogCloudwatchLogGroupNamePrefix *string `field:"optional" json:"flowLogCloudwatchLogGroupNamePrefix" yaml:"flowLogCloudwatchLogGroupNamePrefix"`
// Specifies the name suffix of CloudWatch Log Group for VPC flow logs.
FlowLogCloudwatchLogGroupNameSuffix *string `field:"optional" json:"flowLogCloudwatchLogGroupNameSuffix" yaml:"flowLogCloudwatchLogGroupNameSuffix"`
// Specifies the number of days you want to retain log events in the specified log group for VPC flow logs.
FlowLogCloudwatchLogGroupRetentionInDays *float64 `field:"optional" json:"flowLogCloudwatchLogGroupRetentionInDays" yaml:"flowLogCloudwatchLogGroupRetentionInDays"`
// The ARN of the CloudWatch log group or S3 bucket where VPC Flow Logs will be pushed.
//
// If this ARN is a S3 bucket the appropriate permissions need to be set on that bucket's policy. When create_flow_log_cloudwatch_log_group is set to false this argument must be provided.
FlowLogDestinationArn *string `field:"optional" json:"flowLogDestinationArn" yaml:"flowLogDestinationArn"`
// Type of flow log destination.
//
// Can be s3 or cloud-watch-logs.
// cloud-watch-logs.
FlowLogDestinationType *string `field:"optional" json:"flowLogDestinationType" yaml:"flowLogDestinationType"`
// (Optional) The format for the flow log.
//
// Valid values: `plain-text`, `parquet`.
// plain-text.
FlowLogFileFormat *string `field:"optional" json:"flowLogFileFormat" yaml:"flowLogFileFormat"`
// (Optional) Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.
FlowLogHiveCompatiblePartitions *bool `field:"optional" json:"flowLogHiveCompatiblePartitions" yaml:"flowLogHiveCompatiblePartitions"`
// The fields to include in the flow log record, in the order in which they should appear.
FlowLogLogFormat *string `field:"optional" json:"flowLogLogFormat" yaml:"flowLogLogFormat"`
// The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record.
//
// Valid Values: `60` seconds or `600` seconds.
// 600.
FlowLogMaxAggregationInterval *float64 `field:"optional" json:"flowLogMaxAggregationInterval" yaml:"flowLogMaxAggregationInterval"`
// (Optional) Indicates whether to partition the flow log per hour.
//
// This reduces the cost and response time for queries.
FlowLogPerHourPartition *bool `field:"optional" json:"flowLogPerHourPartition" yaml:"flowLogPerHourPartition"`
// The type of traffic to capture.
//
// Valid values: ACCEPT, REJECT, ALL.
// ALL.
FlowLogTrafficType *string `field:"optional" json:"flowLogTrafficType" yaml:"flowLogTrafficType"`
// Additional tags for the internet gateway The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
IgwTags *map[string]*string `field:"optional" json:"igwTags" yaml:"igwTags"`
// A tenancy option for instances launched into the VPC default.
InstanceTenancy *string `field:"optional" json:"instanceTenancy" yaml:"instanceTenancy"`
// Additional tags for the intra subnets network ACL The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
IntraAclTags *map[string]*string `field:"optional" json:"intraAclTags" yaml:"intraAclTags"`
// Whether to use dedicated network ACL (not default) and custom rules for intra subnets.
IntraDedicatedNetworkAcl *bool `field:"optional" json:"intraDedicatedNetworkAcl" yaml:"intraDedicatedNetworkAcl"`
// Intra subnets inbound network ACLs [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
IntraInboundAclRules *[]*map[string]*string `field:"optional" json:"intraInboundAclRules" yaml:"intraInboundAclRules"`
// Intra subnets outbound network ACLs [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
IntraOutboundAclRules *[]*map[string]*string `field:"optional" json:"intraOutboundAclRules" yaml:"intraOutboundAclRules"`
// Additional tags for the intra route tables The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
IntraRouteTableTags *map[string]*string `field:"optional" json:"intraRouteTableTags" yaml:"intraRouteTableTags"`
// Assign IPv6 address on intra subnet, must be disabled to change IPv6 CIDRs.
//
// This is the IPv6 equivalent of map_public_ip_on_launch.
IntraSubnetAssignIpv6AddressOnCreation *bool `field:"optional" json:"intraSubnetAssignIpv6AddressOnCreation" yaml:"intraSubnetAssignIpv6AddressOnCreation"`
// Assigns IPv6 intra subnet id based on the Amazon provided /56 prefix base 10 integer (0-256).
//
// Must be of equal length to the corresponding IPv4 subnet list.
IntraSubnetIpv6Prefixes *[]*string `field:"optional" json:"intraSubnetIpv6Prefixes" yaml:"intraSubnetIpv6Prefixes"`
// Explicit values to use in the Name tag on intra subnets.
//
// If empty, Name tags are generated.
IntraSubnetNames *[]*string `field:"optional" json:"intraSubnetNames" yaml:"intraSubnetNames"`
// A list of intra subnets.
IntraSubnets *[]*string `field:"optional" json:"intraSubnets" yaml:"intraSubnets"`
// Suffix to append to intra subnets name intra.
IntraSubnetSuffix *string `field:"optional" json:"intraSubnetSuffix" yaml:"intraSubnetSuffix"`
// Additional tags for the intra subnets The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
IntraSubnetTags *map[string]*string `field:"optional" json:"intraSubnetTags" yaml:"intraSubnetTags"`
// (Optional) The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR.
Ipv4IpamPoolId *string `field:"optional" json:"ipv4IpamPoolId" yaml:"ipv4IpamPoolId"`
// (Optional) The netmask length of the IPv4 CIDR you want to allocate to this VPC.
//
// Requires specifying a ipv4_ipam_pool_id.
Ipv4NetmaskLength *float64 `field:"optional" json:"ipv4NetmaskLength" yaml:"ipv4NetmaskLength"`
// (Optional) IPv6 CIDR block to request from an IPAM Pool.
//
// Can be set explicitly or derived from IPAM using `ipv6_netmask_length`.
Ipv6Cidr *string `field:"optional" json:"ipv6Cidr" yaml:"ipv6Cidr"`
// (Optional) IPAM Pool ID for a IPv6 pool.
//
// Conflicts with `assign_generated_ipv6_cidr_block`.
Ipv6IpamPoolId *string `field:"optional" json:"ipv6IpamPoolId" yaml:"ipv6IpamPoolId"`
// (Optional) Netmask length to request from IPAM Pool.
//
// Conflicts with `ipv6_cidr_block`. This can be omitted if IPAM pool as a `allocation_default_netmask_length` set. Valid values: `56`.
Ipv6NetmaskLength *float64 `field:"optional" json:"ipv6NetmaskLength" yaml:"ipv6NetmaskLength"`
// Should be true to adopt and manage Default Network ACL.
ManageDefaultNetworkAcl *bool `field:"optional" json:"manageDefaultNetworkAcl" yaml:"manageDefaultNetworkAcl"`
// Should be true to manage default route table.
ManageDefaultRouteTable *bool `field:"optional" json:"manageDefaultRouteTable" yaml:"manageDefaultRouteTable"`
// Should be true to adopt and manage default security group.
ManageDefaultSecurityGroup *bool `field:"optional" json:"manageDefaultSecurityGroup" yaml:"manageDefaultSecurityGroup"`
// Should be true to adopt and manage Default VPC.
ManageDefaultVpc *bool `field:"optional" json:"manageDefaultVpc" yaml:"manageDefaultVpc"`
// Should be false if you do not want to auto-assign public IP on launch true.
MapPublicIpOnLaunch *bool `field:"optional" json:"mapPublicIpOnLaunch" yaml:"mapPublicIpOnLaunch"`
// Name to be used on all the resources as identifier.
Name *string `field:"optional" json:"name" yaml:"name"`
// Additional tags for the NAT EIP The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
NatEipTags *map[string]*string `field:"optional" json:"natEipTags" yaml:"natEipTags"`
// Used to pass a custom destination route for private NAT Gateway.
//
// If not specified, the default 0.0.0.0/0 is used as a destination route.
// 0.0.0.0/0
NatGatewayDestinationCidrBlock *string `field:"optional" json:"natGatewayDestinationCidrBlock" yaml:"natGatewayDestinationCidrBlock"`
// Additional tags for the NAT gateways The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
NatGatewayTags *map[string]*string `field:"optional" json:"natGatewayTags" yaml:"natGatewayTags"`
// Should be true if you want only one NAT Gateway per availability zone.
//
// Requires `var.azs` to be set, and the number of `public_subnets` created to be greater than or equal to the number of availability zones specified in `var.azs`.
OneNatGatewayPerAz *bool `field:"optional" json:"oneNatGatewayPerAz" yaml:"oneNatGatewayPerAz"`
// Additional tags for the outpost subnets network ACL The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
OutpostAclTags *map[string]*string `field:"optional" json:"outpostAclTags" yaml:"outpostAclTags"`
// ARN of Outpost you want to create a subnet in.
OutpostArn *string `field:"optional" json:"outpostArn" yaml:"outpostArn"`
// AZ where Outpost is anchored.
OutpostAz *string `field:"optional" json:"outpostAz" yaml:"outpostAz"`
// Whether to use dedicated network ACL (not default) and custom rules for outpost subnets.
OutpostDedicatedNetworkAcl *bool `field:"optional" json:"outpostDedicatedNetworkAcl" yaml:"outpostDedicatedNetworkAcl"`
// Outpost subnets inbound network ACLs [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
OutpostInboundAclRules *[]*map[string]*string `field:"optional" json:"outpostInboundAclRules" yaml:"outpostInboundAclRules"`
// Outpost subnets outbound network ACLs [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
OutpostOutboundAclRules *[]*map[string]*string `field:"optional" json:"outpostOutboundAclRules" yaml:"outpostOutboundAclRules"`
// Assign IPv6 address on outpost subnet, must be disabled to change IPv6 CIDRs.
//
// This is the IPv6 equivalent of map_public_ip_on_launch.
OutpostSubnetAssignIpv6AddressOnCreation *bool `field:"optional" json:"outpostSubnetAssignIpv6AddressOnCreation" yaml:"outpostSubnetAssignIpv6AddressOnCreation"`
// Assigns IPv6 outpost subnet id based on the Amazon provided /56 prefix base 10 integer (0-256).
//
// Must be of equal length to the corresponding IPv4 subnet list.
OutpostSubnetIpv6Prefixes *[]*string `field:"optional" json:"outpostSubnetIpv6Prefixes" yaml:"outpostSubnetIpv6Prefixes"`
// Explicit values to use in the Name tag on outpost subnets.
//
// If empty, Name tags are generated.
OutpostSubnetNames *[]*string `field:"optional" json:"outpostSubnetNames" yaml:"outpostSubnetNames"`
// A list of outpost subnets inside the VPC.
OutpostSubnets *[]*string `field:"optional" json:"outpostSubnets" yaml:"outpostSubnets"`
// Suffix to append to outpost subnets name outpost.
OutpostSubnetSuffix *string `field:"optional" json:"outpostSubnetSuffix" yaml:"outpostSubnetSuffix"`
// Additional tags for the outpost subnets The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
OutpostSubnetTags *map[string]*string `field:"optional" json:"outpostSubnetTags" yaml:"outpostSubnetTags"`
// Additional tags for the private subnets network ACL The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PrivateAclTags *map[string]*string `field:"optional" json:"privateAclTags" yaml:"privateAclTags"`
// Whether to use dedicated network ACL (not default) and custom rules for private subnets.
PrivateDedicatedNetworkAcl *bool `field:"optional" json:"privateDedicatedNetworkAcl" yaml:"privateDedicatedNetworkAcl"`
// Private subnets inbound network ACLs [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PrivateInboundAclRules *[]*map[string]*string `field:"optional" json:"privateInboundAclRules" yaml:"privateInboundAclRules"`
// Private subnets outbound network ACLs [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PrivateOutboundAclRules *[]*map[string]*string `field:"optional" json:"privateOutboundAclRules" yaml:"privateOutboundAclRules"`
// Additional tags for the private route tables The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PrivateRouteTableTags *map[string]*string `field:"optional" json:"privateRouteTableTags" yaml:"privateRouteTableTags"`
// Assign IPv6 address on private subnet, must be disabled to change IPv6 CIDRs.
//
// This is the IPv6 equivalent of map_public_ip_on_launch.
PrivateSubnetAssignIpv6AddressOnCreation *bool `field:"optional" json:"privateSubnetAssignIpv6AddressOnCreation" yaml:"privateSubnetAssignIpv6AddressOnCreation"`
// Assigns IPv6 private subnet id based on the Amazon provided /56 prefix base 10 integer (0-256).
//
// Must be of equal length to the corresponding IPv4 subnet list.
PrivateSubnetIpv6Prefixes *[]*string `field:"optional" json:"privateSubnetIpv6Prefixes" yaml:"privateSubnetIpv6Prefixes"`
// Explicit values to use in the Name tag on private subnets.
//
// If empty, Name tags are generated.
PrivateSubnetNames *[]*string `field:"optional" json:"privateSubnetNames" yaml:"privateSubnetNames"`
// A list of private subnets inside the VPC.
PrivateSubnets *[]*string `field:"optional" json:"privateSubnets" yaml:"privateSubnets"`
// Suffix to append to private subnets name private.
PrivateSubnetSuffix *string `field:"optional" json:"privateSubnetSuffix" yaml:"privateSubnetSuffix"`
// Additional tags for the private subnets The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PrivateSubnetTags *map[string]*string `field:"optional" json:"privateSubnetTags" yaml:"privateSubnetTags"`
// Additional tags for the private subnets where the primary key is the AZ The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PrivateSubnetTagsPerAz *map[string]*map[string]*string `field:"optional" json:"privateSubnetTagsPerAz" yaml:"privateSubnetTagsPerAz"`
// Should be true if you want route table propagation.
PropagateIntraRouteTablesVgw *bool `field:"optional" json:"propagateIntraRouteTablesVgw" yaml:"propagateIntraRouteTablesVgw"`
// Should be true if you want route table propagation.
PropagatePrivateRouteTablesVgw *bool `field:"optional" json:"propagatePrivateRouteTablesVgw" yaml:"propagatePrivateRouteTablesVgw"`
// Should be true if you want route table propagation.
PropagatePublicRouteTablesVgw *bool `field:"optional" json:"propagatePublicRouteTablesVgw" yaml:"propagatePublicRouteTablesVgw"`
// Additional tags for the public subnets network ACL The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PublicAclTags *map[string]*string `field:"optional" json:"publicAclTags" yaml:"publicAclTags"`
// Whether to use dedicated network ACL (not default) and custom rules for public subnets.
PublicDedicatedNetworkAcl *bool `field:"optional" json:"publicDedicatedNetworkAcl" yaml:"publicDedicatedNetworkAcl"`
// Public subnets inbound network ACLs [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PublicInboundAclRules *[]*map[string]*string `field:"optional" json:"publicInboundAclRules" yaml:"publicInboundAclRules"`
// Public subnets outbound network ACLs [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PublicOutboundAclRules *[]*map[string]*string `field:"optional" json:"publicOutboundAclRules" yaml:"publicOutboundAclRules"`
// Additional tags for the public route tables The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PublicRouteTableTags *map[string]*string `field:"optional" json:"publicRouteTableTags" yaml:"publicRouteTableTags"`
// Assign IPv6 address on public subnet, must be disabled to change IPv6 CIDRs.
//
// This is the IPv6 equivalent of map_public_ip_on_launch.
PublicSubnetAssignIpv6AddressOnCreation *bool `field:"optional" json:"publicSubnetAssignIpv6AddressOnCreation" yaml:"publicSubnetAssignIpv6AddressOnCreation"`
// Assigns IPv6 public subnet id based on the Amazon provided /56 prefix base 10 integer (0-256).
//
// Must be of equal length to the corresponding IPv4 subnet list.
PublicSubnetIpv6Prefixes *[]*string `field:"optional" json:"publicSubnetIpv6Prefixes" yaml:"publicSubnetIpv6Prefixes"`
// Explicit values to use in the Name tag on public subnets.
//
// If empty, Name tags are generated.
PublicSubnetNames *[]*string `field:"optional" json:"publicSubnetNames" yaml:"publicSubnetNames"`
// A list of public subnets inside the VPC.
PublicSubnets *[]*string `field:"optional" json:"publicSubnets" yaml:"publicSubnets"`
// Suffix to append to public subnets name public.
PublicSubnetSuffix *string `field:"optional" json:"publicSubnetSuffix" yaml:"publicSubnetSuffix"`
// Additional tags for the public subnets The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PublicSubnetTags *map[string]*string `field:"optional" json:"publicSubnetTags" yaml:"publicSubnetTags"`
// Additional tags for the public subnets where the primary key is the AZ The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
PublicSubnetTagsPerAz *map[string]*map[string]*string `field:"optional" json:"publicSubnetTagsPerAz" yaml:"publicSubnetTagsPerAz"`
// Do you agree that Putin doesn't respect Ukrainian sovereignty and territorial integrity?
//
// More info: https://en.wikipedia.org/wiki/Putin_khuylo!
// true.
PutinKhuylo *bool `field:"optional" json:"putinKhuylo" yaml:"putinKhuylo"`
// Additional tags for the redshift subnets network ACL The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
RedshiftAclTags *map[string]*string `field:"optional" json:"redshiftAclTags" yaml:"redshiftAclTags"`
// Whether to use dedicated network ACL (not default) and custom rules for redshift subnets.
RedshiftDedicatedNetworkAcl *bool `field:"optional" json:"redshiftDedicatedNetworkAcl" yaml:"redshiftDedicatedNetworkAcl"`
// Redshift subnets inbound network ACL rules [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
RedshiftInboundAclRules *[]*map[string]*string `field:"optional" json:"redshiftInboundAclRules" yaml:"redshiftInboundAclRules"`
// Redshift subnets outbound network ACL rules [object Object] The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
RedshiftOutboundAclRules *[]*map[string]*string `field:"optional" json:"redshiftOutboundAclRules" yaml:"redshiftOutboundAclRules"`
// Additional tags for the redshift route tables The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
RedshiftRouteTableTags *map[string]*string `field:"optional" json:"redshiftRouteTableTags" yaml:"redshiftRouteTableTags"`
// Assign IPv6 address on redshift subnet, must be disabled to change IPv6 CIDRs.
//
// This is the IPv6 equivalent of map_public_ip_on_launch.
RedshiftSubnetAssignIpv6AddressOnCreation *bool `field:"optional" json:"redshiftSubnetAssignIpv6AddressOnCreation" yaml:"redshiftSubnetAssignIpv6AddressOnCreation"`
// Name of redshift subnet group.
RedshiftSubnetGroupName *string `field:"optional" json:"redshiftSubnetGroupName" yaml:"redshiftSubnetGroupName"`
// Additional tags for the redshift subnet group The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
RedshiftSubnetGroupTags *map[string]*string `field:"optional" json:"redshiftSubnetGroupTags" yaml:"redshiftSubnetGroupTags"`
// Assigns IPv6 redshift subnet id based on the Amazon provided /56 prefix base 10 integer (0-256).
//
// Must be of equal length to the corresponding IPv4 subnet list.
RedshiftSubnetIpv6Prefixes *[]*string `field:"optional" json:"redshiftSubnetIpv6Prefixes" yaml:"redshiftSubnetIpv6Prefixes"`
// Explicit values to use in the Name tag on redshift subnets.
//
// If empty, Name tags are generated.
RedshiftSubnetNames *[]*string `field:"optional" json:"redshiftSubnetNames" yaml:"redshiftSubnetNames"`
// A list of redshift subnets.
RedshiftSubnets *[]*string `field:"optional" json:"redshiftSubnets" yaml:"redshiftSubnets"`
// Suffix to append to redshift subnets name redshift.
RedshiftSubnetSuffix *string `field:"optional" json:"redshiftSubnetSuffix" yaml:"redshiftSubnetSuffix"`
// Additional tags for the redshift subnets The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
RedshiftSubnetTags *map[string]*string `field:"optional" json:"redshiftSubnetTags" yaml:"redshiftSubnetTags"`
// Should be true if you don't want EIPs to be created for your NAT Gateways and will instead pass them in via the 'external_nat_ip_ids' variable.
ReuseNatIps *bool `field:"optional" json:"reuseNatIps" yaml:"reuseNatIps"`
// List of secondary CIDR blocks to associate with the VPC to extend the IP Address pool.
SecondaryCidrBlocks *[]*string `field:"optional" json:"secondaryCidrBlocks" yaml:"secondaryCidrBlocks"`
// Should be true if you want to provision a single shared NAT Gateway across all of your private networks.
SingleNatGateway *bool `field:"optional" json:"singleNatGateway" yaml:"singleNatGateway"`
// A map of tags to add to all resources The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// Determines whether IPAM pool is used for CIDR allocation.
UseIpamPool *bool `field:"optional" json:"useIpamPool" yaml:"useIpamPool"`
// The ARN of the Permissions Boundary for the VPC Flow Log IAM Role.
VpcFlowLogPermissionsBoundary *string `field:"optional" json:"vpcFlowLogPermissionsBoundary" yaml:"vpcFlowLogPermissionsBoundary"`
// Additional tags for the VPC Flow Logs The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
VpcFlowLogTags *map[string]*string `field:"optional" json:"vpcFlowLogTags" yaml:"vpcFlowLogTags"`
// Additional tags for the VPC The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
VpcTags *map[string]*string `field:"optional" json:"vpcTags" yaml:"vpcTags"`
// The Availability Zone for the VPN Gateway.
VpnGatewayAz *string `field:"optional" json:"vpnGatewayAz" yaml:"vpnGatewayAz"`
// ID of VPN Gateway to attach to the VPC.
VpnGatewayId *string `field:"optional" json:"vpnGatewayId" yaml:"vpnGatewayId"`
// Additional tags for the VPN gateway The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}.
VpnGatewayTags *map[string]*string `field:"optional" json:"vpnGatewayTags" yaml:"vpnGatewayTags"`
}