AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
FacetAttributeDefinition.h
1
6#pragma once
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>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace CloudDirectory
26{
27namespace Model
28{
29
38 {
39 public:
40 AWS_CLOUDDIRECTORY_API FacetAttributeDefinition() = default;
41 AWS_CLOUDDIRECTORY_API FacetAttributeDefinition(Aws::Utils::Json::JsonView jsonValue);
43 AWS_CLOUDDIRECTORY_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline FacetAttributeType GetType() const { return m_type; }
51 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
52 inline void SetType(FacetAttributeType value) { m_typeHasBeenSet = true; m_type = value; }
53 inline FacetAttributeDefinition& WithType(FacetAttributeType value) { SetType(value); return *this;}
55
57
60 inline const TypedAttributeValue& GetDefaultValue() const { return m_defaultValue; }
61 inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; }
62 template<typename DefaultValueT = TypedAttributeValue>
63 void SetDefaultValue(DefaultValueT&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::forward<DefaultValueT>(value); }
64 template<typename DefaultValueT = TypedAttributeValue>
65 FacetAttributeDefinition& WithDefaultValue(DefaultValueT&& value) { SetDefaultValue(std::forward<DefaultValueT>(value)); return *this;}
67
69
72 inline bool GetIsImmutable() const { return m_isImmutable; }
73 inline bool IsImmutableHasBeenSet() const { return m_isImmutableHasBeenSet; }
74 inline void SetIsImmutable(bool value) { m_isImmutableHasBeenSet = true; m_isImmutable = value; }
75 inline FacetAttributeDefinition& WithIsImmutable(bool value) { SetIsImmutable(value); return *this;}
77
79
82 inline const Aws::Map<Aws::String, Rule>& GetRules() const { return m_rules; }
83 inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; }
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>>
87 FacetAttributeDefinition& WithRules(RulesT&& value) { SetRules(std::forward<RulesT>(value)); return *this;}
88 template<typename RulesKeyT = Aws::String, typename RulesValueT = Rule>
89 FacetAttributeDefinition& AddRules(RulesKeyT&& key, RulesValueT&& value) {
90 m_rulesHasBeenSet = true; m_rules.emplace(std::forward<RulesKeyT>(key), std::forward<RulesValueT>(value)); return *this;
91 }
93 private:
94
96 bool m_typeHasBeenSet = false;
97
98 TypedAttributeValue m_defaultValue;
99 bool m_defaultValueHasBeenSet = false;
100
101 bool m_isImmutable{false};
102 bool m_isImmutableHasBeenSet = false;
103
105 bool m_rulesHasBeenSet = false;
106 };
107
108} // namespace Model
109} // namespace CloudDirectory
110} // namespace Aws
FacetAttributeDefinition & WithRules(RulesT &&value)
AWS_CLOUDDIRECTORY_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_CLOUDDIRECTORY_API FacetAttributeDefinition()=default
FacetAttributeDefinition & AddRules(RulesKeyT &&key, RulesValueT &&value)
FacetAttributeDefinition & WithType(FacetAttributeType value)
AWS_CLOUDDIRECTORY_API FacetAttributeDefinition & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_CLOUDDIRECTORY_API FacetAttributeDefinition(Aws::Utils::Json::JsonView jsonValue)
const Aws::Map< Aws::String, Rule > & GetRules() const
FacetAttributeDefinition & WithDefaultValue(DefaultValueT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
Aws::Utils::Json::JsonValue JsonValue