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

Configures one or more IP set references for a Suricata-compatible rule * group. This is used in CreateRuleGroup or UpdateRuleGroup. An IP * set reference is a rule variable that references resources that you create and * manage in another Amazon Web Services service, such as an Amazon VPC prefix * list. Network Firewall IP set references enable you to dynamically update the * contents of your rules. When you create, update, or delete the resource you are * referencing in your rule, Network Firewall automatically updates the rule's * content with the changes. For more information about IP set references in * Network Firewall, see Using * IP set references in the Network Firewall Developer Guide.

* Network Firewall currently supports Amazon * VPC prefix lists and resource * groups in IP set references.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the resource that you are referencing in * your rule group.

*/ inline const Aws::String& GetReferenceArn() const{ return m_referenceArn; } /** *

The Amazon Resource Name (ARN) of the resource that you are referencing in * your rule group.

*/ inline bool ReferenceArnHasBeenSet() const { return m_referenceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the resource that you are referencing in * your rule group.

*/ inline void SetReferenceArn(const Aws::String& value) { m_referenceArnHasBeenSet = true; m_referenceArn = value; } /** *

The Amazon Resource Name (ARN) of the resource that you are referencing in * your rule group.

*/ inline void SetReferenceArn(Aws::String&& value) { m_referenceArnHasBeenSet = true; m_referenceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the resource that you are referencing in * your rule group.

*/ inline void SetReferenceArn(const char* value) { m_referenceArnHasBeenSet = true; m_referenceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the resource that you are referencing in * your rule group.

*/ inline IPSetReference& WithReferenceArn(const Aws::String& value) { SetReferenceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the resource that you are referencing in * your rule group.

*/ inline IPSetReference& WithReferenceArn(Aws::String&& value) { SetReferenceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the resource that you are referencing in * your rule group.

*/ inline IPSetReference& WithReferenceArn(const char* value) { SetReferenceArn(value); return *this;} private: Aws::String m_referenceArn; bool m_referenceArnHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws