7#include <aws/clouddirectory/CloudDirectory_EXPORTS.h>
8#include <aws/clouddirectory/model/FacetAttributeType.h>
9#include <aws/clouddirectory/model/TypedAttributeValue.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/clouddirectory/model/Rule.h>
25namespace CloudDirectory
62 template<
typename DefaultValueT = TypedAttributeValue>
63 void SetDefaultValue(DefaultValueT&& value) { m_defaultValueHasBeenSet =
true; m_defaultValue = std::forward<DefaultValueT>(value); }
64 template<
typename DefaultValueT = TypedAttributeValue>
74 inline void SetIsImmutable(
bool value) { m_isImmutableHasBeenSet =
true; m_isImmutable = value; }
84 template<
typename RulesT = Aws::Map<Aws::String, Rule>>
85 void SetRules(RulesT&& value) { m_rulesHasBeenSet =
true; m_rules = std::forward<RulesT>(value); }
86 template<
typename RulesT = Aws::Map<Aws::String, Rule>>
88 template<
typename RulesKeyT = Aws::String,
typename RulesValueT = Rule>
90 m_rulesHasBeenSet =
true; m_rules.emplace(std::forward<RulesKeyT>(key), std::forward<RulesValueT>(value));
return *
this;
96 bool m_typeHasBeenSet =
false;
98 TypedAttributeValue m_defaultValue;
99 bool m_defaultValueHasBeenSet =
false;
101 bool m_isImmutable{
false};
102 bool m_isImmutableHasBeenSet =
false;
105 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