/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The firewall defines the configuration settings for an Network Firewall
* firewall. These 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
* Amazon Web Services resource. 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 objects by calling
* DescribeFirewall.See Also:
AWS
* API Reference
The descriptive name of the firewall. You can't change the name of a firewall * after you create it.
*/ inline const Aws::String& GetFirewallName() const{ return m_firewallName; } /** *The descriptive name of the firewall. You can't change the name of a firewall * after you create it.
*/ inline bool FirewallNameHasBeenSet() const { return m_firewallNameHasBeenSet; } /** *The descriptive name of the firewall. You can't change the name of a firewall * after you create it.
*/ inline void SetFirewallName(const Aws::String& value) { m_firewallNameHasBeenSet = true; m_firewallName = value; } /** *The descriptive name of the firewall. You can't change the name of a firewall * after you create it.
*/ inline void SetFirewallName(Aws::String&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::move(value); } /** *The descriptive name of the firewall. You can't change the name of a firewall * after you create it.
*/ inline void SetFirewallName(const char* value) { m_firewallNameHasBeenSet = true; m_firewallName.assign(value); } /** *The descriptive name of the firewall. You can't change the name of a firewall * after you create it.
*/ inline Firewall& WithFirewallName(const Aws::String& value) { SetFirewallName(value); return *this;} /** *The descriptive name of the firewall. You can't change the name of a firewall * after you create it.
*/ inline Firewall& WithFirewallName(Aws::String&& value) { SetFirewallName(std::move(value)); return *this;} /** *The descriptive name of the firewall. You can't change the name of a firewall * after you create it.
*/ inline Firewall& WithFirewallName(const char* value) { SetFirewallName(value); return *this;} /** *The Amazon Resource Name (ARN) of the firewall.
*/ inline const Aws::String& GetFirewallArn() const{ return m_firewallArn; } /** *The Amazon Resource Name (ARN) of the firewall.
*/ inline bool FirewallArnHasBeenSet() const { return m_firewallArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the firewall.
*/ inline void SetFirewallArn(const Aws::String& value) { m_firewallArnHasBeenSet = true; m_firewallArn = value; } /** *The Amazon Resource Name (ARN) of the firewall.
*/ inline void SetFirewallArn(Aws::String&& value) { m_firewallArnHasBeenSet = true; m_firewallArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the firewall.
*/ inline void SetFirewallArn(const char* value) { m_firewallArnHasBeenSet = true; m_firewallArn.assign(value); } /** *The Amazon Resource Name (ARN) of the firewall.
*/ inline Firewall& WithFirewallArn(const Aws::String& value) { SetFirewallArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the firewall.
*/ inline Firewall& WithFirewallArn(Aws::String&& value) { SetFirewallArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the firewall.
*/ inline Firewall& WithFirewallArn(const char* value) { SetFirewallArn(value); return *this;} /** *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.
*/ inline const Aws::String& GetFirewallPolicyArn() const{ return m_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.
*/ inline bool FirewallPolicyArnHasBeenSet() const { return m_firewallPolicyArnHasBeenSet; } /** *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.
*/ inline void SetFirewallPolicyArn(const Aws::String& value) { m_firewallPolicyArnHasBeenSet = true; m_firewallPolicyArn = value; } /** *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.
*/ inline void SetFirewallPolicyArn(Aws::String&& value) { m_firewallPolicyArnHasBeenSet = true; m_firewallPolicyArn = std::move(value); } /** *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.
*/ inline void SetFirewallPolicyArn(const char* value) { m_firewallPolicyArnHasBeenSet = true; m_firewallPolicyArn.assign(value); } /** *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.
*/ inline Firewall& WithFirewallPolicyArn(const Aws::String& value) { SetFirewallPolicyArn(value); return *this;} /** *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.
*/ inline Firewall& WithFirewallPolicyArn(Aws::String&& value) { SetFirewallPolicyArn(std::move(value)); return *this;} /** *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.
*/ inline Firewall& WithFirewallPolicyArn(const char* value) { SetFirewallPolicyArn(value); return *this;} /** *The unique identifier of the VPC where the firewall is in use.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The unique identifier of the VPC where the firewall is in use.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The unique identifier of the VPC where the firewall is in use.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The unique identifier of the VPC where the firewall is in use.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The unique identifier of the VPC where the firewall is in use.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The unique identifier of the VPC where the firewall is in use.
*/ inline Firewall& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The unique identifier of the VPC where the firewall is in use.
*/ inline Firewall& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The unique identifier of the VPC where the firewall is in use.
*/ inline Firewall& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *The public subnets that Network Firewall is using for the firewall. Each * subnet must belong to a different Availability Zone.
*/ inline const Aws::VectorThe public subnets that Network Firewall is using for the firewall. Each * subnet must belong to a different Availability Zone.
*/ inline bool SubnetMappingsHasBeenSet() const { return m_subnetMappingsHasBeenSet; } /** *The public subnets that Network Firewall is using for the firewall. Each * subnet must belong to a different Availability Zone.
*/ inline void SetSubnetMappings(const Aws::VectorThe public subnets that Network Firewall is using for the firewall. Each * subnet must belong to a different Availability Zone.
*/ inline void SetSubnetMappings(Aws::VectorThe public subnets that Network Firewall is using for the firewall. Each * subnet must belong to a different Availability Zone.
*/ inline Firewall& WithSubnetMappings(const Aws::VectorThe public subnets that Network Firewall is using for the firewall. Each * subnet must belong to a different Availability Zone.
*/ inline Firewall& WithSubnetMappings(Aws::VectorThe public subnets that Network Firewall is using for the firewall. Each * subnet must belong to a different Availability Zone.
*/ inline Firewall& AddSubnetMappings(const SubnetMapping& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings.push_back(value); return *this; } /** *The public subnets that Network Firewall is using for the firewall. Each * subnet must belong to a different Availability Zone.
*/ inline Firewall& AddSubnetMappings(SubnetMapping&& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings.push_back(std::move(value)); return *this; } /** *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
.
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
.
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
.
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
.
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
.
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
.
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
.
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
.
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
.
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
.
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
.
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
.
A description of the firewall.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the firewall.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the firewall.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the firewall.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the firewall.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the firewall.
*/ inline Firewall& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the firewall.
*/ inline Firewall& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the firewall.
*/ inline Firewall& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The unique identifier for the firewall.
*/ inline const Aws::String& GetFirewallId() const{ return m_firewallId; } /** *The unique identifier for the firewall.
*/ inline bool FirewallIdHasBeenSet() const { return m_firewallIdHasBeenSet; } /** *The unique identifier for the firewall.
*/ inline void SetFirewallId(const Aws::String& value) { m_firewallIdHasBeenSet = true; m_firewallId = value; } /** *The unique identifier for the firewall.
*/ inline void SetFirewallId(Aws::String&& value) { m_firewallIdHasBeenSet = true; m_firewallId = std::move(value); } /** *The unique identifier for the firewall.
*/ inline void SetFirewallId(const char* value) { m_firewallIdHasBeenSet = true; m_firewallId.assign(value); } /** *The unique identifier for the firewall.
*/ inline Firewall& WithFirewallId(const Aws::String& value) { SetFirewallId(value); return *this;} /** *The unique identifier for the firewall.
*/ inline Firewall& WithFirewallId(Aws::String&& value) { SetFirewallId(std::move(value)); return *this;} /** *The unique identifier for the firewall.
*/ inline Firewall& WithFirewallId(const char* value) { SetFirewallId(value); return *this;} /** * */ inline const Aws::VectorA complex type that contains the Amazon Web Services KMS encryption * configuration settings for your firewall.
*/ inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your firewall.
*/ inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your firewall.
*/ inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your firewall.
*/ inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your firewall.
*/ inline Firewall& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your firewall.
*/ inline Firewall& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} private: Aws::String m_firewallName; bool m_firewallNameHasBeenSet = false; Aws::String m_firewallArn; bool m_firewallArnHasBeenSet = false; Aws::String m_firewallPolicyArn; bool m_firewallPolicyArnHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::Vector