/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Defines the configuration of an automation rule. See Also:
* AWS
* API Reference
The Amazon Resource Name (ARN) of a rule.
*/ inline const Aws::String& GetRuleArn() const{ return m_ruleArn; } /** *The Amazon Resource Name (ARN) of a rule.
*/ inline bool RuleArnHasBeenSet() const { return m_ruleArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of a rule.
*/ inline void SetRuleArn(const Aws::String& value) { m_ruleArnHasBeenSet = true; m_ruleArn = value; } /** *The Amazon Resource Name (ARN) of a rule.
*/ inline void SetRuleArn(Aws::String&& value) { m_ruleArnHasBeenSet = true; m_ruleArn = std::move(value); } /** *The Amazon Resource Name (ARN) of a rule.
*/ inline void SetRuleArn(const char* value) { m_ruleArnHasBeenSet = true; m_ruleArn.assign(value); } /** *The Amazon Resource Name (ARN) of a rule.
*/ inline AutomationRulesConfig& WithRuleArn(const Aws::String& value) { SetRuleArn(value); return *this;} /** *The Amazon Resource Name (ARN) of a rule.
*/ inline AutomationRulesConfig& WithRuleArn(Aws::String&& value) { SetRuleArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of a rule.
*/ inline AutomationRulesConfig& WithRuleArn(const char* value) { SetRuleArn(value); return *this;} /** * Whether the rule is active after it is created. If this parameter is equal
* to ENABLED
, Security Hub starts applying the rule to findings and
* finding updates after the rule is created.
Whether the rule is active after it is created. If this parameter is equal
* to ENABLED
, Security Hub starts applying the rule to findings and
* finding updates after the rule is created.
Whether the rule is active after it is created. If this parameter is equal
* to ENABLED
, Security Hub starts applying the rule to findings and
* finding updates after the rule is created.
Whether the rule is active after it is created. If this parameter is equal
* to ENABLED
, Security Hub starts applying the rule to findings and
* finding updates after the rule is created.
Whether the rule is active after it is created. If this parameter is equal
* to ENABLED
, Security Hub starts applying the rule to findings and
* finding updates after the rule is created.
Whether the rule is active after it is created. If this parameter is equal
* to ENABLED
, Security Hub starts applying the rule to findings and
* finding updates after the rule is created.
An integer ranging from 1 to 1000 that represents the order in which the * rule action is applied to findings. Security Hub applies rules with lower values * for this parameter first.
*/ inline int GetRuleOrder() const{ return m_ruleOrder; } /** *An integer ranging from 1 to 1000 that represents the order in which the * rule action is applied to findings. Security Hub applies rules with lower values * for this parameter first.
*/ inline bool RuleOrderHasBeenSet() const { return m_ruleOrderHasBeenSet; } /** *An integer ranging from 1 to 1000 that represents the order in which the * rule action is applied to findings. Security Hub applies rules with lower values * for this parameter first.
*/ inline void SetRuleOrder(int value) { m_ruleOrderHasBeenSet = true; m_ruleOrder = value; } /** *An integer ranging from 1 to 1000 that represents the order in which the * rule action is applied to findings. Security Hub applies rules with lower values * for this parameter first.
*/ inline AutomationRulesConfig& WithRuleOrder(int value) { SetRuleOrder(value); return *this;} /** *The name of the rule.
*/ inline const Aws::String& GetRuleName() const{ return m_ruleName; } /** *The name of the rule.
*/ inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; } /** *The name of the rule.
*/ inline void SetRuleName(const Aws::String& value) { m_ruleNameHasBeenSet = true; m_ruleName = value; } /** *The name of the rule.
*/ inline void SetRuleName(Aws::String&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::move(value); } /** *The name of the rule.
*/ inline void SetRuleName(const char* value) { m_ruleNameHasBeenSet = true; m_ruleName.assign(value); } /** *The name of the rule.
*/ inline AutomationRulesConfig& WithRuleName(const Aws::String& value) { SetRuleName(value); return *this;} /** *The name of the rule.
*/ inline AutomationRulesConfig& WithRuleName(Aws::String&& value) { SetRuleName(std::move(value)); return *this;} /** *The name of the rule.
*/ inline AutomationRulesConfig& WithRuleName(const char* value) { SetRuleName(value); return *this;} /** *A description of the rule.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the rule.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the rule.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the rule.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the rule.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the rule.
*/ inline AutomationRulesConfig& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the rule.
*/ inline AutomationRulesConfig& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the rule.
*/ inline AutomationRulesConfig& WithDescription(const char* value) { SetDescription(value); return *this;} /** *Specifies whether a rule is the last to be applied with respect to a finding * that matches the rule criteria. This is useful when a finding matches the * criteria for multiple rules, and each rule has different actions. If a rule is * terminal, Security Hub applies the rule action to a finding that matches the * rule criteria and doesn't evaluate other rules for the finding. By default, a * rule isn't terminal.
*/ inline bool GetIsTerminal() const{ return m_isTerminal; } /** *Specifies whether a rule is the last to be applied with respect to a finding * that matches the rule criteria. This is useful when a finding matches the * criteria for multiple rules, and each rule has different actions. If a rule is * terminal, Security Hub applies the rule action to a finding that matches the * rule criteria and doesn't evaluate other rules for the finding. By default, a * rule isn't terminal.
*/ inline bool IsTerminalHasBeenSet() const { return m_isTerminalHasBeenSet; } /** *Specifies whether a rule is the last to be applied with respect to a finding * that matches the rule criteria. This is useful when a finding matches the * criteria for multiple rules, and each rule has different actions. If a rule is * terminal, Security Hub applies the rule action to a finding that matches the * rule criteria and doesn't evaluate other rules for the finding. By default, a * rule isn't terminal.
*/ inline void SetIsTerminal(bool value) { m_isTerminalHasBeenSet = true; m_isTerminal = value; } /** *Specifies whether a rule is the last to be applied with respect to a finding * that matches the rule criteria. This is useful when a finding matches the * criteria for multiple rules, and each rule has different actions. If a rule is * terminal, Security Hub applies the rule action to a finding that matches the * rule criteria and doesn't evaluate other rules for the finding. By default, a * rule isn't terminal.
*/ inline AutomationRulesConfig& WithIsTerminal(bool value) { SetIsTerminal(value); return *this;} /** *A set of Amazon * Web Services Security Finding Format finding field attributes and * corresponding expected values that Security Hub uses to filter findings. If a * rule is enabled and a finding matches the conditions specified in this * parameter, Security Hub applies the rule action to the finding.
*/ inline const AutomationRulesFindingFilters& GetCriteria() const{ return m_criteria; } /** *A set of Amazon * Web Services Security Finding Format finding field attributes and * corresponding expected values that Security Hub uses to filter findings. If a * rule is enabled and a finding matches the conditions specified in this * parameter, Security Hub applies the rule action to the finding.
*/ inline bool CriteriaHasBeenSet() const { return m_criteriaHasBeenSet; } /** *A set of Amazon * Web Services Security Finding Format finding field attributes and * corresponding expected values that Security Hub uses to filter findings. If a * rule is enabled and a finding matches the conditions specified in this * parameter, Security Hub applies the rule action to the finding.
*/ inline void SetCriteria(const AutomationRulesFindingFilters& value) { m_criteriaHasBeenSet = true; m_criteria = value; } /** *A set of Amazon * Web Services Security Finding Format finding field attributes and * corresponding expected values that Security Hub uses to filter findings. If a * rule is enabled and a finding matches the conditions specified in this * parameter, Security Hub applies the rule action to the finding.
*/ inline void SetCriteria(AutomationRulesFindingFilters&& value) { m_criteriaHasBeenSet = true; m_criteria = std::move(value); } /** *A set of Amazon * Web Services Security Finding Format finding field attributes and * corresponding expected values that Security Hub uses to filter findings. If a * rule is enabled and a finding matches the conditions specified in this * parameter, Security Hub applies the rule action to the finding.
*/ inline AutomationRulesConfig& WithCriteria(const AutomationRulesFindingFilters& value) { SetCriteria(value); return *this;} /** *A set of Amazon * Web Services Security Finding Format finding field attributes and * corresponding expected values that Security Hub uses to filter findings. If a * rule is enabled and a finding matches the conditions specified in this * parameter, Security Hub applies the rule action to the finding.
*/ inline AutomationRulesConfig& WithCriteria(AutomationRulesFindingFilters&& value) { SetCriteria(std::move(value)); return *this;} /** *One or more actions to update finding fields if a finding matches the * defined criteria of the rule.
*/ inline const Aws::VectorOne or more actions to update finding fields if a finding matches the * defined criteria of the rule.
*/ inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } /** *One or more actions to update finding fields if a finding matches the * defined criteria of the rule.
*/ inline void SetActions(const Aws::VectorOne or more actions to update finding fields if a finding matches the * defined criteria of the rule.
*/ inline void SetActions(Aws::VectorOne or more actions to update finding fields if a finding matches the * defined criteria of the rule.
*/ inline AutomationRulesConfig& WithActions(const Aws::VectorOne or more actions to update finding fields if a finding matches the * defined criteria of the rule.
*/ inline AutomationRulesConfig& WithActions(Aws::VectorOne or more actions to update finding fields if a finding matches the * defined criteria of the rule.
*/ inline AutomationRulesConfig& AddActions(const AutomationRulesAction& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } /** *One or more actions to update finding fields if a finding matches the * defined criteria of the rule.
*/ inline AutomationRulesConfig& AddActions(AutomationRulesAction&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; } /** *A timestamp that indicates when the rule was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was most recently updated.
*Uses the date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was most recently updated.
*Uses the date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was most recently updated.
*Uses the date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was most recently updated.
*Uses the date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was most recently updated.
*Uses the date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
A timestamp that indicates when the rule was most recently updated.
*Uses the date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z
.
The principal that created a rule.
*/ inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } /** *The principal that created a rule.
*/ inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } /** *The principal that created a rule.
*/ inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } /** *The principal that created a rule.
*/ inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } /** *The principal that created a rule.
*/ inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } /** *The principal that created a rule.
*/ inline AutomationRulesConfig& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} /** *The principal that created a rule.
*/ inline AutomationRulesConfig& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} /** *The principal that created a rule.
*/ inline AutomationRulesConfig& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} private: Aws::String m_ruleArn; bool m_ruleArnHasBeenSet = false; RuleStatus m_ruleStatus; bool m_ruleStatusHasBeenSet = false; int m_ruleOrder; bool m_ruleOrderHasBeenSet = false; Aws::String m_ruleName; bool m_ruleNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_isTerminal; bool m_isTerminalHasBeenSet = false; AutomationRulesFindingFilters m_criteria; bool m_criteriaHasBeenSet = false; Aws::Vector