/** * 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 FMS { namespace Model { /** *

Network Firewall stateful rule group, used in a * NetworkFirewallPolicyDescription.

See Also:

AWS * API Reference

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

The name of the rule group.

*/ inline const Aws::String& GetRuleGroupName() const{ return m_ruleGroupName; } /** *

The name of the rule group.

*/ inline bool RuleGroupNameHasBeenSet() const { return m_ruleGroupNameHasBeenSet; } /** *

The name of the rule group.

*/ inline void SetRuleGroupName(const Aws::String& value) { m_ruleGroupNameHasBeenSet = true; m_ruleGroupName = value; } /** *

The name of the rule group.

*/ inline void SetRuleGroupName(Aws::String&& value) { m_ruleGroupNameHasBeenSet = true; m_ruleGroupName = std::move(value); } /** *

The name of the rule group.

*/ inline void SetRuleGroupName(const char* value) { m_ruleGroupNameHasBeenSet = true; m_ruleGroupName.assign(value); } /** *

The name of the rule group.

*/ inline StatefulRuleGroup& WithRuleGroupName(const Aws::String& value) { SetRuleGroupName(value); return *this;} /** *

The name of the rule group.

*/ inline StatefulRuleGroup& WithRuleGroupName(Aws::String&& value) { SetRuleGroupName(std::move(value)); return *this;} /** *

The name of the rule group.

*/ inline StatefulRuleGroup& WithRuleGroupName(const char* value) { SetRuleGroupName(value); return *this;} /** *

The resource ID of the rule group.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The resource ID of the rule group.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The resource ID of the rule group.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The resource ID of the rule group.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The resource ID of the rule group.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The resource ID of the rule group.

*/ inline StatefulRuleGroup& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The resource ID of the rule group.

*/ inline StatefulRuleGroup& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The resource ID of the rule group.

*/ inline StatefulRuleGroup& WithResourceId(const char* value) { SetResourceId(value); return *this;} private: Aws::String m_ruleGroupName; bool m_ruleGroupNameHasBeenSet; Aws::String m_resourceId; bool m_resourceIdHasBeenSet; }; } // namespace Model } // namespace FMS } // namespace Aws