/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudWatch { namespace Model { /** *

Contains information about managed Contributor Insights rules, as returned * by ListManagedInsightRules.

See Also:

AWS * API Reference

*/ class ManagedRuleDescription { public: AWS_CLOUDWATCH_API ManagedRuleDescription(); AWS_CLOUDWATCH_API ManagedRuleDescription(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDWATCH_API ManagedRuleDescription& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDWATCH_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDWATCH_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The template name for the managed rule. Used to enable managed rules using * PutManagedInsightRules.

*/ inline const Aws::String& GetTemplateName() const{ return m_templateName; } /** *

The template name for the managed rule. Used to enable managed rules using * PutManagedInsightRules.

*/ inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } /** *

The template name for the managed rule. Used to enable managed rules using * PutManagedInsightRules.

*/ inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; } /** *

The template name for the managed rule. Used to enable managed rules using * PutManagedInsightRules.

*/ inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); } /** *

The template name for the managed rule. Used to enable managed rules using * PutManagedInsightRules.

*/ inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); } /** *

The template name for the managed rule. Used to enable managed rules using * PutManagedInsightRules.

*/ inline ManagedRuleDescription& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;} /** *

The template name for the managed rule. Used to enable managed rules using * PutManagedInsightRules.

*/ inline ManagedRuleDescription& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;} /** *

The template name for the managed rule. Used to enable managed rules using * PutManagedInsightRules.

*/ inline ManagedRuleDescription& WithTemplateName(const char* value) { SetTemplateName(value); return *this;} /** *

If a managed rule is enabled, this is the ARN for the related Amazon Web * Services resource.

*/ inline const Aws::String& GetResourceARN() const{ return m_resourceARN; } /** *

If a managed rule is enabled, this is the ARN for the related Amazon Web * Services resource.

*/ inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; } /** *

If a managed rule is enabled, this is the ARN for the related Amazon Web * Services resource.

*/ inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; } /** *

If a managed rule is enabled, this is the ARN for the related Amazon Web * Services resource.

*/ inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); } /** *

If a managed rule is enabled, this is the ARN for the related Amazon Web * Services resource.

*/ inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); } /** *

If a managed rule is enabled, this is the ARN for the related Amazon Web * Services resource.

*/ inline ManagedRuleDescription& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;} /** *

If a managed rule is enabled, this is the ARN for the related Amazon Web * Services resource.

*/ inline ManagedRuleDescription& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;} /** *

If a managed rule is enabled, this is the ARN for the related Amazon Web * Services resource.

*/ inline ManagedRuleDescription& WithResourceARN(const char* value) { SetResourceARN(value); return *this;} /** *

Describes the state of a managed rule. If present, it contains information * about the Contributor Insights rule that contains information about the related * Amazon Web Services resource.

*/ inline const ManagedRuleState& GetRuleState() const{ return m_ruleState; } /** *

Describes the state of a managed rule. If present, it contains information * about the Contributor Insights rule that contains information about the related * Amazon Web Services resource.

*/ inline bool RuleStateHasBeenSet() const { return m_ruleStateHasBeenSet; } /** *

Describes the state of a managed rule. If present, it contains information * about the Contributor Insights rule that contains information about the related * Amazon Web Services resource.

*/ inline void SetRuleState(const ManagedRuleState& value) { m_ruleStateHasBeenSet = true; m_ruleState = value; } /** *

Describes the state of a managed rule. If present, it contains information * about the Contributor Insights rule that contains information about the related * Amazon Web Services resource.

*/ inline void SetRuleState(ManagedRuleState&& value) { m_ruleStateHasBeenSet = true; m_ruleState = std::move(value); } /** *

Describes the state of a managed rule. If present, it contains information * about the Contributor Insights rule that contains information about the related * Amazon Web Services resource.

*/ inline ManagedRuleDescription& WithRuleState(const ManagedRuleState& value) { SetRuleState(value); return *this;} /** *

Describes the state of a managed rule. If present, it contains information * about the Contributor Insights rule that contains information about the related * Amazon Web Services resource.

*/ inline ManagedRuleDescription& WithRuleState(ManagedRuleState&& value) { SetRuleState(std::move(value)); return *this;} private: Aws::String m_templateName; bool m_templateNameHasBeenSet = false; Aws::String m_resourceARN; bool m_resourceARNHasBeenSet = false; ManagedRuleState m_ruleState; bool m_ruleStateHasBeenSet = false; }; } // namespace Model } // namespace CloudWatch } // namespace Aws