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

Detailed information about the current status of a Firewall. You can * retrieve this for a firewall by calling DescribeFirewall and providing * the firewall name and ARN.

See Also:

AWS * API Reference

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

The readiness of the configured firewall to handle network traffic across all * of the Availability Zones where you've configured it. This setting is * READY only when the ConfigurationSyncStateSummary * value is IN_SYNC and the Attachment * Status values for all of the configured subnets are * READY.

*/ inline const FirewallStatusValue& GetStatus() const{ return m_status; } /** *

The readiness of the configured firewall to handle network traffic across all * of the Availability Zones where you've configured it. This setting is * READY only when the ConfigurationSyncStateSummary * value is IN_SYNC and the Attachment * Status values for all of the configured subnets are * READY.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The readiness of the configured firewall to handle network traffic across all * of the Availability Zones where you've configured it. This setting is * READY only when the ConfigurationSyncStateSummary * value is IN_SYNC and the Attachment * Status values for all of the configured subnets are * READY.

*/ inline void SetStatus(const FirewallStatusValue& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The readiness of the configured firewall to handle network traffic across all * of the Availability Zones where you've configured it. This setting is * READY only when the ConfigurationSyncStateSummary * value is IN_SYNC and the Attachment * Status values for all of the configured subnets are * READY.

*/ inline void SetStatus(FirewallStatusValue&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The readiness of the configured firewall to handle network traffic across all * of the Availability Zones where you've configured it. This setting is * READY only when the ConfigurationSyncStateSummary * value is IN_SYNC and the Attachment * Status values for all of the configured subnets are * READY.

*/ inline FirewallStatus& WithStatus(const FirewallStatusValue& value) { SetStatus(value); return *this;} /** *

The readiness of the configured firewall to handle network traffic across all * of the Availability Zones where you've configured it. This setting is * READY only when the ConfigurationSyncStateSummary * value is IN_SYNC and the Attachment * Status values for all of the configured subnets are * READY.

*/ inline FirewallStatus& WithStatus(FirewallStatusValue&& value) { SetStatus(std::move(value)); return *this;} /** *

The configuration sync state for the firewall. This summarizes the sync * states reported in the Config settings for all of the Availability * Zones where you have configured the firewall.

When you create a firewall * or update its configuration, for example by adding a rule group to its firewall * policy, Network Firewall distributes the configuration changes to all zones * where the firewall is in use. This summary indicates whether the configuration * changes have been applied everywhere.

This status must be * IN_SYNC for the firewall to be ready for use, but it doesn't * indicate that the firewall is ready. The Status setting indicates * firewall readiness.

*/ inline const ConfigurationSyncState& GetConfigurationSyncStateSummary() const{ return m_configurationSyncStateSummary; } /** *

The configuration sync state for the firewall. This summarizes the sync * states reported in the Config settings for all of the Availability * Zones where you have configured the firewall.

When you create a firewall * or update its configuration, for example by adding a rule group to its firewall * policy, Network Firewall distributes the configuration changes to all zones * where the firewall is in use. This summary indicates whether the configuration * changes have been applied everywhere.

This status must be * IN_SYNC for the firewall to be ready for use, but it doesn't * indicate that the firewall is ready. The Status setting indicates * firewall readiness.

*/ inline bool ConfigurationSyncStateSummaryHasBeenSet() const { return m_configurationSyncStateSummaryHasBeenSet; } /** *

The configuration sync state for the firewall. This summarizes the sync * states reported in the Config settings for all of the Availability * Zones where you have configured the firewall.

When you create a firewall * or update its configuration, for example by adding a rule group to its firewall * policy, Network Firewall distributes the configuration changes to all zones * where the firewall is in use. This summary indicates whether the configuration * changes have been applied everywhere.

This status must be * IN_SYNC for the firewall to be ready for use, but it doesn't * indicate that the firewall is ready. The Status setting indicates * firewall readiness.

*/ inline void SetConfigurationSyncStateSummary(const ConfigurationSyncState& value) { m_configurationSyncStateSummaryHasBeenSet = true; m_configurationSyncStateSummary = value; } /** *

The configuration sync state for the firewall. This summarizes the sync * states reported in the Config settings for all of the Availability * Zones where you have configured the firewall.

When you create a firewall * or update its configuration, for example by adding a rule group to its firewall * policy, Network Firewall distributes the configuration changes to all zones * where the firewall is in use. This summary indicates whether the configuration * changes have been applied everywhere.

This status must be * IN_SYNC for the firewall to be ready for use, but it doesn't * indicate that the firewall is ready. The Status setting indicates * firewall readiness.

*/ inline void SetConfigurationSyncStateSummary(ConfigurationSyncState&& value) { m_configurationSyncStateSummaryHasBeenSet = true; m_configurationSyncStateSummary = std::move(value); } /** *

The configuration sync state for the firewall. This summarizes the sync * states reported in the Config settings for all of the Availability * Zones where you have configured the firewall.

When you create a firewall * or update its configuration, for example by adding a rule group to its firewall * policy, Network Firewall distributes the configuration changes to all zones * where the firewall is in use. This summary indicates whether the configuration * changes have been applied everywhere.

This status must be * IN_SYNC for the firewall to be ready for use, but it doesn't * indicate that the firewall is ready. The Status setting indicates * firewall readiness.

*/ inline FirewallStatus& WithConfigurationSyncStateSummary(const ConfigurationSyncState& value) { SetConfigurationSyncStateSummary(value); return *this;} /** *

The configuration sync state for the firewall. This summarizes the sync * states reported in the Config settings for all of the Availability * Zones where you have configured the firewall.

When you create a firewall * or update its configuration, for example by adding a rule group to its firewall * policy, Network Firewall distributes the configuration changes to all zones * where the firewall is in use. This summary indicates whether the configuration * changes have been applied everywhere.

This status must be * IN_SYNC for the firewall to be ready for use, but it doesn't * indicate that the firewall is ready. The Status setting indicates * firewall readiness.

*/ inline FirewallStatus& WithConfigurationSyncStateSummary(ConfigurationSyncState&& value) { SetConfigurationSyncStateSummary(std::move(value)); return *this;} /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline const Aws::Map& GetSyncStates() const{ return m_syncStates; } /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline bool SyncStatesHasBeenSet() const { return m_syncStatesHasBeenSet; } /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline void SetSyncStates(const Aws::Map& value) { m_syncStatesHasBeenSet = true; m_syncStates = value; } /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline void SetSyncStates(Aws::Map&& value) { m_syncStatesHasBeenSet = true; m_syncStates = std::move(value); } /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline FirewallStatus& WithSyncStates(const Aws::Map& value) { SetSyncStates(value); return *this;} /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline FirewallStatus& WithSyncStates(Aws::Map&& value) { SetSyncStates(std::move(value)); return *this;} /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline FirewallStatus& AddSyncStates(const Aws::String& key, const SyncState& value) { m_syncStatesHasBeenSet = true; m_syncStates.emplace(key, value); return *this; } /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline FirewallStatus& AddSyncStates(Aws::String&& key, const SyncState& value) { m_syncStatesHasBeenSet = true; m_syncStates.emplace(std::move(key), value); return *this; } /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline FirewallStatus& AddSyncStates(const Aws::String& key, SyncState&& value) { m_syncStatesHasBeenSet = true; m_syncStates.emplace(key, std::move(value)); return *this; } /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline FirewallStatus& AddSyncStates(Aws::String&& key, SyncState&& value) { m_syncStatesHasBeenSet = true; m_syncStates.emplace(std::move(key), std::move(value)); return *this; } /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline FirewallStatus& AddSyncStates(const char* key, SyncState&& value) { m_syncStatesHasBeenSet = true; m_syncStates.emplace(key, std::move(value)); return *this; } /** *

The subnets that you've configured for use by the Network Firewall firewall. * This contains one array element per Availability Zone where you've configured a * subnet. These objects provide details of the information that is summarized in * the ConfigurationSyncStateSummary and Status, broken * down by zone and configuration object.

*/ inline FirewallStatus& AddSyncStates(const char* key, const SyncState& value) { m_syncStatesHasBeenSet = true; m_syncStates.emplace(key, value); return *this; } /** *

Describes the capacity usage of the resources contained in a firewall's * reference sets. Network Firewall calclulates the capacity usage by taking an * aggregated count of all of the resources used by all of the reference sets in a * firewall.

*/ inline const CapacityUsageSummary& GetCapacityUsageSummary() const{ return m_capacityUsageSummary; } /** *

Describes the capacity usage of the resources contained in a firewall's * reference sets. Network Firewall calclulates the capacity usage by taking an * aggregated count of all of the resources used by all of the reference sets in a * firewall.

*/ inline bool CapacityUsageSummaryHasBeenSet() const { return m_capacityUsageSummaryHasBeenSet; } /** *

Describes the capacity usage of the resources contained in a firewall's * reference sets. Network Firewall calclulates the capacity usage by taking an * aggregated count of all of the resources used by all of the reference sets in a * firewall.

*/ inline void SetCapacityUsageSummary(const CapacityUsageSummary& value) { m_capacityUsageSummaryHasBeenSet = true; m_capacityUsageSummary = value; } /** *

Describes the capacity usage of the resources contained in a firewall's * reference sets. Network Firewall calclulates the capacity usage by taking an * aggregated count of all of the resources used by all of the reference sets in a * firewall.

*/ inline void SetCapacityUsageSummary(CapacityUsageSummary&& value) { m_capacityUsageSummaryHasBeenSet = true; m_capacityUsageSummary = std::move(value); } /** *

Describes the capacity usage of the resources contained in a firewall's * reference sets. Network Firewall calclulates the capacity usage by taking an * aggregated count of all of the resources used by all of the reference sets in a * firewall.

*/ inline FirewallStatus& WithCapacityUsageSummary(const CapacityUsageSummary& value) { SetCapacityUsageSummary(value); return *this;} /** *

Describes the capacity usage of the resources contained in a firewall's * reference sets. Network Firewall calclulates the capacity usage by taking an * aggregated count of all of the resources used by all of the reference sets in a * firewall.

*/ inline FirewallStatus& WithCapacityUsageSummary(CapacityUsageSummary&& value) { SetCapacityUsageSummary(std::move(value)); return *this;} private: FirewallStatusValue m_status; bool m_statusHasBeenSet = false; ConfigurationSyncState m_configurationSyncStateSummary; bool m_configurationSyncStateSummaryHasBeenSet = false; Aws::Map m_syncStates; bool m_syncStatesHasBeenSet = false; CapacityUsageSummary m_capacityUsageSummary; bool m_capacityUsageSummaryHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws