7#include <aws/wafv2/WAFV2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/wafv2/model/VisibilityConfig.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/wafv2/model/Rule.h>
13#include <aws/wafv2/model/CustomResponseBody.h>
14#include <aws/wafv2/model/LabelSummary.h>
57 template<
typename NameT = Aws::String>
58 void SetName(
NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
59 template<
typename NameT = Aws::String>
71 template<
typename IdT = Aws::String>
72 void SetId(
IdT&& value) { m_idHasBeenSet =
true; m_id = std::forward<IdT>(value); }
73 template<
typename IdT = Aws::String>
95 inline void SetCapacity(
long long value) { m_capacityHasBeenSet =
true; m_capacity = value; }
105 template<
typename ARNT = Aws::String>
106 void SetARN(
ARNT&& value) { m_aRNHasBeenSet =
true; m_aRN = std::forward<ARNT>(value); }
107 template<
typename ARNT = Aws::String>
117 template<
typename DescriptionT = Aws::String>
119 template<
typename DescriptionT = Aws::String>
131 template<
typename RulesT = Aws::Vector<Rule>>
132 void SetRules(
RulesT&& value) { m_rulesHasBeenSet =
true; m_rules = std::forward<RulesT>(value); }
133 template<
typename RulesT = Aws::Vector<Rule>>
135 template<
typename RulesT = Rule>
136 RuleGroup&
AddRules(
RulesT&& value) { m_rulesHasBeenSet =
true; m_rules.emplace_back(std::forward<RulesT>(value));
return *
this; }
146 template<
typename VisibilityConfigT = VisibilityConfig>
148 template<
typename VisibilityConfigT = VisibilityConfig>
166 template<
typename LabelNamespaceT = Aws::String>
168 template<
typename LabelNamespaceT = Aws::String>
188 template<
typename CustomResponseBodiesT = Aws::Map<Aws::String, CustomResponseBody>>
190 template<
typename CustomResponseBodiesT = Aws::Map<Aws::String, CustomResponseBody>>
192 template<
typename CustomResponseBodiesKeyT = Aws::String,
typename CustomResponseBodiesValueT = CustomResponseBody>
194 m_customResponseBodiesHasBeenSet =
true; m_customResponseBodies.emplace(std::forward<CustomResponseBodiesKeyT>(
key), std::forward<CustomResponseBodiesValueT>(value));
return *
this;
206 template<
typename AvailableLabelsT = Aws::Vector<LabelSummary>>
208 template<
typename AvailableLabelsT = Aws::Vector<LabelSummary>>
210 template<
typename AvailableLabelsT = LabelSummary>
222 template<
typename ConsumedLabelsT = Aws::Vector<LabelSummary>>
224 template<
typename ConsumedLabelsT = Aws::Vector<LabelSummary>>
226 template<
typename ConsumedLabelsT = LabelSummary>
232 bool m_nameHasBeenSet =
false;
235 bool m_idHasBeenSet =
false;
237 long long m_capacity{0};
238 bool m_capacityHasBeenSet =
false;
241 bool m_aRNHasBeenSet =
false;
244 bool m_descriptionHasBeenSet =
false;
247 bool m_rulesHasBeenSet =
false;
249 VisibilityConfig m_visibilityConfig;
250 bool m_visibilityConfigHasBeenSet =
false;
253 bool m_labelNamespaceHasBeenSet =
false;
256 bool m_customResponseBodiesHasBeenSet =
false;
259 bool m_availableLabelsHasBeenSet =
false;
262 bool m_consumedLabelsHasBeenSet =
false;
void SetRules(RulesT &&value)
RuleGroup & WithAvailableLabels(AvailableLabelsT &&value)
void SetDescription(DescriptionT &&value)
bool NameHasBeenSet() const
RuleGroup & WithDescription(DescriptionT &&value)
RuleGroup & WithVisibilityConfig(VisibilityConfigT &&value)
RuleGroup & WithRules(RulesT &&value)
void SetAvailableLabels(AvailableLabelsT &&value)
AWS_WAFV2_API RuleGroup(Aws::Utils::Json::JsonView jsonValue)
RuleGroup & AddCustomResponseBodies(CustomResponseBodiesKeyT &&key, CustomResponseBodiesValueT &&value)
const Aws::String & GetARN() const
AWS_WAFV2_API RuleGroup()=default
const Aws::String & GetName() const
const VisibilityConfig & GetVisibilityConfig() const
void SetConsumedLabels(ConsumedLabelsT &&value)
RuleGroup & AddRules(RulesT &&value)
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
RuleGroup & AddAvailableLabels(AvailableLabelsT &&value)
const Aws::Vector< Rule > & GetRules() const
const Aws::String & GetId() const
RuleGroup & WithLabelNamespace(LabelNamespaceT &&value)
const Aws::Map< Aws::String, CustomResponseBody > & GetCustomResponseBodies() const
const Aws::Vector< LabelSummary > & GetConsumedLabels() const
bool LabelNamespaceHasBeenSet() const
bool DescriptionHasBeenSet() const
long long GetCapacity() const
bool RulesHasBeenSet() const
const Aws::String & GetDescription() const
RuleGroup & WithCapacity(long long value)
AWS_WAFV2_API RuleGroup & operator=(Aws::Utils::Json::JsonView jsonValue)
RuleGroup & WithConsumedLabels(ConsumedLabelsT &&value)
bool CapacityHasBeenSet() const
void SetName(NameT &&value)
bool CustomResponseBodiesHasBeenSet() const
const Aws::String & GetLabelNamespace() const
void SetCapacity(long long value)
const Aws::Vector< LabelSummary > & GetAvailableLabels() const
RuleGroup & WithId(IdT &&value)
void SetARN(ARNT &&value)
void SetCustomResponseBodies(CustomResponseBodiesT &&value)
RuleGroup & AddConsumedLabels(ConsumedLabelsT &&value)
bool ARNHasBeenSet() const
bool AvailableLabelsHasBeenSet() const
RuleGroup & WithCustomResponseBodies(CustomResponseBodiesT &&value)
void SetLabelNamespace(LabelNamespaceT &&value)
bool ConsumedLabelsHasBeenSet() const
bool IdHasBeenSet() const
RuleGroup & WithARN(ARNT &&value)
bool VisibilityConfigHasBeenSet() const
void SetVisibilityConfig(VisibilityConfigT &&value)
RuleGroup & WithName(NameT &&value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue