AWS SDK for C++

AWS SDK for C++ Version 1.11.709

Loading...
Searching...
No Matches
ResourceSharePermissionDetail.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ram/RAM_EXPORTS.h>
11#include <aws/ram/model/PermissionFeatureSet.h>
12#include <aws/ram/model/PermissionStatus.h>
13#include <aws/ram/model/PermissionType.h>
14#include <aws/ram/model/Tag.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace RAM {
26namespace Model {
27
34 public:
35 AWS_RAM_API ResourceSharePermissionDetail() = default;
39
41
46 inline const Aws::String& GetArn() const { return m_arn; }
47 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
48 template <typename ArnT = Aws::String>
49 void SetArn(ArnT&& value) {
50 m_arnHasBeenSet = true;
51 m_arn = std::forward<ArnT>(value);
52 }
53 template <typename ArnT = Aws::String>
55 SetArn(std::forward<ArnT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetVersion() const { return m_version; }
65 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
66 template <typename VersionT = Aws::String>
67 void SetVersion(VersionT&& value) {
68 m_versionHasBeenSet = true;
69 m_version = std::forward<VersionT>(value);
70 }
71 template <typename VersionT = Aws::String>
73 SetVersion(std::forward<VersionT>(value));
74 return *this;
75 }
77
79
83 inline bool GetDefaultVersion() const { return m_defaultVersion; }
84 inline bool DefaultVersionHasBeenSet() const { return m_defaultVersionHasBeenSet; }
85 inline void SetDefaultVersion(bool value) {
86 m_defaultVersionHasBeenSet = true;
87 m_defaultVersion = value;
88 }
90 SetDefaultVersion(value);
91 return *this;
92 }
94
96
99 inline const Aws::String& GetName() const { return m_name; }
100 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
101 template <typename NameT = Aws::String>
102 void SetName(NameT&& value) {
103 m_nameHasBeenSet = true;
104 m_name = std::forward<NameT>(value);
105 }
106 template <typename NameT = Aws::String>
108 SetName(std::forward<NameT>(value));
109 return *this;
110 }
112
114
117 inline const Aws::String& GetResourceType() const { return m_resourceType; }
118 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
119 template <typename ResourceTypeT = Aws::String>
120 void SetResourceType(ResourceTypeT&& value) {
121 m_resourceTypeHasBeenSet = true;
122 m_resourceType = std::forward<ResourceTypeT>(value);
123 }
124 template <typename ResourceTypeT = Aws::String>
126 SetResourceType(std::forward<ResourceTypeT>(value));
127 return *this;
128 }
130
132
138 inline const Aws::String& GetPermission() const { return m_permission; }
139 inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; }
140 template <typename PermissionT = Aws::String>
141 void SetPermission(PermissionT&& value) {
142 m_permissionHasBeenSet = true;
143 m_permission = std::forward<PermissionT>(value);
144 }
145 template <typename PermissionT = Aws::String>
147 SetPermission(std::forward<PermissionT>(value));
148 return *this;
149 }
151
153
156 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
157 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
158 template <typename CreationTimeT = Aws::Utils::DateTime>
159 void SetCreationTime(CreationTimeT&& value) {
160 m_creationTimeHasBeenSet = true;
161 m_creationTime = std::forward<CreationTimeT>(value);
162 }
163 template <typename CreationTimeT = Aws::Utils::DateTime>
165 SetCreationTime(std::forward<CreationTimeT>(value));
166 return *this;
167 }
169
171
174 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
175 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
176 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
177 void SetLastUpdatedTime(LastUpdatedTimeT&& value) {
178 m_lastUpdatedTimeHasBeenSet = true;
179 m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value);
180 }
181 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
183 SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value));
184 return *this;
185 }
187
189
193 inline bool GetIsResourceTypeDefault() const { return m_isResourceTypeDefault; }
194 inline bool IsResourceTypeDefaultHasBeenSet() const { return m_isResourceTypeDefaultHasBeenSet; }
195 inline void SetIsResourceTypeDefault(bool value) {
196 m_isResourceTypeDefaultHasBeenSet = true;
197 m_isResourceTypeDefault = value;
198 }
201 return *this;
202 }
204
206
215 inline PermissionType GetPermissionType() const { return m_permissionType; }
216 inline bool PermissionTypeHasBeenSet() const { return m_permissionTypeHasBeenSet; }
218 m_permissionTypeHasBeenSet = true;
219 m_permissionType = value;
220 }
222 SetPermissionType(value);
223 return *this;
224 }
226
228
248 inline PermissionFeatureSet GetFeatureSet() const { return m_featureSet; }
249 inline bool FeatureSetHasBeenSet() const { return m_featureSetHasBeenSet; }
251 m_featureSetHasBeenSet = true;
252 m_featureSet = value;
253 }
255 SetFeatureSet(value);
256 return *this;
257 }
259
261
271 inline PermissionStatus GetStatus() const { return m_status; }
272 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
273 inline void SetStatus(PermissionStatus value) {
274 m_statusHasBeenSet = true;
275 m_status = value;
276 }
278 SetStatus(value);
279 return *this;
280 }
282
284
287 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
288 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
289 template <typename TagsT = Aws::Vector<Tag>>
290 void SetTags(TagsT&& value) {
291 m_tagsHasBeenSet = true;
292 m_tags = std::forward<TagsT>(value);
293 }
294 template <typename TagsT = Aws::Vector<Tag>>
296 SetTags(std::forward<TagsT>(value));
297 return *this;
298 }
299 template <typename TagsT = Tag>
301 m_tagsHasBeenSet = true;
302 m_tags.emplace_back(std::forward<TagsT>(value));
303 return *this;
304 }
306 private:
307 Aws::String m_arn;
308
309 Aws::String m_version;
310
311 bool m_defaultVersion{false};
312
313 Aws::String m_name;
314
315 Aws::String m_resourceType;
316
317 Aws::String m_permission;
318
319 Aws::Utils::DateTime m_creationTime{};
320
321 Aws::Utils::DateTime m_lastUpdatedTime{};
322
323 bool m_isResourceTypeDefault{false};
324
325 PermissionType m_permissionType{PermissionType::NOT_SET};
326
328
330
331 Aws::Vector<Tag> m_tags;
332 bool m_arnHasBeenSet = false;
333 bool m_versionHasBeenSet = false;
334 bool m_defaultVersionHasBeenSet = false;
335 bool m_nameHasBeenSet = false;
336 bool m_resourceTypeHasBeenSet = false;
337 bool m_permissionHasBeenSet = false;
338 bool m_creationTimeHasBeenSet = false;
339 bool m_lastUpdatedTimeHasBeenSet = false;
340 bool m_isResourceTypeDefaultHasBeenSet = false;
341 bool m_permissionTypeHasBeenSet = false;
342 bool m_featureSetHasBeenSet = false;
343 bool m_statusHasBeenSet = false;
344 bool m_tagsHasBeenSet = false;
345};
346
347} // namespace Model
348} // namespace RAM
349} // namespace Aws
ResourceSharePermissionDetail & WithName(NameT &&value)
ResourceSharePermissionDetail & WithPermissionType(PermissionType value)
ResourceSharePermissionDetail & AddTags(TagsT &&value)
ResourceSharePermissionDetail & WithCreationTime(CreationTimeT &&value)
ResourceSharePermissionDetail & WithFeatureSet(PermissionFeatureSet value)
AWS_RAM_API ResourceSharePermissionDetail(Aws::Utils::Json::JsonView jsonValue)
ResourceSharePermissionDetail & WithStatus(PermissionStatus value)
ResourceSharePermissionDetail & WithResourceType(ResourceTypeT &&value)
ResourceSharePermissionDetail & WithLastUpdatedTime(LastUpdatedTimeT &&value)
ResourceSharePermissionDetail & WithArn(ArnT &&value)
AWS_RAM_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_RAM_API ResourceSharePermissionDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
ResourceSharePermissionDetail & WithPermission(PermissionT &&value)
ResourceSharePermissionDetail & WithTags(TagsT &&value)
ResourceSharePermissionDetail & WithVersion(VersionT &&value)
ResourceSharePermissionDetail & WithIsResourceTypeDefault(bool value)
ResourceSharePermissionDetail & WithDefaultVersion(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue