![JAR search and dependency download from the Maven repository](/logo.png)
io.cloudshiftdev.awscdk.services.networkfirewall.CfnFirewall.kt Maven / Gradle / Ivy
@file:Suppress("RedundantVisibilityModifier","RedundantUnitReturnType","RemoveRedundantQualifierName","unused","UnusedImport","ClassName","REDUNDANT_PROJECTION","DEPRECATION")
package io.cloudshiftdev.awscdk.services.networkfirewall
import io.cloudshiftdev.awscdk.CfnResource
import io.cloudshiftdev.awscdk.CfnTag
import io.cloudshiftdev.awscdk.IInspectable
import io.cloudshiftdev.awscdk.IResolvable
import io.cloudshiftdev.awscdk.ITaggable
import io.cloudshiftdev.awscdk.TagManager
import io.cloudshiftdev.awscdk.TreeInspector
import io.cloudshiftdev.awscdk.common.CdkDslMarker
import io.cloudshiftdev.awscdk.common.CdkObject
import io.cloudshiftdev.awscdk.common.CdkObjectWrappers
import kotlin.Any
import kotlin.Boolean
import kotlin.String
import kotlin.Unit
import kotlin.collections.List
import io.cloudshiftdev.constructs.Construct as CloudshiftdevConstructsConstruct
import software.constructs.Construct as SoftwareConstructsConstruct
/**
* Use the `Firewall` to provide stateful, managed, network firewall and intrusion detection and
* prevention filtering for your VPCs in Amazon VPC .
*
* The firewall defines the configuration settings for an AWS Network Firewall firewall. The
* settings include the firewall policy, the subnets in your VPC to use for the firewall endpoints, and
* any tags that are attached to the firewall AWS resource.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.networkfirewall.*;
* CfnFirewall cfnFirewall = CfnFirewall.Builder.create(this, "MyCfnFirewall")
* .firewallName("firewallName")
* .firewallPolicyArn("firewallPolicyArn")
* .subnetMappings(List.of(SubnetMappingProperty.builder()
* .subnetId("subnetId")
* // the properties below are optional
* .ipAddressType("ipAddressType")
* .build()))
* .vpcId("vpcId")
* // the properties below are optional
* .deleteProtection(false)
* .description("description")
* .firewallPolicyChangeProtection(false)
* .subnetChangeProtection(false)
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)
*/
public open class CfnFirewall(
cdkObject: software.amazon.awscdk.services.networkfirewall.CfnFirewall,
) : CfnResource(cdkObject),
IInspectable,
ITaggable {
public constructor(
scope: CloudshiftdevConstructsConstruct,
id: String,
props: CfnFirewallProps,
) :
this(software.amazon.awscdk.services.networkfirewall.CfnFirewall(scope.let(CloudshiftdevConstructsConstruct.Companion::unwrap),
id, props.let(CfnFirewallProps.Companion::unwrap))
)
public constructor(
scope: CloudshiftdevConstructsConstruct,
id: String,
props: CfnFirewallProps.Builder.() -> Unit,
) : this(scope, id, CfnFirewallProps(props)
)
/**
* The unique IDs of the firewall endpoints for all of the subnets that you attached to the
* firewall.
*
* The subnets are not listed in any particular order. For example:
* `["us-west-2c:vpce-111122223333", "us-west-2a:vpce-987654321098", "us-west-2b:vpce-012345678901"]`
* .
*/
public open fun attrEndpointIds(): List = unwrap(this).getAttrEndpointIds()
/**
* The Amazon Resource Name (ARN) of the `Firewall` .
*/
public open fun attrFirewallArn(): String = unwrap(this).getAttrFirewallArn()
/**
* The name of the `Firewall` resource.
*/
public open fun attrFirewallId(): String = unwrap(this).getAttrFirewallId()
/**
* A flag indicating whether it is possible to delete the firewall.
*/
public open fun deleteProtection(): Any? = unwrap(this).getDeleteProtection()
/**
* A flag indicating whether it is possible to delete the firewall.
*/
public open fun deleteProtection(`value`: Boolean) {
unwrap(this).setDeleteProtection(`value`)
}
/**
* A flag indicating whether it is possible to delete the firewall.
*/
public open fun deleteProtection(`value`: IResolvable) {
unwrap(this).setDeleteProtection(`value`.let(IResolvable.Companion::unwrap))
}
/**
* A description of the firewall.
*/
public open fun description(): String? = unwrap(this).getDescription()
/**
* A description of the firewall.
*/
public open fun description(`value`: String) {
unwrap(this).setDescription(`value`)
}
/**
* The descriptive name of the firewall.
*/
public open fun firewallName(): String = unwrap(this).getFirewallName()
/**
* The descriptive name of the firewall.
*/
public open fun firewallName(`value`: String) {
unwrap(this).setFirewallName(`value`)
}
/**
* The Amazon Resource Name (ARN) of the firewall policy.
*/
public open fun firewallPolicyArn(): String = unwrap(this).getFirewallPolicyArn()
/**
* The Amazon Resource Name (ARN) of the firewall policy.
*/
public open fun firewallPolicyArn(`value`: String) {
unwrap(this).setFirewallPolicyArn(`value`)
}
/**
* A setting indicating whether the firewall is protected against a change to the firewall policy
* association.
*/
public open fun firewallPolicyChangeProtection(): Any? =
unwrap(this).getFirewallPolicyChangeProtection()
/**
* A setting indicating whether the firewall is protected against a change to the firewall policy
* association.
*/
public open fun firewallPolicyChangeProtection(`value`: Boolean) {
unwrap(this).setFirewallPolicyChangeProtection(`value`)
}
/**
* A setting indicating whether the firewall is protected against a change to the firewall policy
* association.
*/
public open fun firewallPolicyChangeProtection(`value`: IResolvable) {
unwrap(this).setFirewallPolicyChangeProtection(`value`.let(IResolvable.Companion::unwrap))
}
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector tree inspector to collect and process attributes.
*/
public override fun inspect(inspector: TreeInspector) {
unwrap(this).inspect(inspector.let(TreeInspector.Companion::unwrap))
}
/**
* A setting indicating whether the firewall is protected against changes to the subnet
* associations.
*/
public open fun subnetChangeProtection(): Any? = unwrap(this).getSubnetChangeProtection()
/**
* A setting indicating whether the firewall is protected against changes to the subnet
* associations.
*/
public open fun subnetChangeProtection(`value`: Boolean) {
unwrap(this).setSubnetChangeProtection(`value`)
}
/**
* A setting indicating whether the firewall is protected against changes to the subnet
* associations.
*/
public open fun subnetChangeProtection(`value`: IResolvable) {
unwrap(this).setSubnetChangeProtection(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The public subnets that Network Firewall is using for the firewall.
*/
public open fun subnetMappings(): Any = unwrap(this).getSubnetMappings()
/**
* The public subnets that Network Firewall is using for the firewall.
*/
public open fun subnetMappings(`value`: IResolvable) {
unwrap(this).setSubnetMappings(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The public subnets that Network Firewall is using for the firewall.
*/
public open fun subnetMappings(`value`: List) {
unwrap(this).setSubnetMappings(`value`.map{CdkObjectWrappers.unwrap(it)})
}
/**
* The public subnets that Network Firewall is using for the firewall.
*/
public open fun subnetMappings(vararg `value`: Any): Unit = subnetMappings(`value`.toList())
/**
* Tag Manager which manages the tags for this resource.
*/
public override fun tags(): TagManager = unwrap(this).getTags().let(TagManager::wrap)
/**
* An array of key-value pairs to apply to this resource.
*/
public open fun tagsRaw(): List = unwrap(this).getTagsRaw()?.map(CfnTag::wrap) ?:
emptyList()
/**
* An array of key-value pairs to apply to this resource.
*/
public open fun tagsRaw(`value`: List) {
unwrap(this).setTagsRaw(`value`.map(CfnTag.Companion::unwrap))
}
/**
* An array of key-value pairs to apply to this resource.
*/
public open fun tagsRaw(vararg `value`: CfnTag): Unit = tagsRaw(`value`.toList())
/**
* The unique identifier of the VPC where the firewall is in use.
*/
public open fun vpcId(): String = unwrap(this).getVpcId()
/**
* The unique identifier of the VPC where the firewall is in use.
*/
public open fun vpcId(`value`: String) {
unwrap(this).setVpcId(`value`)
}
/**
* A fluent builder for [io.cloudshiftdev.awscdk.services.networkfirewall.CfnFirewall].
*/
@CdkDslMarker
public interface Builder {
/**
* A flag indicating whether it is possible to delete the firewall.
*
* A setting of `TRUE` indicates that the firewall is protected against deletion. Use this
* setting to protect against accidentally deleting a firewall that is in use. When you create a
* firewall, the operation initializes this flag to `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-deleteprotection)
* @param deleteProtection A flag indicating whether it is possible to delete the firewall.
*/
public fun deleteProtection(deleteProtection: Boolean)
/**
* A flag indicating whether it is possible to delete the firewall.
*
* A setting of `TRUE` indicates that the firewall is protected against deletion. Use this
* setting to protect against accidentally deleting a firewall that is in use. When you create a
* firewall, the operation initializes this flag to `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-deleteprotection)
* @param deleteProtection A flag indicating whether it is possible to delete the firewall.
*/
public fun deleteProtection(deleteProtection: IResolvable)
/**
* A description of the firewall.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-description)
* @param description A description of the firewall.
*/
public fun description(description: String)
/**
* The descriptive name of the firewall.
*
* You can't change the name of a firewall after you create it.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallname)
* @param firewallName The descriptive name of the firewall.
*/
public fun firewallName(firewallName: String)
/**
* The Amazon Resource Name (ARN) of the firewall policy.
*
* The relationship of firewall to firewall policy is many to one. Each firewall requires one
* firewall policy association, and you can use the same firewall policy for multiple firewalls.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicyarn)
* @param firewallPolicyArn The Amazon Resource Name (ARN) of the firewall policy.
*/
public fun firewallPolicyArn(firewallPolicyArn: String)
/**
* A setting indicating whether the firewall is protected against a change to the firewall
* policy association.
*
* Use this setting to protect against accidentally modifying the firewall policy for a firewall
* that is in use. When you create a firewall, the operation initializes this setting to `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicychangeprotection)
* @param firewallPolicyChangeProtection A setting indicating whether the firewall is protected
* against a change to the firewall policy association.
*/
public fun firewallPolicyChangeProtection(firewallPolicyChangeProtection: Boolean)
/**
* A setting indicating whether the firewall is protected against a change to the firewall
* policy association.
*
* Use this setting to protect against accidentally modifying the firewall policy for a firewall
* that is in use. When you create a firewall, the operation initializes this setting to `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicychangeprotection)
* @param firewallPolicyChangeProtection A setting indicating whether the firewall is protected
* against a change to the firewall policy association.
*/
public fun firewallPolicyChangeProtection(firewallPolicyChangeProtection: IResolvable)
/**
* A setting indicating whether the firewall is protected against changes to the subnet
* associations.
*
* Use this setting to protect against accidentally modifying the subnet associations for a
* firewall that is in use. When you create a firewall, the operation initializes this setting to
* `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetchangeprotection)
* @param subnetChangeProtection A setting indicating whether the firewall is protected against
* changes to the subnet associations.
*/
public fun subnetChangeProtection(subnetChangeProtection: Boolean)
/**
* A setting indicating whether the firewall is protected against changes to the subnet
* associations.
*
* Use this setting to protect against accidentally modifying the subnet associations for a
* firewall that is in use. When you create a firewall, the operation initializes this setting to
* `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetchangeprotection)
* @param subnetChangeProtection A setting indicating whether the firewall is protected against
* changes to the subnet associations.
*/
public fun subnetChangeProtection(subnetChangeProtection: IResolvable)
/**
* The public subnets that Network Firewall is using for the firewall.
*
* Each subnet must belong to a different Availability Zone.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetmappings)
* @param subnetMappings The public subnets that Network Firewall is using for the firewall.
*/
public fun subnetMappings(subnetMappings: IResolvable)
/**
* The public subnets that Network Firewall is using for the firewall.
*
* Each subnet must belong to a different Availability Zone.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetmappings)
* @param subnetMappings The public subnets that Network Firewall is using for the firewall.
*/
public fun subnetMappings(subnetMappings: List)
/**
* The public subnets that Network Firewall is using for the firewall.
*
* Each subnet must belong to a different Availability Zone.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetmappings)
* @param subnetMappings The public subnets that Network Firewall is using for the firewall.
*/
public fun subnetMappings(vararg subnetMappings: Any)
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see
* [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)
* .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-tags)
* @param tags An array of key-value pairs to apply to this resource.
*/
public fun tags(tags: List)
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see
* [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)
* .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-tags)
* @param tags An array of key-value pairs to apply to this resource.
*/
public fun tags(vararg tags: CfnTag)
/**
* The unique identifier of the VPC where the firewall is in use.
*
* You can't change the VPC of a firewall after you create the firewall.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-vpcid)
* @param vpcId The unique identifier of the VPC where the firewall is in use.
*/
public fun vpcId(vpcId: String)
}
private class BuilderImpl(
scope: SoftwareConstructsConstruct,
id: String,
) : Builder {
private val cdkBuilder: software.amazon.awscdk.services.networkfirewall.CfnFirewall.Builder =
software.amazon.awscdk.services.networkfirewall.CfnFirewall.Builder.create(scope, id)
/**
* A flag indicating whether it is possible to delete the firewall.
*
* A setting of `TRUE` indicates that the firewall is protected against deletion. Use this
* setting to protect against accidentally deleting a firewall that is in use. When you create a
* firewall, the operation initializes this flag to `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-deleteprotection)
* @param deleteProtection A flag indicating whether it is possible to delete the firewall.
*/
override fun deleteProtection(deleteProtection: Boolean) {
cdkBuilder.deleteProtection(deleteProtection)
}
/**
* A flag indicating whether it is possible to delete the firewall.
*
* A setting of `TRUE` indicates that the firewall is protected against deletion. Use this
* setting to protect against accidentally deleting a firewall that is in use. When you create a
* firewall, the operation initializes this flag to `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-deleteprotection)
* @param deleteProtection A flag indicating whether it is possible to delete the firewall.
*/
override fun deleteProtection(deleteProtection: IResolvable) {
cdkBuilder.deleteProtection(deleteProtection.let(IResolvable.Companion::unwrap))
}
/**
* A description of the firewall.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-description)
* @param description A description of the firewall.
*/
override fun description(description: String) {
cdkBuilder.description(description)
}
/**
* The descriptive name of the firewall.
*
* You can't change the name of a firewall after you create it.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallname)
* @param firewallName The descriptive name of the firewall.
*/
override fun firewallName(firewallName: String) {
cdkBuilder.firewallName(firewallName)
}
/**
* The Amazon Resource Name (ARN) of the firewall policy.
*
* The relationship of firewall to firewall policy is many to one. Each firewall requires one
* firewall policy association, and you can use the same firewall policy for multiple firewalls.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicyarn)
* @param firewallPolicyArn The Amazon Resource Name (ARN) of the firewall policy.
*/
override fun firewallPolicyArn(firewallPolicyArn: String) {
cdkBuilder.firewallPolicyArn(firewallPolicyArn)
}
/**
* A setting indicating whether the firewall is protected against a change to the firewall
* policy association.
*
* Use this setting to protect against accidentally modifying the firewall policy for a firewall
* that is in use. When you create a firewall, the operation initializes this setting to `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicychangeprotection)
* @param firewallPolicyChangeProtection A setting indicating whether the firewall is protected
* against a change to the firewall policy association.
*/
override fun firewallPolicyChangeProtection(firewallPolicyChangeProtection: Boolean) {
cdkBuilder.firewallPolicyChangeProtection(firewallPolicyChangeProtection)
}
/**
* A setting indicating whether the firewall is protected against a change to the firewall
* policy association.
*
* Use this setting to protect against accidentally modifying the firewall policy for a firewall
* that is in use. When you create a firewall, the operation initializes this setting to `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicychangeprotection)
* @param firewallPolicyChangeProtection A setting indicating whether the firewall is protected
* against a change to the firewall policy association.
*/
override fun firewallPolicyChangeProtection(firewallPolicyChangeProtection: IResolvable) {
cdkBuilder.firewallPolicyChangeProtection(firewallPolicyChangeProtection.let(IResolvable.Companion::unwrap))
}
/**
* A setting indicating whether the firewall is protected against changes to the subnet
* associations.
*
* Use this setting to protect against accidentally modifying the subnet associations for a
* firewall that is in use. When you create a firewall, the operation initializes this setting to
* `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetchangeprotection)
* @param subnetChangeProtection A setting indicating whether the firewall is protected against
* changes to the subnet associations.
*/
override fun subnetChangeProtection(subnetChangeProtection: Boolean) {
cdkBuilder.subnetChangeProtection(subnetChangeProtection)
}
/**
* A setting indicating whether the firewall is protected against changes to the subnet
* associations.
*
* Use this setting to protect against accidentally modifying the subnet associations for a
* firewall that is in use. When you create a firewall, the operation initializes this setting to
* `TRUE` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetchangeprotection)
* @param subnetChangeProtection A setting indicating whether the firewall is protected against
* changes to the subnet associations.
*/
override fun subnetChangeProtection(subnetChangeProtection: IResolvable) {
cdkBuilder.subnetChangeProtection(subnetChangeProtection.let(IResolvable.Companion::unwrap))
}
/**
* The public subnets that Network Firewall is using for the firewall.
*
* Each subnet must belong to a different Availability Zone.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetmappings)
* @param subnetMappings The public subnets that Network Firewall is using for the firewall.
*/
override fun subnetMappings(subnetMappings: IResolvable) {
cdkBuilder.subnetMappings(subnetMappings.let(IResolvable.Companion::unwrap))
}
/**
* The public subnets that Network Firewall is using for the firewall.
*
* Each subnet must belong to a different Availability Zone.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetmappings)
* @param subnetMappings The public subnets that Network Firewall is using for the firewall.
*/
override fun subnetMappings(subnetMappings: List) {
cdkBuilder.subnetMappings(subnetMappings.map{CdkObjectWrappers.unwrap(it)})
}
/**
* The public subnets that Network Firewall is using for the firewall.
*
* Each subnet must belong to a different Availability Zone.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetmappings)
* @param subnetMappings The public subnets that Network Firewall is using for the firewall.
*/
override fun subnetMappings(vararg subnetMappings: Any): Unit =
subnetMappings(subnetMappings.toList())
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see
* [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)
* .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-tags)
* @param tags An array of key-value pairs to apply to this resource.
*/
override fun tags(tags: List) {
cdkBuilder.tags(tags.map(CfnTag.Companion::unwrap))
}
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see
* [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)
* .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-tags)
* @param tags An array of key-value pairs to apply to this resource.
*/
override fun tags(vararg tags: CfnTag): Unit = tags(tags.toList())
/**
* The unique identifier of the VPC where the firewall is in use.
*
* You can't change the VPC of a firewall after you create the firewall.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-vpcid)
* @param vpcId The unique identifier of the VPC where the firewall is in use.
*/
override fun vpcId(vpcId: String) {
cdkBuilder.vpcId(vpcId)
}
public fun build(): software.amazon.awscdk.services.networkfirewall.CfnFirewall =
cdkBuilder.build()
}
public companion object {
public val CFN_RESOURCE_TYPE_NAME: String =
software.amazon.awscdk.services.networkfirewall.CfnFirewall.CFN_RESOURCE_TYPE_NAME
public operator fun invoke(
scope: CloudshiftdevConstructsConstruct,
id: String,
block: Builder.() -> Unit = {},
): CfnFirewall {
val builderImpl = BuilderImpl(CloudshiftdevConstructsConstruct.unwrap(scope), id)
return CfnFirewall(builderImpl.apply(block).build())
}
internal fun wrap(cdkObject: software.amazon.awscdk.services.networkfirewall.CfnFirewall):
CfnFirewall = CfnFirewall(cdkObject)
internal fun unwrap(wrapped: CfnFirewall):
software.amazon.awscdk.services.networkfirewall.CfnFirewall = wrapped.cdkObject as
software.amazon.awscdk.services.networkfirewall.CfnFirewall
}
/**
* The ID for a subnet that you want to associate with the firewall.
*
* AWS Network Firewall creates an instance of the associated firewall in each subnet that you
* specify, to filter traffic in the subnet's Availability Zone.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.networkfirewall.*;
* SubnetMappingProperty subnetMappingProperty = SubnetMappingProperty.builder()
* .subnetId("subnetId")
* // the properties below are optional
* .ipAddressType("ipAddressType")
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewall-subnetmapping.html)
*/
public interface SubnetMappingProperty {
/**
* The subnet's IP address type.
*
* You can't change the IP address type after you create the subnet.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewall-subnetmapping.html#cfn-networkfirewall-firewall-subnetmapping-ipaddresstype)
*/
public fun ipAddressType(): String? = unwrap(this).getIpAddressType()
/**
* The unique identifier for the subnet.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewall-subnetmapping.html#cfn-networkfirewall-firewall-subnetmapping-subnetid)
*/
public fun subnetId(): String
/**
* A builder for [SubnetMappingProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param ipAddressType The subnet's IP address type.
* You can't change the IP address type after you create the subnet.
*/
public fun ipAddressType(ipAddressType: String)
/**
* @param subnetId The unique identifier for the subnet.
*/
public fun subnetId(subnetId: String)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.networkfirewall.CfnFirewall.SubnetMappingProperty.Builder
=
software.amazon.awscdk.services.networkfirewall.CfnFirewall.SubnetMappingProperty.builder()
/**
* @param ipAddressType The subnet's IP address type.
* You can't change the IP address type after you create the subnet.
*/
override fun ipAddressType(ipAddressType: String) {
cdkBuilder.ipAddressType(ipAddressType)
}
/**
* @param subnetId The unique identifier for the subnet.
*/
override fun subnetId(subnetId: String) {
cdkBuilder.subnetId(subnetId)
}
public fun build():
software.amazon.awscdk.services.networkfirewall.CfnFirewall.SubnetMappingProperty =
cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.networkfirewall.CfnFirewall.SubnetMappingProperty,
) : CdkObject(cdkObject),
SubnetMappingProperty {
/**
* The subnet's IP address type.
*
* You can't change the IP address type after you create the subnet.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewall-subnetmapping.html#cfn-networkfirewall-firewall-subnetmapping-ipaddresstype)
*/
override fun ipAddressType(): String? = unwrap(this).getIpAddressType()
/**
* The unique identifier for the subnet.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewall-subnetmapping.html#cfn-networkfirewall-firewall-subnetmapping-subnetid)
*/
override fun subnetId(): String = unwrap(this).getSubnetId()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): SubnetMappingProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.networkfirewall.CfnFirewall.SubnetMappingProperty):
SubnetMappingProperty = CdkObjectWrappers.wrap(cdkObject) as? SubnetMappingProperty ?:
Wrapper(cdkObject)
internal fun unwrap(wrapped: SubnetMappingProperty):
software.amazon.awscdk.services.networkfirewall.CfnFirewall.SubnetMappingProperty =
(wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.networkfirewall.CfnFirewall.SubnetMappingProperty
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy