AWS SDK for C++

AWS SDK for C++ Version 1.11.709

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/ResourceShareFeatureSet.h>
12#include <aws/ram/model/ResourceShareStatus.h>
13#include <aws/ram/model/Tag.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace RAM {
25namespace Model {
26
33 public:
34 AWS_RAM_API ResourceShare() = default;
38
40
45 inline const Aws::String& GetResourceShareArn() const { return m_resourceShareArn; }
46 inline bool ResourceShareArnHasBeenSet() const { return m_resourceShareArnHasBeenSet; }
47 template <typename ResourceShareArnT = Aws::String>
48 void SetResourceShareArn(ResourceShareArnT&& value) {
49 m_resourceShareArnHasBeenSet = true;
50 m_resourceShareArn = std::forward<ResourceShareArnT>(value);
51 }
52 template <typename ResourceShareArnT = Aws::String>
53 ResourceShare& WithResourceShareArn(ResourceShareArnT&& value) {
54 SetResourceShareArn(std::forward<ResourceShareArnT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetName() const { return m_name; }
64 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
65 template <typename NameT = Aws::String>
66 void SetName(NameT&& value) {
67 m_nameHasBeenSet = true;
68 m_name = std::forward<NameT>(value);
69 }
70 template <typename NameT = Aws::String>
71 ResourceShare& WithName(NameT&& value) {
72 SetName(std::forward<NameT>(value));
73 return *this;
74 }
76
78
81 inline const Aws::String& GetOwningAccountId() const { return m_owningAccountId; }
82 inline bool OwningAccountIdHasBeenSet() const { return m_owningAccountIdHasBeenSet; }
83 template <typename OwningAccountIdT = Aws::String>
84 void SetOwningAccountId(OwningAccountIdT&& value) {
85 m_owningAccountIdHasBeenSet = true;
86 m_owningAccountId = std::forward<OwningAccountIdT>(value);
87 }
88 template <typename OwningAccountIdT = Aws::String>
89 ResourceShare& WithOwningAccountId(OwningAccountIdT&& value) {
90 SetOwningAccountId(std::forward<OwningAccountIdT>(value));
91 return *this;
92 }
94
96
104 inline bool GetAllowExternalPrincipals() const { return m_allowExternalPrincipals; }
105 inline bool AllowExternalPrincipalsHasBeenSet() const { return m_allowExternalPrincipalsHasBeenSet; }
106 inline void SetAllowExternalPrincipals(bool value) {
107 m_allowExternalPrincipalsHasBeenSet = true;
108 m_allowExternalPrincipals = value;
109 }
112 return *this;
113 }
115
117
120 inline ResourceShareStatus GetStatus() const { return m_status; }
121 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
122 inline void SetStatus(ResourceShareStatus value) {
123 m_statusHasBeenSet = true;
124 m_status = value;
125 }
127 SetStatus(value);
128 return *this;
129 }
131
133
136 inline const Aws::String& GetStatusMessage() const { return m_statusMessage; }
137 inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; }
138 template <typename StatusMessageT = Aws::String>
139 void SetStatusMessage(StatusMessageT&& value) {
140 m_statusMessageHasBeenSet = true;
141 m_statusMessage = std::forward<StatusMessageT>(value);
142 }
143 template <typename StatusMessageT = Aws::String>
144 ResourceShare& WithStatusMessage(StatusMessageT&& value) {
145 SetStatusMessage(std::forward<StatusMessageT>(value));
146 return *this;
147 }
149
151
154 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
155 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
156 template <typename TagsT = Aws::Vector<Tag>>
157 void SetTags(TagsT&& value) {
158 m_tagsHasBeenSet = true;
159 m_tags = std::forward<TagsT>(value);
160 }
161 template <typename TagsT = Aws::Vector<Tag>>
162 ResourceShare& WithTags(TagsT&& value) {
163 SetTags(std::forward<TagsT>(value));
164 return *this;
165 }
166 template <typename TagsT = Tag>
167 ResourceShare& AddTags(TagsT&& value) {
168 m_tagsHasBeenSet = true;
169 m_tags.emplace_back(std::forward<TagsT>(value));
170 return *this;
171 }
173
175
178 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
179 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
180 template <typename CreationTimeT = Aws::Utils::DateTime>
181 void SetCreationTime(CreationTimeT&& value) {
182 m_creationTimeHasBeenSet = true;
183 m_creationTime = std::forward<CreationTimeT>(value);
184 }
185 template <typename CreationTimeT = Aws::Utils::DateTime>
186 ResourceShare& WithCreationTime(CreationTimeT&& value) {
187 SetCreationTime(std::forward<CreationTimeT>(value));
188 return *this;
189 }
191
193
196 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
197 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
198 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
199 void SetLastUpdatedTime(LastUpdatedTimeT&& value) {
200 m_lastUpdatedTimeHasBeenSet = true;
201 m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value);
202 }
203 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
204 ResourceShare& WithLastUpdatedTime(LastUpdatedTimeT&& value) {
205 SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value));
206 return *this;
207 }
209
211
231 inline ResourceShareFeatureSet GetFeatureSet() const { return m_featureSet; }
232 inline bool FeatureSetHasBeenSet() const { return m_featureSetHasBeenSet; }
234 m_featureSetHasBeenSet = true;
235 m_featureSet = value;
236 }
238 SetFeatureSet(value);
239 return *this;
240 }
242 private:
243 Aws::String m_resourceShareArn;
244
245 Aws::String m_name;
246
247 Aws::String m_owningAccountId;
248
249 bool m_allowExternalPrincipals{false};
250
252
253 Aws::String m_statusMessage;
254
255 Aws::Vector<Tag> m_tags;
256
257 Aws::Utils::DateTime m_creationTime{};
258
259 Aws::Utils::DateTime m_lastUpdatedTime{};
260
262 bool m_resourceShareArnHasBeenSet = false;
263 bool m_nameHasBeenSet = false;
264 bool m_owningAccountIdHasBeenSet = false;
265 bool m_allowExternalPrincipalsHasBeenSet = false;
266 bool m_statusHasBeenSet = false;
267 bool m_statusMessageHasBeenSet = false;
268 bool m_tagsHasBeenSet = false;
269 bool m_creationTimeHasBeenSet = false;
270 bool m_lastUpdatedTimeHasBeenSet = false;
271 bool m_featureSetHasBeenSet = false;
272};
273
274} // namespace Model
275} // namespace RAM
276} // 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
ResourceShareFeatureSet GetFeatureSet() const
AWS_RAM_API ResourceShare & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetStatusMessage() const
ResourceShare & WithResourceShareArn(ResourceShareArnT &&value)
ResourceShare & WithName(NameT &&value)
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)
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