AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
EntityItem.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/verifiedpermissions/VerifiedPermissions_EXPORTS.h>
11#include <aws/verifiedpermissions/model/AttributeValue.h>
12#include <aws/verifiedpermissions/model/CedarTagValue.h>
13#include <aws/verifiedpermissions/model/EntityIdentifier.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace VerifiedPermissions {
25namespace Model {
26
38 public:
39 AWS_VERIFIEDPERMISSIONS_API EntityItem() = default;
40 AWS_VERIFIEDPERMISSIONS_API EntityItem(Aws::Utils::Json::JsonView jsonValue);
41 AWS_VERIFIEDPERMISSIONS_API EntityItem& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const;
43
45
48 inline const EntityIdentifier& GetIdentifier() const { return m_identifier; }
49 inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; }
50 template <typename IdentifierT = EntityIdentifier>
51 void SetIdentifier(IdentifierT&& value) {
52 m_identifierHasBeenSet = true;
53 m_identifier = std::forward<IdentifierT>(value);
54 }
55 template <typename IdentifierT = EntityIdentifier>
56 EntityItem& WithIdentifier(IdentifierT&& value) {
57 SetIdentifier(std::forward<IdentifierT>(value));
58 return *this;
59 }
61
63
66 inline const Aws::Map<Aws::String, AttributeValue>& GetAttributes() const { return m_attributes; }
67 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
68 template <typename AttributesT = Aws::Map<Aws::String, AttributeValue>>
69 void SetAttributes(AttributesT&& value) {
70 m_attributesHasBeenSet = true;
71 m_attributes = std::forward<AttributesT>(value);
72 }
73 template <typename AttributesT = Aws::Map<Aws::String, AttributeValue>>
74 EntityItem& WithAttributes(AttributesT&& value) {
75 SetAttributes(std::forward<AttributesT>(value));
76 return *this;
77 }
78 template <typename AttributesKeyT = Aws::String, typename AttributesValueT = AttributeValue>
79 EntityItem& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
80 m_attributesHasBeenSet = true;
81 m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
82 return *this;
83 }
85
87
96 inline const Aws::Vector<EntityIdentifier>& GetParents() const { return m_parents; }
97 inline bool ParentsHasBeenSet() const { return m_parentsHasBeenSet; }
98 template <typename ParentsT = Aws::Vector<EntityIdentifier>>
99 void SetParents(ParentsT&& value) {
100 m_parentsHasBeenSet = true;
101 m_parents = std::forward<ParentsT>(value);
102 }
103 template <typename ParentsT = Aws::Vector<EntityIdentifier>>
104 EntityItem& WithParents(ParentsT&& value) {
105 SetParents(std::forward<ParentsT>(value));
106 return *this;
107 }
108 template <typename ParentsT = EntityIdentifier>
109 EntityItem& AddParents(ParentsT&& value) {
110 m_parentsHasBeenSet = true;
111 m_parents.emplace_back(std::forward<ParentsT>(value));
112 return *this;
113 }
115
117
120 inline const Aws::Map<Aws::String, CedarTagValue>& GetTags() const { return m_tags; }
121 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
122 template <typename TagsT = Aws::Map<Aws::String, CedarTagValue>>
123 void SetTags(TagsT&& value) {
124 m_tagsHasBeenSet = true;
125 m_tags = std::forward<TagsT>(value);
126 }
127 template <typename TagsT = Aws::Map<Aws::String, CedarTagValue>>
128 EntityItem& WithTags(TagsT&& value) {
129 SetTags(std::forward<TagsT>(value));
130 return *this;
131 }
132 template <typename TagsKeyT = Aws::String, typename TagsValueT = CedarTagValue>
133 EntityItem& AddTags(TagsKeyT&& key, TagsValueT&& value) {
134 m_tagsHasBeenSet = true;
135 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
136 return *this;
137 }
139 private:
140 EntityIdentifier m_identifier;
141
143
145
147 bool m_identifierHasBeenSet = false;
148 bool m_attributesHasBeenSet = false;
149 bool m_parentsHasBeenSet = false;
150 bool m_tagsHasBeenSet = false;
151};
152
153} // namespace Model
154} // namespace VerifiedPermissions
155} // namespace Aws
AWS_VERIFIEDPERMISSIONS_API EntityItem()=default
AWS_VERIFIEDPERMISSIONS_API EntityItem & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetIdentifier(IdentifierT &&value)
Definition EntityItem.h:51
AWS_VERIFIEDPERMISSIONS_API EntityItem(Aws::Utils::Json::JsonView jsonValue)
EntityItem & WithParents(ParentsT &&value)
Definition EntityItem.h:104
void SetAttributes(AttributesT &&value)
Definition EntityItem.h:69
const Aws::Map< Aws::String, AttributeValue > & GetAttributes() const
Definition EntityItem.h:66
const EntityIdentifier & GetIdentifier() const
Definition EntityItem.h:48
EntityItem & WithIdentifier(IdentifierT &&value)
Definition EntityItem.h:56
const Aws::Map< Aws::String, CedarTagValue > & GetTags() const
Definition EntityItem.h:120
AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const
EntityItem & WithTags(TagsT &&value)
Definition EntityItem.h:128
EntityItem & WithAttributes(AttributesT &&value)
Definition EntityItem.h:74
const Aws::Vector< EntityIdentifier > & GetParents() const
Definition EntityItem.h:96
EntityItem & AddParents(ParentsT &&value)
Definition EntityItem.h:109
EntityItem & AddTags(TagsKeyT &&key, TagsValueT &&value)
Definition EntityItem.h:133
EntityItem & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
Definition EntityItem.h:79
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue