/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace NetworkFirewall { namespace Model { class DescribeRuleGroupResult { public: AWS_NETWORKFIREWALL_API DescribeRuleGroupResult(); AWS_NETWORKFIREWALL_API DescribeRuleGroupResult(const Aws::AmazonWebServiceResult& result); AWS_NETWORKFIREWALL_API DescribeRuleGroupResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

A token used for optimistic locking. Network Firewall returns a token to your * requests that access the rule group. The token marks the state of the rule group * resource at the time of the request.

To make changes to the rule group, * you provide the token in your request. Network Firewall uses the token to ensure * that the rule group hasn't changed since you last retrieved it. If it has * changed, the operation fails with an InvalidTokenException. If this * happens, retrieve the rule group again to get a current copy of it with a * current token. Reapply your changes as needed, then try the operation again * using the new token.

*/ inline const Aws::String& GetUpdateToken() const{ return m_updateToken; } /** *

A token used for optimistic locking. Network Firewall returns a token to your * requests that access the rule group. The token marks the state of the rule group * resource at the time of the request.

To make changes to the rule group, * you provide the token in your request. Network Firewall uses the token to ensure * that the rule group hasn't changed since you last retrieved it. If it has * changed, the operation fails with an InvalidTokenException. If this * happens, retrieve the rule group again to get a current copy of it with a * current token. Reapply your changes as needed, then try the operation again * using the new token.

*/ inline void SetUpdateToken(const Aws::String& value) { m_updateToken = value; } /** *

A token used for optimistic locking. Network Firewall returns a token to your * requests that access the rule group. The token marks the state of the rule group * resource at the time of the request.

To make changes to the rule group, * you provide the token in your request. Network Firewall uses the token to ensure * that the rule group hasn't changed since you last retrieved it. If it has * changed, the operation fails with an InvalidTokenException. If this * happens, retrieve the rule group again to get a current copy of it with a * current token. Reapply your changes as needed, then try the operation again * using the new token.

*/ inline void SetUpdateToken(Aws::String&& value) { m_updateToken = std::move(value); } /** *

A token used for optimistic locking. Network Firewall returns a token to your * requests that access the rule group. The token marks the state of the rule group * resource at the time of the request.

To make changes to the rule group, * you provide the token in your request. Network Firewall uses the token to ensure * that the rule group hasn't changed since you last retrieved it. If it has * changed, the operation fails with an InvalidTokenException. If this * happens, retrieve the rule group again to get a current copy of it with a * current token. Reapply your changes as needed, then try the operation again * using the new token.

*/ inline void SetUpdateToken(const char* value) { m_updateToken.assign(value); } /** *

A token used for optimistic locking. Network Firewall returns a token to your * requests that access the rule group. The token marks the state of the rule group * resource at the time of the request.

To make changes to the rule group, * you provide the token in your request. Network Firewall uses the token to ensure * that the rule group hasn't changed since you last retrieved it. If it has * changed, the operation fails with an InvalidTokenException. If this * happens, retrieve the rule group again to get a current copy of it with a * current token. Reapply your changes as needed, then try the operation again * using the new token.

*/ inline DescribeRuleGroupResult& WithUpdateToken(const Aws::String& value) { SetUpdateToken(value); return *this;} /** *

A token used for optimistic locking. Network Firewall returns a token to your * requests that access the rule group. The token marks the state of the rule group * resource at the time of the request.

To make changes to the rule group, * you provide the token in your request. Network Firewall uses the token to ensure * that the rule group hasn't changed since you last retrieved it. If it has * changed, the operation fails with an InvalidTokenException. If this * happens, retrieve the rule group again to get a current copy of it with a * current token. Reapply your changes as needed, then try the operation again * using the new token.

*/ inline DescribeRuleGroupResult& WithUpdateToken(Aws::String&& value) { SetUpdateToken(std::move(value)); return *this;} /** *

A token used for optimistic locking. Network Firewall returns a token to your * requests that access the rule group. The token marks the state of the rule group * resource at the time of the request.

To make changes to the rule group, * you provide the token in your request. Network Firewall uses the token to ensure * that the rule group hasn't changed since you last retrieved it. If it has * changed, the operation fails with an InvalidTokenException. If this * happens, retrieve the rule group again to get a current copy of it with a * current token. Reapply your changes as needed, then try the operation again * using the new token.

*/ inline DescribeRuleGroupResult& WithUpdateToken(const char* value) { SetUpdateToken(value); return *this;} /** *

The object that defines the rules in a rule group. This, along with * RuleGroupResponse, define the rule group. You can retrieve all objects * for a rule group by calling DescribeRuleGroup.

Network Firewall * uses a rule group to inspect and control network traffic. You define stateless * rule groups to inspect individual packets and you define stateful rule groups to * inspect packets in the context of their traffic flow.

To use a rule * group, you include it by reference in an Network Firewall firewall policy, then * you use the policy in a firewall. You can reference a rule group from more than * one firewall policy, and you can use a firewall policy in more than one * firewall.

*/ inline const RuleGroup& GetRuleGroup() const{ return m_ruleGroup; } /** *

The object that defines the rules in a rule group. This, along with * RuleGroupResponse, define the rule group. You can retrieve all objects * for a rule group by calling DescribeRuleGroup.

Network Firewall * uses a rule group to inspect and control network traffic. You define stateless * rule groups to inspect individual packets and you define stateful rule groups to * inspect packets in the context of their traffic flow.

To use a rule * group, you include it by reference in an Network Firewall firewall policy, then * you use the policy in a firewall. You can reference a rule group from more than * one firewall policy, and you can use a firewall policy in more than one * firewall.

*/ inline void SetRuleGroup(const RuleGroup& value) { m_ruleGroup = value; } /** *

The object that defines the rules in a rule group. This, along with * RuleGroupResponse, define the rule group. You can retrieve all objects * for a rule group by calling DescribeRuleGroup.

Network Firewall * uses a rule group to inspect and control network traffic. You define stateless * rule groups to inspect individual packets and you define stateful rule groups to * inspect packets in the context of their traffic flow.

To use a rule * group, you include it by reference in an Network Firewall firewall policy, then * you use the policy in a firewall. You can reference a rule group from more than * one firewall policy, and you can use a firewall policy in more than one * firewall.

*/ inline void SetRuleGroup(RuleGroup&& value) { m_ruleGroup = std::move(value); } /** *

The object that defines the rules in a rule group. This, along with * RuleGroupResponse, define the rule group. You can retrieve all objects * for a rule group by calling DescribeRuleGroup.

Network Firewall * uses a rule group to inspect and control network traffic. You define stateless * rule groups to inspect individual packets and you define stateful rule groups to * inspect packets in the context of their traffic flow.

To use a rule * group, you include it by reference in an Network Firewall firewall policy, then * you use the policy in a firewall. You can reference a rule group from more than * one firewall policy, and you can use a firewall policy in more than one * firewall.

*/ inline DescribeRuleGroupResult& WithRuleGroup(const RuleGroup& value) { SetRuleGroup(value); return *this;} /** *

The object that defines the rules in a rule group. This, along with * RuleGroupResponse, define the rule group. You can retrieve all objects * for a rule group by calling DescribeRuleGroup.

Network Firewall * uses a rule group to inspect and control network traffic. You define stateless * rule groups to inspect individual packets and you define stateful rule groups to * inspect packets in the context of their traffic flow.

To use a rule * group, you include it by reference in an Network Firewall firewall policy, then * you use the policy in a firewall. You can reference a rule group from more than * one firewall policy, and you can use a firewall policy in more than one * firewall.

*/ inline DescribeRuleGroupResult& WithRuleGroup(RuleGroup&& value) { SetRuleGroup(std::move(value)); return *this;} /** *

The high-level properties of a rule group. This, along with the * RuleGroup, define the rule group. You can retrieve all objects for a rule * group by calling DescribeRuleGroup.

*/ inline const RuleGroupResponse& GetRuleGroupResponse() const{ return m_ruleGroupResponse; } /** *

The high-level properties of a rule group. This, along with the * RuleGroup, define the rule group. You can retrieve all objects for a rule * group by calling DescribeRuleGroup.

*/ inline void SetRuleGroupResponse(const RuleGroupResponse& value) { m_ruleGroupResponse = value; } /** *

The high-level properties of a rule group. This, along with the * RuleGroup, define the rule group. You can retrieve all objects for a rule * group by calling DescribeRuleGroup.

*/ inline void SetRuleGroupResponse(RuleGroupResponse&& value) { m_ruleGroupResponse = std::move(value); } /** *

The high-level properties of a rule group. This, along with the * RuleGroup, define the rule group. You can retrieve all objects for a rule * group by calling DescribeRuleGroup.

*/ inline DescribeRuleGroupResult& WithRuleGroupResponse(const RuleGroupResponse& value) { SetRuleGroupResponse(value); return *this;} /** *

The high-level properties of a rule group. This, along with the * RuleGroup, define the rule group. You can retrieve all objects for a rule * group by calling DescribeRuleGroup.

*/ inline DescribeRuleGroupResult& WithRuleGroupResponse(RuleGroupResponse&& value) { SetRuleGroupResponse(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeRuleGroupResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeRuleGroupResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeRuleGroupResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_updateToken; RuleGroup m_ruleGroup; RuleGroupResponse m_ruleGroupResponse; Aws::String m_requestId; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws