/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoT { namespace Model { /** *

Describes a rule.

See Also:

AWS * API Reference

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

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