AWS SDK for C++

AWS SDK for C++ Version 1.11.780

Loading...
Searching...
No Matches
ResourceShare.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/ResourceShareConfiguration.h>
12#include <aws/ram/model/ResourceShareFeatureSet.h>
13#include <aws/ram/model/ResourceShareStatus.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 ResourceShare() = default;
39
41
46 inline const Aws::String& GetResourceShareArn() const { return m_resourceShareArn; }
47 inline bool ResourceShareArnHasBeenSet() const { return m_resourceShareArnHasBeenSet; }
48 template <typename ResourceShareArnT = Aws::String>
49 void SetResourceShareArn(ResourceShareArnT&& value) {
50 m_resourceShareArnHasBeenSet = true;
51 m_resourceShareArn = std::forward<ResourceShareArnT>(value);
52 }
53 template <typename ResourceShareArnT = Aws::String>
54 ResourceShare& WithResourceShareArn(ResourceShareArnT&& value) {
55 SetResourceShareArn(std::forward<ResourceShareArnT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetName() const { return m_name; }
65 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
66 template <typename NameT = Aws::String>
67 void SetName(NameT&& value) {
68 m_nameHasBeenSet = true;
69 m_name = std::forward<NameT>(value);
70 }
71 template <typename NameT = Aws::String>
72 ResourceShare& WithName(NameT&& value) {
73 SetName(std::forward<NameT>(value));
74 return *this;
75 }
77
79
82 inline const Aws::String& GetOwningAccountId() const { return m_owningAccountId; }
83 inline bool OwningAccountIdHasBeenSet() const { return m_owningAccountIdHasBeenSet; }
84 template <typename OwningAccountIdT = Aws::String>
85 void SetOwningAccountId(OwningAccountIdT&& value) {
86 m_owningAccountIdHasBeenSet = true;
87 m_owningAccountId = std::forward<OwningAccountIdT>(value);
88 }
89 template <typename OwningAccountIdT = Aws::String>
90 ResourceShare& WithOwningAccountId(OwningAccountIdT&& value) {
91 SetOwningAccountId(std::forward<OwningAccountIdT>(value));
92 return *this;
93 }
95
97
105 inline bool GetAllowExternalPrincipals() const { return m_allowExternalPrincipals; }
106 inline bool AllowExternalPrincipalsHasBeenSet() const { return m_allowExternalPrincipalsHasBeenSet; }
107 inline void SetAllowExternalPrincipals(bool value) {
108 m_allowExternalPrincipalsHasBeenSet = true;
109 m_allowExternalPrincipals = value;
110 }
113 return *this;
114 }
116
118
121 inline ResourceShareStatus GetStatus() const { return m_status; }
122 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
123 inline void SetStatus(ResourceShareStatus value) {
124 m_statusHasBeenSet = true;
125 m_status = value;
126 }
128 SetStatus(value);
129 return *this;
130 }
132
134
137 inline const Aws::String& GetStatusMessage() const { return m_statusMessage; }
138 inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; }
139 template <typename StatusMessageT = Aws::String>
140 void SetStatusMessage(StatusMessageT&& value) {
141 m_statusMessageHasBeenSet = true;
142 m_statusMessage = std::forward<StatusMessageT>(value);
143 }
144 template <typename StatusMessageT = Aws::String>
145 ResourceShare& WithStatusMessage(StatusMessageT&& value) {
146 SetStatusMessage(std::forward<StatusMessageT>(value));
147 return *this;
148 }
150
152
155 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
156 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
157 template <typename TagsT = Aws::Vector<Tag>>
158 void SetTags(TagsT&& value) {
159 m_tagsHasBeenSet = true;
160 m_tags = std::forward<TagsT>(value);
161 }
162 template <typename TagsT = Aws::Vector<Tag>>
163 ResourceShare& WithTags(TagsT&& value) {
164 SetTags(std::forward<TagsT>(value));
165 return *this;
166 }
167 template <typename TagsT = Tag>
168 ResourceShare& AddTags(TagsT&& value) {
169 m_tagsHasBeenSet = true;
170 m_tags.emplace_back(std::forward<TagsT>(value));
171 return *this;
172 }
174
176
179 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
180 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
181 template <typename CreationTimeT = Aws::Utils::DateTime>
182 void SetCreationTime(CreationTimeT&& value) {
183 m_creationTimeHasBeenSet = true;
184 m_creationTime = std::forward<CreationTimeT>(value);
185 }
186 template <typename CreationTimeT = Aws::Utils::DateTime>
187 ResourceShare& WithCreationTime(CreationTimeT&& value) {
188 SetCreationTime(std::forward<CreationTimeT>(value));
189 return *this;
190 }
192
194
197 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
198 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
199 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
200 void SetLastUpdatedTime(LastUpdatedTimeT&& value) {
201 m_lastUpdatedTimeHasBeenSet = true;
202 m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value);
203 }
204 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
205 ResourceShare& WithLastUpdatedTime(LastUpdatedTimeT&& value) {
206 SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value));
207 return *this;
208 }
210
212
232 inline ResourceShareFeatureSet GetFeatureSet() const { return m_featureSet; }
233 inline bool FeatureSetHasBeenSet() const { return m_featureSetHasBeenSet; }
235 m_featureSetHasBeenSet = true;
236 m_featureSet = value;
237 }
239 SetFeatureSet(value);
240 return *this;
241 }
243
245
248 inline const ResourceShareConfiguration& GetResourceShareConfiguration() const { return m_resourceShareConfiguration; }
249 inline bool ResourceShareConfigurationHasBeenSet() const { return m_resourceShareConfigurationHasBeenSet; }
250 template <typename ResourceShareConfigurationT = ResourceShareConfiguration>
251 void SetResourceShareConfiguration(ResourceShareConfigurationT&& value) {
252 m_resourceShareConfigurationHasBeenSet = true;
253 m_resourceShareConfiguration = std::forward<ResourceShareConfigurationT>(value);
254 }
255 template <typename ResourceShareConfigurationT = ResourceShareConfiguration>
256 ResourceShare& WithResourceShareConfiguration(ResourceShareConfigurationT&& value) {
257 SetResourceShareConfiguration(std::forward<ResourceShareConfigurationT>(value));
258 return *this;
259 }
261 private:
262 Aws::String m_resourceShareArn;
263
264 Aws::String m_name;
265
266 Aws::String m_owningAccountId;
267
268 bool m_allowExternalPrincipals{false};
269
271
272 Aws::String m_statusMessage;
273
274 Aws::Vector<Tag> m_tags;
275
276 Aws::Utils::DateTime m_creationTime{};
277
278 Aws::Utils::DateTime m_lastUpdatedTime{};
279
281
282 ResourceShareConfiguration m_resourceShareConfiguration;
283 bool m_resourceShareArnHasBeenSet = false;
284 bool m_nameHasBeenSet = false;
285 bool m_owningAccountIdHasBeenSet = false;
286 bool m_allowExternalPrincipalsHasBeenSet = false;
287 bool m_statusHasBeenSet = false;
288 bool m_statusMessageHasBeenSet = false;
289 bool m_tagsHasBeenSet = false;
290 bool m_creationTimeHasBeenSet = false;
291 bool m_lastUpdatedTimeHasBeenSet = false;
292 bool m_featureSetHasBeenSet = false;
293 bool m_resourceShareConfigurationHasBeenSet = false;
294};
295
296} // namespace Model
297} // namespace RAM
298} // namespace Aws
void SetStatusMessage(StatusMessageT &&value)
void SetName(NameT &&value)
void SetOwningAccountId(OwningAccountIdT &&value)
void SetCreationTime(CreationTimeT &&value)
const Aws::String & GetOwningAccountId() const
ResourceShare & WithAllowExternalPrincipals(bool value)
ResourceShare & WithStatusMessage(StatusMessageT &&value)
void SetStatus(ResourceShareStatus value)
void SetResourceShareArn(ResourceShareArnT &&value)
const Aws::String & GetResourceShareArn() const
AWS_RAM_API ResourceShare(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetCreationTime() const
ResourceShare & WithCreationTime(CreationTimeT &&value)
bool AllowExternalPrincipalsHasBeenSet() const
void SetResourceShareConfiguration(ResourceShareConfigurationT &&value)
ResourceShareFeatureSet GetFeatureSet() const
AWS_RAM_API ResourceShare & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetStatusMessage() const
ResourceShare & WithResourceShareArn(ResourceShareArnT &&value)
ResourceShare & WithResourceShareConfiguration(ResourceShareConfigurationT &&value)
ResourceShare & WithName(NameT &&value)
bool ResourceShareConfigurationHasBeenSet() const
ResourceShare & WithStatus(ResourceShareStatus value)
AWS_RAM_API Aws::Utils::Json::JsonValue Jsonize() const
ResourceShare & WithTags(TagsT &&value)
const Aws::String & GetName() const
void SetAllowExternalPrincipals(bool value)
ResourceShare & AddTags(TagsT &&value)
const Aws::Vector< Tag > & GetTags() const
void SetFeatureSet(ResourceShareFeatureSet value)
const ResourceShareConfiguration & GetResourceShareConfiguration() const
AWS_RAM_API ResourceShare()=default
const Aws::Utils::DateTime & GetLastUpdatedTime() const
ResourceShare & WithOwningAccountId(OwningAccountIdT &&value)
ResourceShareStatus GetStatus() const
ResourceShare & WithFeatureSet(ResourceShareFeatureSet value)
void SetLastUpdatedTime(LastUpdatedTimeT &&value)
ResourceShare & WithLastUpdatedTime(LastUpdatedTimeT &&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