7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/crt/cbor/Cbor.h>
10#include <aws/mailmanager/MailManager_EXPORTS.h>
11#include <aws/mailmanager/model/RuleAction.h>
12#include <aws/mailmanager/model/RuleCondition.h>
22namespace MailManager {
38 AWS_MAILMANAGER_API
Rule() =
default;
39 AWS_MAILMANAGER_API
Rule(
const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
40 AWS_MAILMANAGER_API
Rule&
operator=(
const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
41 AWS_MAILMANAGER_API
void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder)
const;
49 template <
typename NameT = Aws::String>
51 m_nameHasBeenSet =
true;
52 m_name = std::forward<NameT>(value);
54 template <
typename NameT = Aws::String>
56 SetName(std::forward<NameT>(value));
69 template <
typename ConditionsT = Aws::Vector<RuleCondition>>
71 m_conditionsHasBeenSet =
true;
72 m_conditions = std::forward<ConditionsT>(value);
74 template <
typename ConditionsT = Aws::Vector<RuleCondition>>
79 template <
typename ConditionsT = RuleCondition>
81 m_conditionsHasBeenSet =
true;
82 m_conditions.emplace_back(std::forward<ConditionsT>(value));
95 template <
typename UnlessT = Aws::Vector<RuleCondition>>
97 m_unlessHasBeenSet =
true;
98 m_unless = std::forward<UnlessT>(value);
100 template <
typename UnlessT = Aws::Vector<RuleCondition>>
105 template <
typename UnlessT = RuleCondition>
107 m_unlessHasBeenSet =
true;
108 m_unless.emplace_back(std::forward<UnlessT>(value));
120 template <
typename ActionsT = Aws::Vector<RuleAction>>
122 m_actionsHasBeenSet =
true;
123 m_actions = std::forward<ActionsT>(value);
125 template <
typename ActionsT = Aws::Vector<RuleAction>>
130 template <
typename ActionsT = RuleAction>
132 m_actionsHasBeenSet =
true;
133 m_actions.emplace_back(std::forward<ActionsT>(value));
145 bool m_nameHasBeenSet =
false;
146 bool m_conditionsHasBeenSet =
false;
147 bool m_unlessHasBeenSet =
false;
148 bool m_actionsHasBeenSet =
false;
Rule & WithConditions(ConditionsT &&value)
Rule & WithUnless(UnlessT &&value)
const Aws::Vector< RuleCondition > & GetConditions() const
const Aws::Vector< RuleAction > & GetActions() const
const Aws::String & GetName() const
AWS_MAILMANAGER_API Rule & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
void SetUnless(UnlessT &&value)
AWS_MAILMANAGER_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const
void SetName(NameT &&value)
AWS_MAILMANAGER_API Rule(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
Rule & AddConditions(ConditionsT &&value)
Rule & AddUnless(UnlessT &&value)
const Aws::Vector< RuleCondition > & GetUnless() const
void SetActions(ActionsT &&value)
bool ActionsHasBeenSet() const
Rule & WithActions(ActionsT &&value)
Rule & AddActions(ActionsT &&value)
bool NameHasBeenSet() const
bool ConditionsHasBeenSet() const
AWS_MAILMANAGER_API Rule()=default
bool UnlessHasBeenSet() const
Rule & WithName(NameT &&value)
void SetConditions(ConditionsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector