AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateDataRepositoryTaskRequest.h
1
6#pragma once
7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/fsx/FSxRequest.h>
9#include <aws/fsx/model/DataRepositoryTaskType.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/fsx/model/CompletionReport.h>
13#include <aws/fsx/model/ReleaseConfiguration.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 CreateDataRepositoryTaskRequest() = 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 "CreateDataRepositoryTask"; }
37
38 AWS_FSX_API Aws::String SerializePayload() const override;
39
41
42
44
56 inline DataRepositoryTaskType GetType() const { return m_type; }
57 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
58 inline void SetType(DataRepositoryTaskType value) { m_typeHasBeenSet = true; m_type = value; }
61
63
87 inline const Aws::Vector<Aws::String>& GetPaths() const { return m_paths; }
88 inline bool PathsHasBeenSet() const { return m_pathsHasBeenSet; }
89 template<typename PathsT = Aws::Vector<Aws::String>>
90 void SetPaths(PathsT&& value) { m_pathsHasBeenSet = true; m_paths = std::forward<PathsT>(value); }
91 template<typename PathsT = Aws::Vector<Aws::String>>
92 CreateDataRepositoryTaskRequest& WithPaths(PathsT&& value) { SetPaths(std::forward<PathsT>(value)); return *this;}
93 template<typename PathsT = Aws::String>
94 CreateDataRepositoryTaskRequest& AddPaths(PathsT&& value) { m_pathsHasBeenSet = true; m_paths.emplace_back(std::forward<PathsT>(value)); return *this; }
96
98
99 inline const Aws::String& GetFileSystemId() const { return m_fileSystemId; }
100 inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; }
101 template<typename FileSystemIdT = Aws::String>
102 void SetFileSystemId(FileSystemIdT&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::forward<FileSystemIdT>(value); }
103 template<typename FileSystemIdT = Aws::String>
104 CreateDataRepositoryTaskRequest& WithFileSystemId(FileSystemIdT&& value) { SetFileSystemId(std::forward<FileSystemIdT>(value)); return *this;}
106
108
116 inline const CompletionReport& GetReport() const { return m_report; }
117 inline bool ReportHasBeenSet() const { return m_reportHasBeenSet; }
118 template<typename ReportT = CompletionReport>
119 void SetReport(ReportT&& value) { m_reportHasBeenSet = true; m_report = std::forward<ReportT>(value); }
120 template<typename ReportT = CompletionReport>
121 CreateDataRepositoryTaskRequest& WithReport(ReportT&& value) { SetReport(std::forward<ReportT>(value)); return *this;}
123
125
126 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
127 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
128 template<typename ClientRequestTokenT = Aws::String>
129 void SetClientRequestToken(ClientRequestTokenT&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::forward<ClientRequestTokenT>(value); }
130 template<typename ClientRequestTokenT = Aws::String>
131 CreateDataRepositoryTaskRequest& WithClientRequestToken(ClientRequestTokenT&& value) { SetClientRequestToken(std::forward<ClientRequestTokenT>(value)); return *this;}
133
135
136 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
137 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
138 template<typename TagsT = Aws::Vector<Tag>>
139 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
140 template<typename TagsT = Aws::Vector<Tag>>
141 CreateDataRepositoryTaskRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
142 template<typename TagsT = Tag>
143 CreateDataRepositoryTaskRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
145
147
152 inline long long GetCapacityToRelease() const { return m_capacityToRelease; }
153 inline bool CapacityToReleaseHasBeenSet() const { return m_capacityToReleaseHasBeenSet; }
154 inline void SetCapacityToRelease(long long value) { m_capacityToReleaseHasBeenSet = true; m_capacityToRelease = value; }
155 inline CreateDataRepositoryTaskRequest& WithCapacityToRelease(long long value) { SetCapacityToRelease(value); return *this;}
157
159
163 inline const ReleaseConfiguration& GetReleaseConfiguration() const { return m_releaseConfiguration; }
164 inline bool ReleaseConfigurationHasBeenSet() const { return m_releaseConfigurationHasBeenSet; }
165 template<typename ReleaseConfigurationT = ReleaseConfiguration>
166 void SetReleaseConfiguration(ReleaseConfigurationT&& value) { m_releaseConfigurationHasBeenSet = true; m_releaseConfiguration = std::forward<ReleaseConfigurationT>(value); }
167 template<typename ReleaseConfigurationT = ReleaseConfiguration>
168 CreateDataRepositoryTaskRequest& WithReleaseConfiguration(ReleaseConfigurationT&& value) { SetReleaseConfiguration(std::forward<ReleaseConfigurationT>(value)); return *this;}
170 private:
171
173 bool m_typeHasBeenSet = false;
174
176 bool m_pathsHasBeenSet = false;
177
178 Aws::String m_fileSystemId;
179 bool m_fileSystemIdHasBeenSet = false;
180
181 CompletionReport m_report;
182 bool m_reportHasBeenSet = false;
183
184 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
185 bool m_clientRequestTokenHasBeenSet = true;
186
187 Aws::Vector<Tag> m_tags;
188 bool m_tagsHasBeenSet = false;
189
190 long long m_capacityToRelease{0};
191 bool m_capacityToReleaseHasBeenSet = false;
192
193 ReleaseConfiguration m_releaseConfiguration;
194 bool m_releaseConfigurationHasBeenSet = false;
195 };
196
197} // namespace Model
198} // namespace FSx
199} // namespace Aws
CreateDataRepositoryTaskRequest & WithPaths(PathsT &&value)
CreateDataRepositoryTaskRequest & WithReport(ReportT &&value)
CreateDataRepositoryTaskRequest & WithReleaseConfiguration(ReleaseConfigurationT &&value)
CreateDataRepositoryTaskRequest & WithTags(TagsT &&value)
CreateDataRepositoryTaskRequest & AddPaths(PathsT &&value)
CreateDataRepositoryTaskRequest & WithClientRequestToken(ClientRequestTokenT &&value)
CreateDataRepositoryTaskRequest & WithType(DataRepositoryTaskType value)
AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateDataRepositoryTaskRequest & WithFileSystemId(FileSystemIdT &&value)
CreateDataRepositoryTaskRequest & WithCapacityToRelease(long long value)
AWS_FSX_API Aws::String SerializePayload() const override
CreateDataRepositoryTaskRequest & AddTags(TagsT &&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