AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ResourceSharePermissionDetail.h
1
6#pragma once
7#include <aws/ram/RAM_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/ram/model/PermissionType.h>
11#include <aws/ram/model/PermissionFeatureSet.h>
12#include <aws/ram/model/PermissionStatus.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/ram/model/Tag.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace RAM
28{
29namespace Model
30{
31
38 {
39 public:
40 AWS_RAM_API ResourceSharePermissionDetail() = default;
44
45
47
52 inline const Aws::String& GetArn() const { return m_arn; }
53 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
54 template<typename ArnT = Aws::String>
55 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
56 template<typename ArnT = Aws::String>
57 ResourceSharePermissionDetail& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
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) { m_versionHasBeenSet = true; m_version = std::forward<VersionT>(value); }
68 template<typename VersionT = Aws::String>
69 ResourceSharePermissionDetail& WithVersion(VersionT&& value) { SetVersion(std::forward<VersionT>(value)); return *this;}
71
73
77 inline bool GetDefaultVersion() const { return m_defaultVersion; }
78 inline bool DefaultVersionHasBeenSet() const { return m_defaultVersionHasBeenSet; }
79 inline void SetDefaultVersion(bool value) { m_defaultVersionHasBeenSet = true; m_defaultVersion = value; }
80 inline ResourceSharePermissionDetail& WithDefaultVersion(bool value) { SetDefaultVersion(value); return *this;}
82
84
87 inline const Aws::String& GetName() const { return m_name; }
88 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
89 template<typename NameT = Aws::String>
90 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
91 template<typename NameT = Aws::String>
92 ResourceSharePermissionDetail& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
94
96
99 inline const Aws::String& GetResourceType() const { return m_resourceType; }
100 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
101 template<typename ResourceTypeT = Aws::String>
102 void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward<ResourceTypeT>(value); }
103 template<typename ResourceTypeT = Aws::String>
104 ResourceSharePermissionDetail& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward<ResourceTypeT>(value)); return *this;}
106
108
114 inline const Aws::String& GetPermission() const { return m_permission; }
115 inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; }
116 template<typename PermissionT = Aws::String>
117 void SetPermission(PermissionT&& value) { m_permissionHasBeenSet = true; m_permission = std::forward<PermissionT>(value); }
118 template<typename PermissionT = Aws::String>
119 ResourceSharePermissionDetail& WithPermission(PermissionT&& value) { SetPermission(std::forward<PermissionT>(value)); return *this;}
121
123
126 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
127 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
128 template<typename CreationTimeT = Aws::Utils::DateTime>
129 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward<CreationTimeT>(value); }
130 template<typename CreationTimeT = Aws::Utils::DateTime>
131 ResourceSharePermissionDetail& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward<CreationTimeT>(value)); return *this;}
133
135
138 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
139 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
140 template<typename LastUpdatedTimeT = Aws::Utils::DateTime>
141 void SetLastUpdatedTime(LastUpdatedTimeT&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value); }
142 template<typename LastUpdatedTimeT = Aws::Utils::DateTime>
143 ResourceSharePermissionDetail& WithLastUpdatedTime(LastUpdatedTimeT&& value) { SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value)); return *this;}
145
147
151 inline bool GetIsResourceTypeDefault() const { return m_isResourceTypeDefault; }
152 inline bool IsResourceTypeDefaultHasBeenSet() const { return m_isResourceTypeDefaultHasBeenSet; }
153 inline void SetIsResourceTypeDefault(bool value) { m_isResourceTypeDefaultHasBeenSet = true; m_isResourceTypeDefault = value; }
156
158
167 inline PermissionType GetPermissionType() const { return m_permissionType; }
168 inline bool PermissionTypeHasBeenSet() const { return m_permissionTypeHasBeenSet; }
169 inline void SetPermissionType(PermissionType value) { m_permissionTypeHasBeenSet = true; m_permissionType = value; }
172
174
194 inline PermissionFeatureSet GetFeatureSet() const { return m_featureSet; }
195 inline bool FeatureSetHasBeenSet() const { return m_featureSetHasBeenSet; }
196 inline void SetFeatureSet(PermissionFeatureSet value) { m_featureSetHasBeenSet = true; m_featureSet = value; }
199
201
211 inline PermissionStatus GetStatus() const { return m_status; }
212 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
213 inline void SetStatus(PermissionStatus value) { m_statusHasBeenSet = true; m_status = value; }
216
218
221 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
222 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
223 template<typename TagsT = Aws::Vector<Tag>>
224 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
225 template<typename TagsT = Aws::Vector<Tag>>
226 ResourceSharePermissionDetail& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
227 template<typename TagsT = Tag>
228 ResourceSharePermissionDetail& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
230 private:
231
232 Aws::String m_arn;
233 bool m_arnHasBeenSet = false;
234
235 Aws::String m_version;
236 bool m_versionHasBeenSet = false;
237
238 bool m_defaultVersion{false};
239 bool m_defaultVersionHasBeenSet = false;
240
241 Aws::String m_name;
242 bool m_nameHasBeenSet = false;
243
244 Aws::String m_resourceType;
245 bool m_resourceTypeHasBeenSet = false;
246
247 Aws::String m_permission;
248 bool m_permissionHasBeenSet = false;
249
250 Aws::Utils::DateTime m_creationTime{};
251 bool m_creationTimeHasBeenSet = false;
252
253 Aws::Utils::DateTime m_lastUpdatedTime{};
254 bool m_lastUpdatedTimeHasBeenSet = false;
255
256 bool m_isResourceTypeDefault{false};
257 bool m_isResourceTypeDefaultHasBeenSet = false;
258
259 PermissionType m_permissionType{PermissionType::NOT_SET};
260 bool m_permissionTypeHasBeenSet = false;
261
263 bool m_featureSetHasBeenSet = false;
264
266 bool m_statusHasBeenSet = false;
267
268 Aws::Vector<Tag> m_tags;
269 bool m_tagsHasBeenSet = false;
270 };
271
272} // namespace Model
273} // namespace RAM
274} // 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