/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Details about an Network Firewall firewall.

See Also:

AWS * API Reference

*/ class AwsNetworkFirewallFirewallDetails { public: AWS_SECURITYHUB_API AwsNetworkFirewallFirewallDetails(); AWS_SECURITYHUB_API AwsNetworkFirewallFirewallDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsNetworkFirewallFirewallDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Whether the firewall is protected from deletion. If set to true, * then the firewall cannot be deleted.

*/ inline bool GetDeleteProtection() const{ return m_deleteProtection; } /** *

Whether the firewall is protected from deletion. If set to true, * then the firewall cannot be deleted.

*/ inline bool DeleteProtectionHasBeenSet() const { return m_deleteProtectionHasBeenSet; } /** *

Whether the firewall is protected from deletion. If set to true, * then the firewall cannot be deleted.

*/ inline void SetDeleteProtection(bool value) { m_deleteProtectionHasBeenSet = true; m_deleteProtection = value; } /** *

Whether the firewall is protected from deletion. If set to true, * then the firewall cannot be deleted.

*/ inline AwsNetworkFirewallFirewallDetails& WithDeleteProtection(bool value) { SetDeleteProtection(value); return *this;} /** *

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 AwsNetworkFirewallFirewallDetails& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The ARN of the firewall.

*/ inline const Aws::String& GetFirewallArn() const{ return m_firewallArn; } /** *

The ARN of the firewall.

*/ inline bool FirewallArnHasBeenSet() const { return m_firewallArnHasBeenSet; } /** *

The ARN of the firewall.

*/ inline void SetFirewallArn(const Aws::String& value) { m_firewallArnHasBeenSet = true; m_firewallArn = value; } /** *

The ARN of the firewall.

*/ inline void SetFirewallArn(Aws::String&& value) { m_firewallArnHasBeenSet = true; m_firewallArn = std::move(value); } /** *

The ARN of the firewall.

*/ inline void SetFirewallArn(const char* value) { m_firewallArnHasBeenSet = true; m_firewallArn.assign(value); } /** *

The ARN of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallArn(const Aws::String& value) { SetFirewallArn(value); return *this;} /** *

The ARN of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallArn(Aws::String&& value) { SetFirewallArn(std::move(value)); return *this;} /** *

The ARN of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallArn(const char* value) { SetFirewallArn(value); return *this;} /** *

The identifier of the firewall.

*/ inline const Aws::String& GetFirewallId() const{ return m_firewallId; } /** *

The identifier of the firewall.

*/ inline bool FirewallIdHasBeenSet() const { return m_firewallIdHasBeenSet; } /** *

The identifier of the firewall.

*/ inline void SetFirewallId(const Aws::String& value) { m_firewallIdHasBeenSet = true; m_firewallId = value; } /** *

The identifier of the firewall.

*/ inline void SetFirewallId(Aws::String&& value) { m_firewallIdHasBeenSet = true; m_firewallId = std::move(value); } /** *

The identifier of the firewall.

*/ inline void SetFirewallId(const char* value) { m_firewallIdHasBeenSet = true; m_firewallId.assign(value); } /** *

The identifier of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallId(const Aws::String& value) { SetFirewallId(value); return *this;} /** *

The identifier of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallId(Aws::String&& value) { SetFirewallId(std::move(value)); return *this;} /** *

The identifier of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallId(const char* value) { SetFirewallId(value); return *this;} /** *

A descriptive name of the firewall.

*/ inline const Aws::String& GetFirewallName() const{ return m_firewallName; } /** *

A descriptive name of the firewall.

*/ inline bool FirewallNameHasBeenSet() const { return m_firewallNameHasBeenSet; } /** *

A descriptive name of the firewall.

*/ inline void SetFirewallName(const Aws::String& value) { m_firewallNameHasBeenSet = true; m_firewallName = value; } /** *

A descriptive name of the firewall.

*/ inline void SetFirewallName(Aws::String&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::move(value); } /** *

A descriptive name of the firewall.

*/ inline void SetFirewallName(const char* value) { m_firewallNameHasBeenSet = true; m_firewallName.assign(value); } /** *

A descriptive name of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallName(const Aws::String& value) { SetFirewallName(value); return *this;} /** *

A descriptive name of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallName(Aws::String&& value) { SetFirewallName(std::move(value)); return *this;} /** *

A descriptive name of the firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallName(const char* value) { SetFirewallName(value); return *this;} /** *

The ARN of the firewall policy.

*/ inline const Aws::String& GetFirewallPolicyArn() const{ return m_firewallPolicyArn; } /** *

The ARN of the firewall policy.

*/ inline bool FirewallPolicyArnHasBeenSet() const { return m_firewallPolicyArnHasBeenSet; } /** *

The ARN of the firewall policy.

*/ inline void SetFirewallPolicyArn(const Aws::String& value) { m_firewallPolicyArnHasBeenSet = true; m_firewallPolicyArn = value; } /** *

The ARN of the firewall policy.

*/ inline void SetFirewallPolicyArn(Aws::String&& value) { m_firewallPolicyArnHasBeenSet = true; m_firewallPolicyArn = std::move(value); } /** *

The ARN of the firewall policy.

*/ inline void SetFirewallPolicyArn(const char* value) { m_firewallPolicyArnHasBeenSet = true; m_firewallPolicyArn.assign(value); } /** *

The ARN of the firewall policy.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallPolicyArn(const Aws::String& value) { SetFirewallPolicyArn(value); return *this;} /** *

The ARN of the firewall policy.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallPolicyArn(Aws::String&& value) { SetFirewallPolicyArn(std::move(value)); return *this;} /** *

The ARN of the firewall policy.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallPolicyArn(const char* value) { SetFirewallPolicyArn(value); return *this;} /** *

Whether the firewall is protected from a change to the firewall policy. If * set to true, you cannot associate a different policy with the * firewall.

*/ inline bool GetFirewallPolicyChangeProtection() const{ return m_firewallPolicyChangeProtection; } /** *

Whether the firewall is protected from a change to the firewall policy. If * set to true, you cannot associate a different policy with the * firewall.

*/ inline bool FirewallPolicyChangeProtectionHasBeenSet() const { return m_firewallPolicyChangeProtectionHasBeenSet; } /** *

Whether the firewall is protected from a change to the firewall policy. If * set to true, you cannot associate a different policy with the * firewall.

*/ inline void SetFirewallPolicyChangeProtection(bool value) { m_firewallPolicyChangeProtectionHasBeenSet = true; m_firewallPolicyChangeProtection = value; } /** *

Whether the firewall is protected from a change to the firewall policy. If * set to true, you cannot associate a different policy with the * firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithFirewallPolicyChangeProtection(bool value) { SetFirewallPolicyChangeProtection(value); return *this;} /** *

Whether the firewall is protected from a change to the subnet associations. * If set to true, you cannot map different subnets to the * firewall.

*/ inline bool GetSubnetChangeProtection() const{ return m_subnetChangeProtection; } /** *

Whether the firewall is protected from a change to the subnet associations. * If set to true, you cannot map different subnets to the * firewall.

*/ inline bool SubnetChangeProtectionHasBeenSet() const { return m_subnetChangeProtectionHasBeenSet; } /** *

Whether the firewall is protected from a change to the subnet associations. * If set to true, you cannot map different subnets to the * firewall.

*/ inline void SetSubnetChangeProtection(bool value) { m_subnetChangeProtectionHasBeenSet = true; m_subnetChangeProtection = value; } /** *

Whether the firewall is protected from a change to the subnet associations. * If set to true, you cannot map different subnets to the * firewall.

*/ inline AwsNetworkFirewallFirewallDetails& WithSubnetChangeProtection(bool value) { SetSubnetChangeProtection(value); return *this;} /** *

The public subnets that Network Firewall uses for the firewall. Each subnet * must belong to a different Availability Zone.

*/ inline const Aws::Vector& GetSubnetMappings() const{ return m_subnetMappings; } /** *

The public subnets that Network Firewall uses 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 uses for the firewall. Each subnet * must belong to a different Availability Zone.

*/ inline void SetSubnetMappings(const Aws::Vector& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings = value; } /** *

The public subnets that Network Firewall uses for the firewall. Each subnet * must belong to a different Availability Zone.

*/ inline void SetSubnetMappings(Aws::Vector&& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings = std::move(value); } /** *

The public subnets that Network Firewall uses for the firewall. Each subnet * must belong to a different Availability Zone.

*/ inline AwsNetworkFirewallFirewallDetails& WithSubnetMappings(const Aws::Vector& value) { SetSubnetMappings(value); return *this;} /** *

The public subnets that Network Firewall uses for the firewall. Each subnet * must belong to a different Availability Zone.

*/ inline AwsNetworkFirewallFirewallDetails& WithSubnetMappings(Aws::Vector&& value) { SetSubnetMappings(std::move(value)); return *this;} /** *

The public subnets that Network Firewall uses for the firewall. Each subnet * must belong to a different Availability Zone.

*/ inline AwsNetworkFirewallFirewallDetails& AddSubnetMappings(const AwsNetworkFirewallFirewallSubnetMappingsDetails& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings.push_back(value); return *this; } /** *

The public subnets that Network Firewall uses for the firewall. Each subnet * must belong to a different Availability Zone.

*/ inline AwsNetworkFirewallFirewallDetails& AddSubnetMappings(AwsNetworkFirewallFirewallSubnetMappingsDetails&& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings.push_back(std::move(value)); return *this; } /** *

The identifier of the VPC where the firewall is used.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

The identifier of the VPC where the firewall is used.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

The identifier of the VPC where the firewall is used.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

The identifier of the VPC where the firewall is used.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

The identifier of the VPC where the firewall is used.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

The identifier of the VPC where the firewall is used.

*/ inline AwsNetworkFirewallFirewallDetails& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The identifier of the VPC where the firewall is used.

*/ inline AwsNetworkFirewallFirewallDetails& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

The identifier of the VPC where the firewall is used.

*/ inline AwsNetworkFirewallFirewallDetails& WithVpcId(const char* value) { SetVpcId(value); return *this;} private: bool m_deleteProtection; bool m_deleteProtectionHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_firewallArn; bool m_firewallArnHasBeenSet = false; Aws::String m_firewallId; bool m_firewallIdHasBeenSet = false; Aws::String m_firewallName; bool m_firewallNameHasBeenSet = false; Aws::String m_firewallPolicyArn; bool m_firewallPolicyArnHasBeenSet = false; bool m_firewallPolicyChangeProtection; bool m_firewallPolicyChangeProtectionHasBeenSet = false; bool m_subnetChangeProtection; bool m_subnetChangeProtectionHasBeenSet = false; Aws::Vector m_subnetMappings; bool m_subnetMappingsHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws