/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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. See Also:
AWS
* API Reference
The Amazon Resource Name (ARN) of the rule group.
If this
* response is for a create request that had DryRun
set to
* TRUE
, then this ARN is a placeholder that isn't attached to a valid
* resource.
The Amazon Resource Name (ARN) of the rule group.
If this
* response is for a create request that had DryRun
set to
* TRUE
, then this ARN is a placeholder that isn't attached to a valid
* resource.
The Amazon Resource Name (ARN) of the rule group.
If this
* response is for a create request that had DryRun
set to
* TRUE
, then this ARN is a placeholder that isn't attached to a valid
* resource.
The Amazon Resource Name (ARN) of the rule group.
If this
* response is for a create request that had DryRun
set to
* TRUE
, then this ARN is a placeholder that isn't attached to a valid
* resource.
The Amazon Resource Name (ARN) of the rule group.
If this
* response is for a create request that had DryRun
set to
* TRUE
, then this ARN is a placeholder that isn't attached to a valid
* resource.
The Amazon Resource Name (ARN) of the rule group.
If this
* response is for a create request that had DryRun
set to
* TRUE
, then this ARN is a placeholder that isn't attached to a valid
* resource.
The Amazon Resource Name (ARN) of the rule group.
If this
* response is for a create request that had DryRun
set to
* TRUE
, then this ARN is a placeholder that isn't attached to a valid
* resource.
The Amazon Resource Name (ARN) of the rule group.
If this
* response is for a create request that had DryRun
set to
* TRUE
, then this ARN is a placeholder that isn't attached to a valid
* resource.
The descriptive name of the rule group. You can't change the name of a rule * group after you create it.
*/ 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.
*/ 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.
*/ 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.
*/ 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.
*/ 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.
*/ inline RuleGroupResponse& 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.
*/ inline RuleGroupResponse& 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.
*/ inline RuleGroupResponse& WithRuleGroupName(const char* value) { SetRuleGroupName(value); return *this;} /** *The unique identifier for the rule group.
*/ inline const Aws::String& GetRuleGroupId() const{ return m_ruleGroupId; } /** *The unique identifier for the rule group.
*/ inline bool RuleGroupIdHasBeenSet() const { return m_ruleGroupIdHasBeenSet; } /** *The unique identifier for the rule group.
*/ inline void SetRuleGroupId(const Aws::String& value) { m_ruleGroupIdHasBeenSet = true; m_ruleGroupId = value; } /** *The unique identifier for the rule group.
*/ inline void SetRuleGroupId(Aws::String&& value) { m_ruleGroupIdHasBeenSet = true; m_ruleGroupId = std::move(value); } /** *The unique identifier for the rule group.
*/ inline void SetRuleGroupId(const char* value) { m_ruleGroupIdHasBeenSet = true; m_ruleGroupId.assign(value); } /** *The unique identifier for the rule group.
*/ inline RuleGroupResponse& WithRuleGroupId(const Aws::String& value) { SetRuleGroupId(value); return *this;} /** *The unique identifier for the rule group.
*/ inline RuleGroupResponse& WithRuleGroupId(Aws::String&& value) { SetRuleGroupId(std::move(value)); return *this;} /** *The unique identifier for the rule group.
*/ inline RuleGroupResponse& WithRuleGroupId(const char* value) { SetRuleGroupId(value); return *this;} /** *A description of the rule group.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the rule group.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the rule group.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the rule group.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the rule group.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the rule group.
*/ inline RuleGroupResponse& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the rule group.
*/ inline RuleGroupResponse& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the rule group.
*/ inline RuleGroupResponse& WithDescription(const char* value) { SetDescription(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.
*/ 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.
*/ 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.
*/ 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.
*/ 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.
*/ inline RuleGroupResponse& 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.
*/ inline RuleGroupResponse& WithType(RuleGroupType&& value) { SetType(std::move(value)); return *this;} /** *The maximum operating resources that this rule group can use. Rule group * capacity is fixed at creation. When you update a rule group, you are limited to * this capacity. When you reference a rule group from a firewall policy, Network * Firewall reserves this capacity for the rule group.
You can retrieve the
* capacity that would be required for a rule group before you create the rule
* group by calling CreateRuleGroup with DryRun
set to
* TRUE
.
The maximum operating resources that this rule group can use. Rule group * capacity is fixed at creation. When you update a rule group, you are limited to * this capacity. When you reference a rule group from a firewall policy, Network * Firewall reserves this capacity for the rule group.
You can retrieve the
* capacity that would be required for a rule group before you create the rule
* group by calling CreateRuleGroup with DryRun
set to
* TRUE
.
The maximum operating resources that this rule group can use. Rule group * capacity is fixed at creation. When you update a rule group, you are limited to * this capacity. When you reference a rule group from a firewall policy, Network * Firewall reserves this capacity for the rule group.
You can retrieve the
* capacity that would be required for a rule group before you create the rule
* group by calling CreateRuleGroup with DryRun
set to
* TRUE
.
The maximum operating resources that this rule group can use. Rule group * capacity is fixed at creation. When you update a rule group, you are limited to * this capacity. When you reference a rule group from a firewall policy, Network * Firewall reserves this capacity for the rule group.
You can retrieve the
* capacity that would be required for a rule group before you create the rule
* group by calling CreateRuleGroup with DryRun
set to
* TRUE
.
Detailed information about the current status of a rule group.
*/ inline const ResourceStatus& GetRuleGroupStatus() const{ return m_ruleGroupStatus; } /** *Detailed information about the current status of a rule group.
*/ inline bool RuleGroupStatusHasBeenSet() const { return m_ruleGroupStatusHasBeenSet; } /** *Detailed information about the current status of a rule group.
*/ inline void SetRuleGroupStatus(const ResourceStatus& value) { m_ruleGroupStatusHasBeenSet = true; m_ruleGroupStatus = value; } /** *Detailed information about the current status of a rule group.
*/ inline void SetRuleGroupStatus(ResourceStatus&& value) { m_ruleGroupStatusHasBeenSet = true; m_ruleGroupStatus = std::move(value); } /** *Detailed information about the current status of a rule group.
*/ inline RuleGroupResponse& WithRuleGroupStatus(const ResourceStatus& value) { SetRuleGroupStatus(value); return *this;} /** *Detailed information about the current status of a rule group.
*/ inline RuleGroupResponse& WithRuleGroupStatus(ResourceStatus&& value) { SetRuleGroupStatus(std::move(value)); return *this;} /** *The key:value pairs to associate with the resource.
*/ inline const Aws::VectorThe key:value pairs to associate with the resource.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The key:value pairs to associate with the resource.
*/ inline void SetTags(const Aws::VectorThe key:value pairs to associate with the resource.
*/ inline void SetTags(Aws::VectorThe key:value pairs to associate with the resource.
*/ inline RuleGroupResponse& WithTags(const Aws::VectorThe key:value pairs to associate with the resource.
*/ inline RuleGroupResponse& WithTags(Aws::VectorThe key:value pairs to associate with the resource.
*/ inline RuleGroupResponse& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *The key:value pairs to associate with the resource.
*/ inline RuleGroupResponse& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *The number of capacity units currently consumed by the rule group rules.
*/ inline int GetConsumedCapacity() const{ return m_consumedCapacity; } /** *The number of capacity units currently consumed by the rule group rules.
*/ inline bool ConsumedCapacityHasBeenSet() const { return m_consumedCapacityHasBeenSet; } /** *The number of capacity units currently consumed by the rule group rules.
*/ inline void SetConsumedCapacity(int value) { m_consumedCapacityHasBeenSet = true; m_consumedCapacity = value; } /** *The number of capacity units currently consumed by the rule group rules.
*/ inline RuleGroupResponse& WithConsumedCapacity(int value) { SetConsumedCapacity(value); return *this;} /** *The number of firewall policies that use this rule group.
*/ inline int GetNumberOfAssociations() const{ return m_numberOfAssociations; } /** *The number of firewall policies that use this rule group.
*/ inline bool NumberOfAssociationsHasBeenSet() const { return m_numberOfAssociationsHasBeenSet; } /** *The number of firewall policies that use this rule group.
*/ inline void SetNumberOfAssociations(int value) { m_numberOfAssociationsHasBeenSet = true; m_numberOfAssociations = value; } /** *The number of firewall policies that use this rule group.
*/ inline RuleGroupResponse& WithNumberOfAssociations(int value) { SetNumberOfAssociations(value); return *this;} /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your rule group.
*/ inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your rule group.
*/ inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your rule group.
*/ inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your rule group.
*/ inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your rule group.
*/ inline RuleGroupResponse& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your rule group.
*/ inline RuleGroupResponse& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} /** *A complex type that contains metadata about the rule group that your own rule * group is copied from. You can use the metadata to track the version updates made * to the originating rule group.
*/ inline const SourceMetadata& GetSourceMetadata() const{ return m_sourceMetadata; } /** *A complex type that contains metadata about the rule group that your own rule * group is copied from. You can use the metadata to track the version updates made * to the originating rule group.
*/ inline bool SourceMetadataHasBeenSet() const { return m_sourceMetadataHasBeenSet; } /** *A complex type that contains metadata about the rule group that your own rule * group is copied from. You can use the metadata to track the version updates made * to the originating rule group.
*/ inline void SetSourceMetadata(const SourceMetadata& value) { m_sourceMetadataHasBeenSet = true; m_sourceMetadata = value; } /** *A complex type that contains metadata about the rule group that your own rule * group is copied from. You can use the metadata to track the version updates made * to the originating rule group.
*/ inline void SetSourceMetadata(SourceMetadata&& value) { m_sourceMetadataHasBeenSet = true; m_sourceMetadata = std::move(value); } /** *A complex type that contains metadata about the rule group that your own rule * group is copied from. You can use the metadata to track the version updates made * to the originating rule group.
*/ inline RuleGroupResponse& WithSourceMetadata(const SourceMetadata& value) { SetSourceMetadata(value); return *this;} /** *A complex type that contains metadata about the rule group that your own rule * group is copied from. You can use the metadata to track the version updates made * to the originating rule group.
*/ inline RuleGroupResponse& WithSourceMetadata(SourceMetadata&& value) { SetSourceMetadata(std::move(value)); return *this;} /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to record changes to the managed rule group. You can subscribe * to the SNS topic to receive notifications when the managed rule group is * modified, such as for new versions and for version expiration. For more * information, see the Amazon Simple * Notification Service Developer Guide..
*/ inline const Aws::String& GetSnsTopic() const{ return m_snsTopic; } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to record changes to the managed rule group. You can subscribe * to the SNS topic to receive notifications when the managed rule group is * modified, such as for new versions and for version expiration. For more * information, see the Amazon Simple * Notification Service Developer Guide..
*/ inline bool SnsTopicHasBeenSet() const { return m_snsTopicHasBeenSet; } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to record changes to the managed rule group. You can subscribe * to the SNS topic to receive notifications when the managed rule group is * modified, such as for new versions and for version expiration. For more * information, see the Amazon Simple * Notification Service Developer Guide..
*/ inline void SetSnsTopic(const Aws::String& value) { m_snsTopicHasBeenSet = true; m_snsTopic = value; } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to record changes to the managed rule group. You can subscribe * to the SNS topic to receive notifications when the managed rule group is * modified, such as for new versions and for version expiration. For more * information, see the Amazon Simple * Notification Service Developer Guide..
*/ inline void SetSnsTopic(Aws::String&& value) { m_snsTopicHasBeenSet = true; m_snsTopic = std::move(value); } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to record changes to the managed rule group. You can subscribe * to the SNS topic to receive notifications when the managed rule group is * modified, such as for new versions and for version expiration. For more * information, see the Amazon Simple * Notification Service Developer Guide..
*/ inline void SetSnsTopic(const char* value) { m_snsTopicHasBeenSet = true; m_snsTopic.assign(value); } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to record changes to the managed rule group. You can subscribe * to the SNS topic to receive notifications when the managed rule group is * modified, such as for new versions and for version expiration. For more * information, see the Amazon Simple * Notification Service Developer Guide..
*/ inline RuleGroupResponse& WithSnsTopic(const Aws::String& value) { SetSnsTopic(value); return *this;} /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to record changes to the managed rule group. You can subscribe * to the SNS topic to receive notifications when the managed rule group is * modified, such as for new versions and for version expiration. For more * information, see the Amazon Simple * Notification Service Developer Guide..
*/ inline RuleGroupResponse& WithSnsTopic(Aws::String&& value) { SetSnsTopic(std::move(value)); return *this;} /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to record changes to the managed rule group. You can subscribe * to the SNS topic to receive notifications when the managed rule group is * modified, such as for new versions and for version expiration. For more * information, see the Amazon Simple * Notification Service Developer Guide..
*/ inline RuleGroupResponse& WithSnsTopic(const char* value) { SetSnsTopic(value); return *this;} /** *The last time that the rule group was changed.
*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *The last time that the rule group was changed.
*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *The last time that the rule group was changed.
*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *The last time that the rule group was changed.
*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *The last time that the rule group was changed.
*/ inline RuleGroupResponse& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *The last time that the rule group was changed.
*/ inline RuleGroupResponse& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} private: Aws::String m_ruleGroupArn; bool m_ruleGroupArnHasBeenSet = false; Aws::String m_ruleGroupName; bool m_ruleGroupNameHasBeenSet = false; Aws::String m_ruleGroupId; bool m_ruleGroupIdHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; RuleGroupType m_type; bool m_typeHasBeenSet = false; int m_capacity; bool m_capacityHasBeenSet = false; ResourceStatus m_ruleGroupStatus; bool m_ruleGroupStatusHasBeenSet = false; Aws::Vector