7#include <aws/clouddirectory/CloudDirectory_EXPORTS.h>
8#include <aws/clouddirectory/model/FacetAttributeType.h>
9#include <aws/clouddirectory/model/Rule.h>
10#include <aws/clouddirectory/model/TypedAttributeValue.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
23namespace CloudDirectory {
47 m_typeHasBeenSet =
true;
62 template <
typename DefaultValueT = TypedAttributeValue>
64 m_defaultValueHasBeenSet =
true;
65 m_defaultValue = std::forward<DefaultValueT>(value);
67 template <
typename DefaultValueT = TypedAttributeValue>
81 m_isImmutableHasBeenSet =
true;
82 m_isImmutable = value;
96 template <
typename RulesT = Aws::Map<Aws::String, Rule>>
98 m_rulesHasBeenSet =
true;
99 m_rules = std::forward<RulesT>(value);
101 template <
typename RulesT = Aws::Map<Aws::String, Rule>>
103 SetRules(std::forward<RulesT>(value));
106 template <
typename RulesKeyT = Aws::String,
typename RulesValueT = Rule>
108 m_rulesHasBeenSet =
true;
109 m_rules.emplace(std::forward<RulesKeyT>(key), std::forward<RulesValueT>(value));
116 TypedAttributeValue m_defaultValue;
118 bool m_isImmutable{
false};
121 bool m_typeHasBeenSet =
false;
122 bool m_defaultValueHasBeenSet =
false;
123 bool m_isImmutableHasBeenSet =
false;
124 bool m_rulesHasBeenSet =
false;
FacetAttributeDefinition & WithRules(RulesT &&value)
AWS_CLOUDDIRECTORY_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_CLOUDDIRECTORY_API FacetAttributeDefinition()=default
bool RulesHasBeenSet() const
void SetDefaultValue(DefaultValueT &&value)
FacetAttributeDefinition & AddRules(RulesKeyT &&key, RulesValueT &&value)
FacetAttributeDefinition & WithType(FacetAttributeType value)
AWS_CLOUDDIRECTORY_API FacetAttributeDefinition & operator=(Aws::Utils::Json::JsonView jsonValue)
FacetAttributeDefinition & WithIsImmutable(bool value)
void SetType(FacetAttributeType value)
bool TypeHasBeenSet() const
FacetAttributeType GetType() const
bool GetIsImmutable() const
AWS_CLOUDDIRECTORY_API FacetAttributeDefinition(Aws::Utils::Json::JsonView jsonValue)
void SetRules(RulesT &&value)
void SetIsImmutable(bool value)
const Aws::Map< Aws::String, Rule > & GetRules() const
FacetAttributeDefinition & WithDefaultValue(DefaultValueT &&value)
bool DefaultValueHasBeenSet() const
bool IsImmutableHasBeenSet() const
const TypedAttributeValue & GetDefaultValue() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
Aws::Utils::Json::JsonValue JsonValue