7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/fsx/FSxRequest.h>
11#include <aws/fsx/FSx_EXPORTS.h>
12#include <aws/fsx/model/CreateOntapVolumeConfiguration.h>
13#include <aws/fsx/model/CreateOpenZFSVolumeConfiguration.h>
14#include <aws/fsx/model/Tag.h>
15#include <aws/fsx/model/VolumeType.h>
43 template <
typename ClientRequestTokenT = Aws::String>
45 m_clientRequestTokenHasBeenSet =
true;
46 m_clientRequestToken = std::forward<ClientRequestTokenT>(value);
48 template <
typename ClientRequestTokenT = Aws::String>
63 m_volumeTypeHasBeenSet =
true;
78 template <
typename NameT = Aws::String>
80 m_nameHasBeenSet =
true;
81 m_name = std::forward<NameT>(value);
83 template <
typename NameT = Aws::String>
85 SetName(std::forward<NameT>(value));
96 template <
typename OntapConfigurationT = CreateOntapVolumeConfiguration>
98 m_ontapConfigurationHasBeenSet =
true;
99 m_ontapConfiguration = std::forward<OntapConfigurationT>(value);
101 template <
typename OntapConfigurationT = CreateOntapVolumeConfiguration>
112 template <
typename TagsT = Aws::Vector<Tag>>
114 m_tagsHasBeenSet =
true;
115 m_tags = std::forward<TagsT>(value);
117 template <
typename TagsT = Aws::Vector<Tag>>
119 SetTags(std::forward<TagsT>(value));
122 template <
typename TagsT = Tag>
124 m_tagsHasBeenSet =
true;
125 m_tags.emplace_back(std::forward<TagsT>(value));
136 template <
typename OpenZFSConfigurationT = CreateOpenZFSVolumeConfiguration>
138 m_openZFSConfigurationHasBeenSet =
true;
139 m_openZFSConfiguration = std::forward<OpenZFSConfigurationT>(value);
141 template <
typename OpenZFSConfigurationT = CreateOpenZFSVolumeConfiguration>
154 CreateOntapVolumeConfiguration m_ontapConfiguration;
158 CreateOpenZFSVolumeConfiguration m_openZFSConfiguration;
159 bool m_clientRequestTokenHasBeenSet =
true;
160 bool m_volumeTypeHasBeenSet =
false;
161 bool m_nameHasBeenSet =
false;
162 bool m_ontapConfigurationHasBeenSet =
false;
163 bool m_tagsHasBeenSet =
false;
164 bool m_openZFSConfigurationHasBeenSet =
false;
bool OntapConfigurationHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
void SetName(NameT &&value)
virtual const char * GetServiceRequestName() const override
void SetVolumeType(VolumeType value)
bool TagsHasBeenSet() const
AWS_FSX_API CreateVolumeRequest()=default
CreateVolumeRequest & WithOpenZFSConfiguration(OpenZFSConfigurationT &&value)
CreateVolumeRequest & WithVolumeType(VolumeType value)
const CreateOntapVolumeConfiguration & GetOntapConfiguration() const
const Aws::String & GetName() const
CreateVolumeRequest & WithTags(TagsT &&value)
bool NameHasBeenSet() const
CreateVolumeRequest & WithOntapConfiguration(OntapConfigurationT &&value)
const CreateOpenZFSVolumeConfiguration & GetOpenZFSConfiguration() const
bool ClientRequestTokenHasBeenSet() const
bool OpenZFSConfigurationHasBeenSet() const
CreateVolumeRequest & WithClientRequestToken(ClientRequestTokenT &&value)
AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
void SetOntapConfiguration(OntapConfigurationT &&value)
void SetTags(TagsT &&value)
bool VolumeTypeHasBeenSet() const
AWS_FSX_API Aws::String SerializePayload() const override
const Aws::String & GetClientRequestToken() const
CreateVolumeRequest & AddTags(TagsT &&value)
CreateVolumeRequest & WithName(NameT &&value)
VolumeType GetVolumeType() const
void SetClientRequestToken(ClientRequestTokenT &&value)
void SetOpenZFSConfiguration(OpenZFSConfigurationT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector