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

Defines how Network Firewall performs logging for a Firewall. *

See Also:

AWS * API Reference

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

Defines the logging destinations for the logs for a firewall. Network * Firewall generates logs for stateful rule groups.

*/ inline const Aws::Vector& GetLogDestinationConfigs() const{ return m_logDestinationConfigs; } /** *

Defines the logging destinations for the logs for a firewall. Network * Firewall generates logs for stateful rule groups.

*/ inline bool LogDestinationConfigsHasBeenSet() const { return m_logDestinationConfigsHasBeenSet; } /** *

Defines the logging destinations for the logs for a firewall. Network * Firewall generates logs for stateful rule groups.

*/ inline void SetLogDestinationConfigs(const Aws::Vector& value) { m_logDestinationConfigsHasBeenSet = true; m_logDestinationConfigs = value; } /** *

Defines the logging destinations for the logs for a firewall. Network * Firewall generates logs for stateful rule groups.

*/ inline void SetLogDestinationConfigs(Aws::Vector&& value) { m_logDestinationConfigsHasBeenSet = true; m_logDestinationConfigs = std::move(value); } /** *

Defines the logging destinations for the logs for a firewall. Network * Firewall generates logs for stateful rule groups.

*/ inline LoggingConfiguration& WithLogDestinationConfigs(const Aws::Vector& value) { SetLogDestinationConfigs(value); return *this;} /** *

Defines the logging destinations for the logs for a firewall. Network * Firewall generates logs for stateful rule groups.

*/ inline LoggingConfiguration& WithLogDestinationConfigs(Aws::Vector&& value) { SetLogDestinationConfigs(std::move(value)); return *this;} /** *

Defines the logging destinations for the logs for a firewall. Network * Firewall generates logs for stateful rule groups.

*/ inline LoggingConfiguration& AddLogDestinationConfigs(const LogDestinationConfig& value) { m_logDestinationConfigsHasBeenSet = true; m_logDestinationConfigs.push_back(value); return *this; } /** *

Defines the logging destinations for the logs for a firewall. Network * Firewall generates logs for stateful rule groups.

*/ inline LoggingConfiguration& AddLogDestinationConfigs(LogDestinationConfig&& value) { m_logDestinationConfigsHasBeenSet = true; m_logDestinationConfigs.push_back(std::move(value)); return *this; } private: Aws::Vector m_logDestinationConfigs; bool m_logDestinationConfigsHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws