Class Firewall
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<Firewall.Builder,
Firewall>
A firewall defines the behavior of a firewall, the main VPC where the firewall is used, the Availability Zones where the firewall can be used, and one subnet to use for a firewall endpoint within each of the Availability Zones. The Availability Zones are defined implicitly in the subnet specifications.
In addition to the firewall endpoints that you define in this Firewall
specification, you can create
firewall endpoints in VpcEndpointAssociation
resources for any VPC, in any Availability Zone where the
firewall is already in use.
The status of the firewall, for example whether it's ready to filter network traffic, is provided in the corresponding FirewallStatus. You can retrieve both the firewall and firewall status by calling DescribeFirewall.
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionfinal Boolean
A setting indicating whether the firewall is protected against changes to its Availability Zone configuration.final List
<AvailabilityZoneMapping> The Availability Zones where the firewall endpoints are created for a transit gateway-attached firewall.static Firewall.Builder
builder()
final Boolean
A flag indicating whether it is possible to delete the firewall.final String
A description of the firewall.final List
<EnabledAnalysisType> An optional setting indicating the specific traffic analysis types to enable on the firewall.An optional setting indicating the specific traffic analysis types to enable on the firewall.final EncryptionConfiguration
A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final String
The Amazon Resource Name (ARN) of the firewall.final String
The unique identifier for the firewall.final String
The descriptive name of the firewall.final String
The Amazon Resource Name (ARN) of the firewall policy.final Boolean
A setting indicating whether the firewall is protected against a change to the firewall policy association.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final boolean
For responses, this returns true if the service returned a value for the AvailabilityZoneMappings property.final boolean
For responses, this returns true if the service returned a value for the EnabledAnalysisTypes property.final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the SubnetMappings property.final boolean
hasTags()
For responses, this returns true if the service returned a value for the Tags property.final Integer
The number ofVpcEndpointAssociation
resources that use this firewall.static Class
<? extends Firewall.Builder> final Boolean
A setting indicating whether the firewall is protected against changes to the subnet associations.final List
<SubnetMapping> The primary public subnets that Network Firewall is using for the firewall.tags()
Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.final String
The unique identifier of the transit gateway associated with this firewall.final String
The Amazon Web Services account ID that owns the transit gateway.final String
vpcId()
The unique identifier of the VPC where the firewall is in use.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
firewallName
The descriptive name of the firewall. You can't change the name of a firewall after you create it.
- Returns:
- The descriptive name of the firewall. You can't change the name of a firewall after you create it.
-
firewallArn
The Amazon Resource Name (ARN) of the firewall.
- Returns:
- The Amazon Resource Name (ARN) of the firewall.
-
firewallPolicyArn
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.
- Returns:
- 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.
-
vpcId
The unique identifier of the VPC where the firewall is in use.
- Returns:
- The unique identifier of the VPC where the firewall is in use.
-
hasSubnetMappings
public final boolean hasSubnetMappings()For responses, this returns true if the service returned a value for the SubnetMappings property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
subnetMappings
The primary public subnets that Network Firewall is using for the firewall. Network Firewall creates a firewall endpoint in each subnet. Create a subnet mapping for each Availability Zone where you want to use the firewall.
These subnets are all defined for a single, primary VPC, and each must belong to a different Availability Zone. Each of these subnets establishes the availability of the firewall in its Availability Zone.
In addition to these subnets, you can define other endpoints for the firewall in
VpcEndpointAssociation
resources. You can define these additional endpoints for any VPC, and for any of the Availability Zones where the firewall resource already has a subnet mapping. VPC endpoint associations give you the ability to protect multiple VPCs using a single firewall, and to define multiple firewall endpoints for a VPC in a single Availability Zone.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasSubnetMappings()
method.- Returns:
- The primary public subnets that Network Firewall is using for the firewall. Network Firewall creates a
firewall endpoint in each subnet. Create a subnet mapping for each Availability Zone where you want to
use the firewall.
These subnets are all defined for a single, primary VPC, and each must belong to a different Availability Zone. Each of these subnets establishes the availability of the firewall in its Availability Zone.
In addition to these subnets, you can define other endpoints for the firewall in
VpcEndpointAssociation
resources. You can define these additional endpoints for any VPC, and for any of the Availability Zones where the firewall resource already has a subnet mapping. VPC endpoint associations give you the ability to protect multiple VPCs using a single firewall, and to define multiple firewall endpoints for a VPC in a single Availability Zone.
-
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 toTRUE
.- Returns:
- 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 toTRUE
.
-
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
.- Returns:
- 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
.
-
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
.- Returns:
- 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
.
-
description
A description of the firewall.
- Returns:
- A description of the firewall.
-
firewallId
The unique identifier for the firewall.
- Returns:
- The unique identifier for the firewall.
-
hasTags
public final boolean hasTags()For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
tags
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasTags()
method.- Returns:
-
encryptionConfiguration
A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall.
- Returns:
- A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall.
-
numberOfAssociations
The number of
VpcEndpointAssociation
resources that use this firewall.- Returns:
- The number of
VpcEndpointAssociation
resources that use this firewall.
-
enabledAnalysisTypes
An optional setting indicating the specific traffic analysis types to enable on the firewall.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasEnabledAnalysisTypes()
method.- Returns:
- An optional setting indicating the specific traffic analysis types to enable on the firewall.
-
hasEnabledAnalysisTypes
public final boolean hasEnabledAnalysisTypes()For responses, this returns true if the service returned a value for the EnabledAnalysisTypes property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
enabledAnalysisTypesAsStrings
An optional setting indicating the specific traffic analysis types to enable on the firewall.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasEnabledAnalysisTypes()
method.- Returns:
- An optional setting indicating the specific traffic analysis types to enable on the firewall.
-
transitGatewayId
The unique identifier of the transit gateway associated with this firewall. This field is only present for transit gateway-attached firewalls.
- Returns:
- The unique identifier of the transit gateway associated with this firewall. This field is only present for transit gateway-attached firewalls.
-
transitGatewayOwnerAccountId
The Amazon Web Services account ID that owns the transit gateway. This may be different from the firewall owner's account ID when using a shared transit gateway.
- Returns:
- The Amazon Web Services account ID that owns the transit gateway. This may be different from the firewall owner's account ID when using a shared transit gateway.
-
hasAvailabilityZoneMappings
public final boolean hasAvailabilityZoneMappings()For responses, this returns true if the service returned a value for the AvailabilityZoneMappings property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
availabilityZoneMappings
The Availability Zones where the firewall endpoints are created for a transit gateway-attached firewall. Each mapping specifies an Availability Zone where the firewall processes traffic.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasAvailabilityZoneMappings()
method.- Returns:
- The Availability Zones where the firewall endpoints are created for a transit gateway-attached firewall. Each mapping specifies an Availability Zone where the firewall processes traffic.
-
availabilityZoneChangeProtection
A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to
TRUE
, you must first disable this protection before adding or removing Availability Zones.- Returns:
- A setting indicating whether the firewall is protected against changes to its Availability Zone
configuration. When set to
TRUE
, you must first disable this protection before adding or removing Availability Zones.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<Firewall.Builder,
Firewall> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToField
in interfaceSdkPojo
- Returns:
- The mapping between the field name and its corresponding field.
-