/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Metadata for automation rules in the calling account. The response includes * rules with a RuleStatus of ENABLED and * DISABLED.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) for the rule.

*/ inline const Aws::String& GetRuleArn() const{ return m_ruleArn; } /** *

The Amazon Resource Name (ARN) for the rule.

*/ inline bool RuleArnHasBeenSet() const { return m_ruleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the rule.

*/ inline void SetRuleArn(const Aws::String& value) { m_ruleArnHasBeenSet = true; m_ruleArn = value; } /** *

The Amazon Resource Name (ARN) for the rule.

*/ inline void SetRuleArn(Aws::String&& value) { m_ruleArnHasBeenSet = true; m_ruleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the rule.

*/ inline void SetRuleArn(const char* value) { m_ruleArnHasBeenSet = true; m_ruleArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the rule.

*/ inline AutomationRulesMetadata& WithRuleArn(const Aws::String& value) { SetRuleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the rule.

*/ inline AutomationRulesMetadata& WithRuleArn(Aws::String&& value) { SetRuleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the rule.

*/ inline AutomationRulesMetadata& 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. To change the value of this parameter * after creating a rule, use * BatchUpdateAutomationRules .

*/ inline const RuleStatus& GetRuleStatus() const{ return m_ruleStatus; } /** *

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. To change the value of this parameter * after creating a rule, use * BatchUpdateAutomationRules .

*/ inline bool RuleStatusHasBeenSet() const { return m_ruleStatusHasBeenSet; } /** *

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. To change the value of this parameter * after creating a rule, use * BatchUpdateAutomationRules .

*/ inline void SetRuleStatus(const RuleStatus& value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = value; } /** *

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. To change the value of this parameter * after creating a rule, use * BatchUpdateAutomationRules .

*/ inline void SetRuleStatus(RuleStatus&& value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = std::move(value); } /** *

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. To change the value of this parameter * after creating a rule, use * BatchUpdateAutomationRules .

*/ inline AutomationRulesMetadata& WithRuleStatus(const RuleStatus& value) { SetRuleStatus(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. To change the value of this parameter * after creating a rule, use * BatchUpdateAutomationRules .

*/ inline AutomationRulesMetadata& WithRuleStatus(RuleStatus&& value) { SetRuleStatus(std::move(value)); return *this;} /** *

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 AutomationRulesMetadata& 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 AutomationRulesMetadata& WithRuleName(const Aws::String& value) { SetRuleName(value); return *this;} /** *

The name of the rule.

*/ inline AutomationRulesMetadata& WithRuleName(Aws::String&& value) { SetRuleName(std::move(value)); return *this;} /** *

The name of the rule.

*/ inline AutomationRulesMetadata& 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 AutomationRulesMetadata& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the rule.

*/ inline AutomationRulesMetadata& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the rule.

*/ inline AutomationRulesMetadata& 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 AutomationRulesMetadata& WithIsTerminal(bool value) { SetIsTerminal(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.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

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.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

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.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

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.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

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.

*/ inline AutomationRulesMetadata& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(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.

*/ inline AutomationRulesMetadata& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } /** *

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.

*/ inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } /** *

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.

*/ inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } /** *

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.

*/ inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } /** *

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.

*/ inline AutomationRulesMetadata& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *

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.

*/ inline AutomationRulesMetadata& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} /** *

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 AutomationRulesMetadata& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} /** *

The principal that created a rule.

*/ inline AutomationRulesMetadata& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} /** *

The principal that created a rule.

*/ inline AutomationRulesMetadata& 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; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; Aws::String m_createdBy; bool m_createdByHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws