7#include <aws/elasticloadbalancingv2/ElasticLoadBalancingv2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticloadbalancingv2/model/RuleCondition.h>
12#include <aws/elasticloadbalancingv2/model/Action.h>
24namespace ElasticLoadBalancingv2
37 AWS_ELASTICLOADBALANCINGV2_API
Rule() =
default;
41 AWS_ELASTICLOADBALANCINGV2_API
void OutputToStream(
Aws::OStream& ostream,
const char* location,
unsigned index,
const char* locationValue)
const;
51 template<
typename RuleArnT = Aws::String>
52 void SetRuleArn(RuleArnT&& value) { m_ruleArnHasBeenSet =
true; m_ruleArn = std::forward<RuleArnT>(value); }
53 template<
typename RuleArnT = Aws::String>
63 template<
typename PriorityT = Aws::String>
64 void SetPriority(PriorityT&& value) { m_priorityHasBeenSet =
true; m_priority = std::forward<PriorityT>(value); }
65 template<
typename PriorityT = Aws::String>
79 template<
typename ConditionsT = Aws::Vector<RuleCondition>>
80 void SetConditions(ConditionsT&& value) { m_conditionsHasBeenSet =
true; m_conditions = std::forward<ConditionsT>(value); }
81 template<
typename ConditionsT = Aws::Vector<RuleCondition>>
83 template<
typename ConditionsT = RuleCondition>
84 Rule&
AddConditions(ConditionsT&& value) { m_conditionsHasBeenSet =
true; m_conditions.emplace_back(std::forward<ConditionsT>(value));
return *
this; }
95 template<
typename ActionsT = Aws::Vector<Action>>
96 void SetActions(ActionsT&& value) { m_actionsHasBeenSet =
true; m_actions = std::forward<ActionsT>(value); }
97 template<
typename ActionsT = Aws::Vector<Action>>
99 template<
typename ActionsT = Action>
100 Rule&
AddActions(ActionsT&& value) { m_actionsHasBeenSet =
true; m_actions.emplace_back(std::forward<ActionsT>(value));
return *
this; }
109 inline void SetIsDefault(
bool value) { m_isDefaultHasBeenSet =
true; m_isDefault = value; }
115 bool m_ruleArnHasBeenSet =
false;
118 bool m_priorityHasBeenSet =
false;
121 bool m_conditionsHasBeenSet =
false;
124 bool m_actionsHasBeenSet =
false;
126 bool m_isDefault{
false};
127 bool m_isDefaultHasBeenSet =
false;
AWS_ELASTICLOADBALANCINGV2_API Rule(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetActions(ActionsT &&value)
AWS_ELASTICLOADBALANCINGV2_API Rule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
Rule & WithIsDefault(bool value)
Rule & AddConditions(ConditionsT &&value)
bool IsDefaultHasBeenSet() const
AWS_ELASTICLOADBALANCINGV2_API Rule()=default
Rule & AddActions(ActionsT &&value)
void SetIsDefault(bool value)
bool RuleArnHasBeenSet() const
Rule & WithRuleArn(RuleArnT &&value)
bool GetIsDefault() const
const Aws::Vector< Action > & GetActions() const
bool ConditionsHasBeenSet() const
const Aws::Vector< RuleCondition > & GetConditions() const
void SetRuleArn(RuleArnT &&value)
const Aws::String & GetRuleArn() const
Rule & WithActions(ActionsT &&value)
bool ActionsHasBeenSet() const
void SetPriority(PriorityT &&value)
Rule & WithConditions(ConditionsT &&value)
void SetConditions(ConditionsT &&value)
Rule & WithPriority(PriorityT &&value)
const Aws::String & GetPriority() const
AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool PriorityHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream