/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a rule.See Also:
AWS
* API Reference
The rule ARN.
*/ inline const Aws::String& GetRuleArn() const{ return m_ruleArn; } /** *The rule ARN.
*/ inline bool RuleArnHasBeenSet() const { return m_ruleArnHasBeenSet; } /** *The rule ARN.
*/ inline void SetRuleArn(const Aws::String& value) { m_ruleArnHasBeenSet = true; m_ruleArn = value; } /** *The rule ARN.
*/ inline void SetRuleArn(Aws::String&& value) { m_ruleArnHasBeenSet = true; m_ruleArn = std::move(value); } /** *The rule ARN.
*/ inline void SetRuleArn(const char* value) { m_ruleArnHasBeenSet = true; m_ruleArn.assign(value); } /** *The rule ARN.
*/ inline TopicRuleListItem& WithRuleArn(const Aws::String& value) { SetRuleArn(value); return *this;} /** *The rule ARN.
*/ inline TopicRuleListItem& WithRuleArn(Aws::String&& value) { SetRuleArn(std::move(value)); return *this;} /** *The rule ARN.
*/ inline TopicRuleListItem& WithRuleArn(const char* value) { SetRuleArn(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 TopicRuleListItem& WithRuleName(const Aws::String& value) { SetRuleName(value); return *this;} /** *The name of the rule.
*/ inline TopicRuleListItem& WithRuleName(Aws::String&& value) { SetRuleName(std::move(value)); return *this;} /** *The name of the rule.
*/ inline TopicRuleListItem& WithRuleName(const char* value) { SetRuleName(value); return *this;} /** *The pattern for the topic names that apply.
*/ inline const Aws::String& GetTopicPattern() const{ return m_topicPattern; } /** *The pattern for the topic names that apply.
*/ inline bool TopicPatternHasBeenSet() const { return m_topicPatternHasBeenSet; } /** *The pattern for the topic names that apply.
*/ inline void SetTopicPattern(const Aws::String& value) { m_topicPatternHasBeenSet = true; m_topicPattern = value; } /** *The pattern for the topic names that apply.
*/ inline void SetTopicPattern(Aws::String&& value) { m_topicPatternHasBeenSet = true; m_topicPattern = std::move(value); } /** *The pattern for the topic names that apply.
*/ inline void SetTopicPattern(const char* value) { m_topicPatternHasBeenSet = true; m_topicPattern.assign(value); } /** *The pattern for the topic names that apply.
*/ inline TopicRuleListItem& WithTopicPattern(const Aws::String& value) { SetTopicPattern(value); return *this;} /** *The pattern for the topic names that apply.
*/ inline TopicRuleListItem& WithTopicPattern(Aws::String&& value) { SetTopicPattern(std::move(value)); return *this;} /** *The pattern for the topic names that apply.
*/ inline TopicRuleListItem& WithTopicPattern(const char* value) { SetTopicPattern(value); return *this;} /** *The date and time the rule was created.
*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *The date and time the rule was created.
*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *The date and time the rule was created.
*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *The date and time the rule was created.
*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *The date and time the rule was created.
*/ inline TopicRuleListItem& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *The date and time the rule was created.
*/ inline TopicRuleListItem& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *Specifies whether the rule is disabled.
*/ inline bool GetRuleDisabled() const{ return m_ruleDisabled; } /** *Specifies whether the rule is disabled.
*/ inline bool RuleDisabledHasBeenSet() const { return m_ruleDisabledHasBeenSet; } /** *Specifies whether the rule is disabled.
*/ inline void SetRuleDisabled(bool value) { m_ruleDisabledHasBeenSet = true; m_ruleDisabled = value; } /** *Specifies whether the rule is disabled.
*/ inline TopicRuleListItem& WithRuleDisabled(bool value) { SetRuleDisabled(value); return *this;} private: Aws::String m_ruleArn; bool m_ruleArnHasBeenSet = false; Aws::String m_ruleName; bool m_ruleNameHasBeenSet = false; Aws::String m_topicPattern; bool m_topicPatternHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; bool m_ruleDisabled; bool m_ruleDisabledHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws