7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ram/RAMRequest.h>
10#include <aws/ram/RAM_EXPORTS.h>
11#include <aws/ram/model/ResourceShareConfiguration.h>
12#include <aws/ram/model/Tag.h>
40 template <
typename NameT = Aws::String>
42 m_nameHasBeenSet =
true;
43 m_name = std::forward<NameT>(value);
45 template <
typename NameT = Aws::String>
47 SetName(std::forward<NameT>(value));
59 template <
typename ResourceArnsT = Aws::Vector<Aws::String>>
61 m_resourceArnsHasBeenSet =
true;
62 m_resourceArns = std::forward<ResourceArnsT>(value);
64 template <
typename ResourceArnsT = Aws::Vector<Aws::String>>
69 template <
typename ResourceArnsT = Aws::String>
71 m_resourceArnsHasBeenSet =
true;
72 m_resourceArns.emplace_back(std::forward<ResourceArnsT>(value));
100 template <
typename PrincipalsT = Aws::Vector<Aws::String>>
102 m_principalsHasBeenSet =
true;
103 m_principals = std::forward<PrincipalsT>(value);
105 template <
typename PrincipalsT = Aws::Vector<Aws::String>>
110 template <
typename PrincipalsT = Aws::String>
112 m_principalsHasBeenSet =
true;
113 m_principals.emplace_back(std::forward<PrincipalsT>(value));
125 template <
typename TagsT = Aws::Vector<Tag>>
127 m_tagsHasBeenSet =
true;
128 m_tags = std::forward<TagsT>(value);
130 template <
typename TagsT = Aws::Vector<Tag>>
132 SetTags(std::forward<TagsT>(value));
135 template <
typename TagsT = Tag>
137 m_tagsHasBeenSet =
true;
138 m_tags.emplace_back(std::forward<TagsT>(value));
155 m_allowExternalPrincipalsHasBeenSet =
true;
156 m_allowExternalPrincipals = value;
179 template <
typename ClientTokenT = Aws::String>
181 m_clientTokenHasBeenSet =
true;
182 m_clientToken = std::forward<ClientTokenT>(value);
184 template <
typename ClientTokenT = Aws::String>
203 template <
typename PermissionArnsT = Aws::Vector<Aws::String>>
205 m_permissionArnsHasBeenSet =
true;
206 m_permissionArns = std::forward<PermissionArnsT>(value);
208 template <
typename PermissionArnsT = Aws::Vector<Aws::String>>
213 template <
typename PermissionArnsT = Aws::String>
215 m_permissionArnsHasBeenSet =
true;
216 m_permissionArns.emplace_back(std::forward<PermissionArnsT>(value));
232 template <
typename SourcesT = Aws::Vector<Aws::String>>
234 m_sourcesHasBeenSet =
true;
235 m_sources = std::forward<SourcesT>(value);
237 template <
typename SourcesT = Aws::Vector<Aws::String>>
242 template <
typename SourcesT = Aws::String>
244 m_sourcesHasBeenSet =
true;
245 m_sources.emplace_back(std::forward<SourcesT>(value));
256 template <
typename ResourceShareConfigurationT = ResourceShareConfiguration>
258 m_resourceShareConfigurationHasBeenSet =
true;
259 m_resourceShareConfiguration = std::forward<ResourceShareConfigurationT>(value);
261 template <
typename ResourceShareConfigurationT = ResourceShareConfiguration>
276 bool m_allowExternalPrincipals{
false};
284 ResourceShareConfiguration m_resourceShareConfiguration;
285 bool m_nameHasBeenSet =
false;
286 bool m_resourceArnsHasBeenSet =
false;
287 bool m_principalsHasBeenSet =
false;
288 bool m_tagsHasBeenSet =
false;
289 bool m_allowExternalPrincipalsHasBeenSet =
false;
290 bool m_clientTokenHasBeenSet =
false;
291 bool m_permissionArnsHasBeenSet =
false;
292 bool m_sourcesHasBeenSet =
false;
293 bool m_resourceShareConfigurationHasBeenSet =
false;
CreateResourceShareRequest & AddSources(SourcesT &&value)
bool GetAllowExternalPrincipals() const
const Aws::Vector< Tag > & GetTags() const
void SetSources(SourcesT &&value)
const Aws::String & GetName() const
CreateResourceShareRequest & AddResourceArns(ResourceArnsT &&value)
const Aws::Vector< Aws::String > & GetPermissionArns() const
void SetAllowExternalPrincipals(bool value)
AWS_RAM_API Aws::String SerializePayload() const override
void SetResourceShareConfiguration(ResourceShareConfigurationT &&value)
bool ClientTokenHasBeenSet() const
bool AllowExternalPrincipalsHasBeenSet() const
bool PrincipalsHasBeenSet() const
CreateResourceShareRequest & WithAllowExternalPrincipals(bool value)
virtual const char * GetServiceRequestName() const override
void SetPrincipals(PrincipalsT &&value)
const Aws::String & GetClientToken() const
void SetResourceArns(ResourceArnsT &&value)
bool SourcesHasBeenSet() const
bool ResourceArnsHasBeenSet() const
const ResourceShareConfiguration & GetResourceShareConfiguration() const
CreateResourceShareRequest & WithResourceShareConfiguration(ResourceShareConfigurationT &&value)
CreateResourceShareRequest & WithPrincipals(PrincipalsT &&value)
CreateResourceShareRequest & AddPrincipals(PrincipalsT &&value)
const Aws::Vector< Aws::String > & GetSources() const
CreateResourceShareRequest & WithName(NameT &&value)
AWS_RAM_API CreateResourceShareRequest()=default
const Aws::Vector< Aws::String > & GetPrincipals() const
void SetPermissionArns(PermissionArnsT &&value)
CreateResourceShareRequest & WithSources(SourcesT &&value)
bool TagsHasBeenSet() const
CreateResourceShareRequest & AddPermissionArns(PermissionArnsT &&value)
bool PermissionArnsHasBeenSet() const
CreateResourceShareRequest & WithPermissionArns(PermissionArnsT &&value)
CreateResourceShareRequest & AddTags(TagsT &&value)
const Aws::Vector< Aws::String > & GetResourceArns() const
void SetTags(TagsT &&value)
void SetClientToken(ClientTokenT &&value)
CreateResourceShareRequest & WithTags(TagsT &&value)
CreateResourceShareRequest & WithClientToken(ClientTokenT &&value)
bool NameHasBeenSet() const
void SetName(NameT &&value)
CreateResourceShareRequest & WithResourceArns(ResourceArnsT &&value)
bool ResourceShareConfigurationHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector