/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace NetworkFirewall { namespace Model { /** */ class DescribeRuleGroupMetadataRequest : public NetworkFirewallRequest { public: AWS_NETWORKFIREWALL_API DescribeRuleGroupMetadataRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DescribeRuleGroupMetadata"; } AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

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

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

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

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

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

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

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

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

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

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

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

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

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

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

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

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

*/ inline const Aws::String& GetRuleGroupArn() const{ return m_ruleGroupArn; } /** *

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

*/ inline bool RuleGroupArnHasBeenSet() const { return m_ruleGroupArnHasBeenSet; } /** *

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

*/ inline void SetRuleGroupArn(const Aws::String& value) { m_ruleGroupArnHasBeenSet = true; m_ruleGroupArn = value; } /** *

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

*/ inline void SetRuleGroupArn(Aws::String&& value) { m_ruleGroupArnHasBeenSet = true; m_ruleGroupArn = std::move(value); } /** *

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

*/ inline void SetRuleGroupArn(const char* value) { m_ruleGroupArnHasBeenSet = true; m_ruleGroupArn.assign(value); } /** *

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

*/ inline DescribeRuleGroupMetadataRequest& WithRuleGroupArn(const Aws::String& value) { SetRuleGroupArn(value); return *this;} /** *

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

*/ inline DescribeRuleGroupMetadataRequest& WithRuleGroupArn(Aws::String&& value) { SetRuleGroupArn(std::move(value)); return *this;} /** *

The descriptive name of the rule group. You can't change the name of a rule * group after you create it.

You must specify the ARN or the name, and you * can specify both.

*/ inline DescribeRuleGroupMetadataRequest& WithRuleGroupArn(const char* value) { SetRuleGroupArn(value); return *this;} /** *

Indicates whether the rule group is stateless or stateful. If the rule group * is stateless, it contains stateless rules. If it is stateful, it contains * stateful rules.

This setting is required for requests that do not * include the RuleGroupARN.

*/ inline const RuleGroupType& GetType() const{ return m_type; } /** *

Indicates whether the rule group is stateless or stateful. If the rule group * is stateless, it contains stateless rules. If it is stateful, it contains * stateful rules.

This setting is required for requests that do not * include the RuleGroupARN.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Indicates whether the rule group is stateless or stateful. If the rule group * is stateless, it contains stateless rules. If it is stateful, it contains * stateful rules.

This setting is required for requests that do not * include the RuleGroupARN.

*/ inline void SetType(const RuleGroupType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Indicates whether the rule group is stateless or stateful. If the rule group * is stateless, it contains stateless rules. If it is stateful, it contains * stateful rules.

This setting is required for requests that do not * include the RuleGroupARN.

*/ inline void SetType(RuleGroupType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Indicates whether the rule group is stateless or stateful. If the rule group * is stateless, it contains stateless rules. If it is stateful, it contains * stateful rules.

This setting is required for requests that do not * include the RuleGroupARN.

*/ inline DescribeRuleGroupMetadataRequest& WithType(const RuleGroupType& value) { SetType(value); return *this;} /** *

Indicates whether the rule group is stateless or stateful. If the rule group * is stateless, it contains stateless rules. If it is stateful, it contains * stateful rules.

This setting is required for requests that do not * include the RuleGroupARN.

*/ inline DescribeRuleGroupMetadataRequest& WithType(RuleGroupType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_ruleGroupName; bool m_ruleGroupNameHasBeenSet = false; Aws::String m_ruleGroupArn; bool m_ruleGroupArnHasBeenSet = false; RuleGroupType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws