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

The status of the firewall endpoint and firewall policy configuration for a * single VPC subnet.

For each VPC subnet that you associate with a * firewall, Network Firewall does the following:

  • Instantiates a * firewall endpoint in the subnet, ready to take traffic.

  • *

    Configures the endpoint with the current firewall policy settings, to provide * the filtering behavior for the endpoint.

When you update a * firewall, for example to add a subnet association or change a rule group in the * firewall policy, the affected sync states reflect out-of-sync or not ready * status until the changes are complete.

See Also:

AWS * API Reference

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

The attachment status of the firewall's association with a single VPC subnet. * For each configured subnet, Network Firewall creates the attachment by * instantiating the firewall endpoint in the subnet so that it's ready to take * traffic. This is part of the FirewallStatus.

*/ inline const Attachment& GetAttachment() const{ return m_attachment; } /** *

The attachment status of the firewall's association with a single VPC subnet. * For each configured subnet, Network Firewall creates the attachment by * instantiating the firewall endpoint in the subnet so that it's ready to take * traffic. This is part of the FirewallStatus.

*/ inline bool AttachmentHasBeenSet() const { return m_attachmentHasBeenSet; } /** *

The attachment status of the firewall's association with a single VPC subnet. * For each configured subnet, Network Firewall creates the attachment by * instantiating the firewall endpoint in the subnet so that it's ready to take * traffic. This is part of the FirewallStatus.

*/ inline void SetAttachment(const Attachment& value) { m_attachmentHasBeenSet = true; m_attachment = value; } /** *

The attachment status of the firewall's association with a single VPC subnet. * For each configured subnet, Network Firewall creates the attachment by * instantiating the firewall endpoint in the subnet so that it's ready to take * traffic. This is part of the FirewallStatus.

*/ inline void SetAttachment(Attachment&& value) { m_attachmentHasBeenSet = true; m_attachment = std::move(value); } /** *

The attachment status of the firewall's association with a single VPC subnet. * For each configured subnet, Network Firewall creates the attachment by * instantiating the firewall endpoint in the subnet so that it's ready to take * traffic. This is part of the FirewallStatus.

*/ inline SyncState& WithAttachment(const Attachment& value) { SetAttachment(value); return *this;} /** *

The attachment status of the firewall's association with a single VPC subnet. * For each configured subnet, Network Firewall creates the attachment by * instantiating the firewall endpoint in the subnet so that it's ready to take * traffic. This is part of the FirewallStatus.

*/ inline SyncState& WithAttachment(Attachment&& value) { SetAttachment(std::move(value)); return *this;} /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline const Aws::Map& GetConfig() const{ return m_config; } /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline bool ConfigHasBeenSet() const { return m_configHasBeenSet; } /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline void SetConfig(const Aws::Map& value) { m_configHasBeenSet = true; m_config = value; } /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline void SetConfig(Aws::Map&& value) { m_configHasBeenSet = true; m_config = std::move(value); } /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline SyncState& WithConfig(const Aws::Map& value) { SetConfig(value); return *this;} /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline SyncState& WithConfig(Aws::Map&& value) { SetConfig(std::move(value)); return *this;} /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline SyncState& AddConfig(const Aws::String& key, const PerObjectStatus& value) { m_configHasBeenSet = true; m_config.emplace(key, value); return *this; } /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline SyncState& AddConfig(Aws::String&& key, const PerObjectStatus& value) { m_configHasBeenSet = true; m_config.emplace(std::move(key), value); return *this; } /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline SyncState& AddConfig(const Aws::String& key, PerObjectStatus&& value) { m_configHasBeenSet = true; m_config.emplace(key, std::move(value)); return *this; } /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline SyncState& AddConfig(Aws::String&& key, PerObjectStatus&& value) { m_configHasBeenSet = true; m_config.emplace(std::move(key), std::move(value)); return *this; } /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline SyncState& AddConfig(const char* key, PerObjectStatus&& value) { m_configHasBeenSet = true; m_config.emplace(key, std::move(value)); return *this; } /** *

The configuration status of the firewall endpoint in a single VPC subnet. * Network Firewall provides each endpoint with the rules that are configured in * the firewall policy. Each time you add a subnet or modify the associated * firewall policy, Network Firewall synchronizes the rules in the endpoint, so it * can properly filter network traffic. This is part of the * FirewallStatus.

*/ inline SyncState& AddConfig(const char* key, const PerObjectStatus& value) { m_configHasBeenSet = true; m_config.emplace(key, value); return *this; } private: Attachment m_attachment; bool m_attachmentHasBeenSet = false; Aws::Map m_config; bool m_configHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws