AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateVolumeRequest.h
1
6#pragma once
7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/fsx/FSxRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/fsx/model/VolumeType.h>
11#include <aws/fsx/model/CreateOntapVolumeConfiguration.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/fsx/model/CreateOpenZFSVolumeConfiguration.h>
14#include <aws/fsx/model/Tag.h>
15#include <utility>
16#include <aws/core/utils/UUID.h>
17
18namespace Aws
19{
20namespace FSx
21{
22namespace Model
23{
24
28 {
29 public:
30 AWS_FSX_API CreateVolumeRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateVolume"; }
37
38 AWS_FSX_API Aws::String SerializePayload() const override;
39
41
42
44
45 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
46 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
47 template<typename ClientRequestTokenT = Aws::String>
48 void SetClientRequestToken(ClientRequestTokenT&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::forward<ClientRequestTokenT>(value); }
49 template<typename ClientRequestTokenT = Aws::String>
50 CreateVolumeRequest& WithClientRequestToken(ClientRequestTokenT&& value) { SetClientRequestToken(std::forward<ClientRequestTokenT>(value)); return *this;}
52
54
58 inline VolumeType GetVolumeType() const { return m_volumeType; }
59 inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; }
60 inline void SetVolumeType(VolumeType value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; }
61 inline CreateVolumeRequest& WithVolumeType(VolumeType value) { SetVolumeType(value); return *this;}
63
65
68 inline const Aws::String& GetName() const { return m_name; }
69 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
70 template<typename NameT = Aws::String>
71 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
72 template<typename NameT = Aws::String>
73 CreateVolumeRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
75
77
80 inline const CreateOntapVolumeConfiguration& GetOntapConfiguration() const { return m_ontapConfiguration; }
81 inline bool OntapConfigurationHasBeenSet() const { return m_ontapConfigurationHasBeenSet; }
82 template<typename OntapConfigurationT = CreateOntapVolumeConfiguration>
83 void SetOntapConfiguration(OntapConfigurationT&& value) { m_ontapConfigurationHasBeenSet = true; m_ontapConfiguration = std::forward<OntapConfigurationT>(value); }
84 template<typename OntapConfigurationT = CreateOntapVolumeConfiguration>
85 CreateVolumeRequest& WithOntapConfiguration(OntapConfigurationT&& value) { SetOntapConfiguration(std::forward<OntapConfigurationT>(value)); return *this;}
87
89
90 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
91 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
92 template<typename TagsT = Aws::Vector<Tag>>
93 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
94 template<typename TagsT = Aws::Vector<Tag>>
95 CreateVolumeRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
96 template<typename TagsT = Tag>
97 CreateVolumeRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
99
101
104 inline const CreateOpenZFSVolumeConfiguration& GetOpenZFSConfiguration() const { return m_openZFSConfiguration; }
105 inline bool OpenZFSConfigurationHasBeenSet() const { return m_openZFSConfigurationHasBeenSet; }
106 template<typename OpenZFSConfigurationT = CreateOpenZFSVolumeConfiguration>
107 void SetOpenZFSConfiguration(OpenZFSConfigurationT&& value) { m_openZFSConfigurationHasBeenSet = true; m_openZFSConfiguration = std::forward<OpenZFSConfigurationT>(value); }
108 template<typename OpenZFSConfigurationT = CreateOpenZFSVolumeConfiguration>
109 CreateVolumeRequest& WithOpenZFSConfiguration(OpenZFSConfigurationT&& value) { SetOpenZFSConfiguration(std::forward<OpenZFSConfigurationT>(value)); return *this;}
111 private:
112
113 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
114 bool m_clientRequestTokenHasBeenSet = true;
115
116 VolumeType m_volumeType{VolumeType::NOT_SET};
117 bool m_volumeTypeHasBeenSet = false;
118
119 Aws::String m_name;
120 bool m_nameHasBeenSet = false;
121
122 CreateOntapVolumeConfiguration m_ontapConfiguration;
123 bool m_ontapConfigurationHasBeenSet = false;
124
125 Aws::Vector<Tag> m_tags;
126 bool m_tagsHasBeenSet = false;
127
128 CreateOpenZFSVolumeConfiguration m_openZFSConfiguration;
129 bool m_openZFSConfigurationHasBeenSet = false;
130 };
131
132} // namespace Model
133} // namespace FSx
134} // namespace Aws
const Aws::Vector< Tag > & GetTags() const
virtual const char * GetServiceRequestName() const override
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)
CreateVolumeRequest & WithOntapConfiguration(OntapConfigurationT &&value)
const CreateOpenZFSVolumeConfiguration & GetOpenZFSConfiguration() const
CreateVolumeRequest & WithClientRequestToken(ClientRequestTokenT &&value)
AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
void SetOntapConfiguration(OntapConfigurationT &&value)
AWS_FSX_API Aws::String SerializePayload() const override
const Aws::String & GetClientRequestToken() const
CreateVolumeRequest & AddTags(TagsT &&value)
CreateVolumeRequest & WithName(NameT &&value)
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