/** * 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 { /** *

Settings that are available for use in the rules in the RuleGroup * where this is defined.

See Also:

AWS * API Reference

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

A list of IP addresses and address ranges, in CIDR notation.

*/ inline const Aws::Map& GetIPSets() const{ return m_iPSets; } /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline bool IPSetsHasBeenSet() const { return m_iPSetsHasBeenSet; } /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline void SetIPSets(const Aws::Map& value) { m_iPSetsHasBeenSet = true; m_iPSets = value; } /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline void SetIPSets(Aws::Map&& value) { m_iPSetsHasBeenSet = true; m_iPSets = std::move(value); } /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline RuleVariables& WithIPSets(const Aws::Map& value) { SetIPSets(value); return *this;} /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline RuleVariables& WithIPSets(Aws::Map&& value) { SetIPSets(std::move(value)); return *this;} /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline RuleVariables& AddIPSets(const Aws::String& key, const IPSet& value) { m_iPSetsHasBeenSet = true; m_iPSets.emplace(key, value); return *this; } /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline RuleVariables& AddIPSets(Aws::String&& key, const IPSet& value) { m_iPSetsHasBeenSet = true; m_iPSets.emplace(std::move(key), value); return *this; } /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline RuleVariables& AddIPSets(const Aws::String& key, IPSet&& value) { m_iPSetsHasBeenSet = true; m_iPSets.emplace(key, std::move(value)); return *this; } /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline RuleVariables& AddIPSets(Aws::String&& key, IPSet&& value) { m_iPSetsHasBeenSet = true; m_iPSets.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline RuleVariables& AddIPSets(const char* key, IPSet&& value) { m_iPSetsHasBeenSet = true; m_iPSets.emplace(key, std::move(value)); return *this; } /** *

A list of IP addresses and address ranges, in CIDR notation.

*/ inline RuleVariables& AddIPSets(const char* key, const IPSet& value) { m_iPSetsHasBeenSet = true; m_iPSets.emplace(key, value); return *this; } /** *

A list of port ranges.

*/ inline const Aws::Map& GetPortSets() const{ return m_portSets; } /** *

A list of port ranges.

*/ inline bool PortSetsHasBeenSet() const { return m_portSetsHasBeenSet; } /** *

A list of port ranges.

*/ inline void SetPortSets(const Aws::Map& value) { m_portSetsHasBeenSet = true; m_portSets = value; } /** *

A list of port ranges.

*/ inline void SetPortSets(Aws::Map&& value) { m_portSetsHasBeenSet = true; m_portSets = std::move(value); } /** *

A list of port ranges.

*/ inline RuleVariables& WithPortSets(const Aws::Map& value) { SetPortSets(value); return *this;} /** *

A list of port ranges.

*/ inline RuleVariables& WithPortSets(Aws::Map&& value) { SetPortSets(std::move(value)); return *this;} /** *

A list of port ranges.

*/ inline RuleVariables& AddPortSets(const Aws::String& key, const PortSet& value) { m_portSetsHasBeenSet = true; m_portSets.emplace(key, value); return *this; } /** *

A list of port ranges.

*/ inline RuleVariables& AddPortSets(Aws::String&& key, const PortSet& value) { m_portSetsHasBeenSet = true; m_portSets.emplace(std::move(key), value); return *this; } /** *

A list of port ranges.

*/ inline RuleVariables& AddPortSets(const Aws::String& key, PortSet&& value) { m_portSetsHasBeenSet = true; m_portSets.emplace(key, std::move(value)); return *this; } /** *

A list of port ranges.

*/ inline RuleVariables& AddPortSets(Aws::String&& key, PortSet&& value) { m_portSetsHasBeenSet = true; m_portSets.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of port ranges.

*/ inline RuleVariables& AddPortSets(const char* key, PortSet&& value) { m_portSetsHasBeenSet = true; m_portSets.emplace(key, std::move(value)); return *this; } /** *

A list of port ranges.

*/ inline RuleVariables& AddPortSets(const char* key, const PortSet& value) { m_portSetsHasBeenSet = true; m_portSets.emplace(key, value); return *this; } private: Aws::Map m_iPSets; bool m_iPSetsHasBeenSet = false; Aws::Map m_portSets; bool m_portSetsHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws