AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CopySnapshotAndUpdateVolumeRequest.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/OpenZFSCopyStrategy.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/fsx/model/UpdateOpenZFSVolumeOption.h>
13#include <utility>
14#include <aws/core/utils/UUID.h>
15
16namespace Aws
17{
18namespace FSx
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_FSX_API CopySnapshotAndUpdateVolumeRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CopySnapshotAndUpdateVolume"; }
35
36 AWS_FSX_API Aws::String SerializePayload() const override;
37
39
40
42
43 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
44 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
45 template<typename ClientRequestTokenT = Aws::String>
46 void SetClientRequestToken(ClientRequestTokenT&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::forward<ClientRequestTokenT>(value); }
47 template<typename ClientRequestTokenT = Aws::String>
48 CopySnapshotAndUpdateVolumeRequest& WithClientRequestToken(ClientRequestTokenT&& value) { SetClientRequestToken(std::forward<ClientRequestTokenT>(value)); return *this;}
50
52
55 inline const Aws::String& GetVolumeId() const { return m_volumeId; }
56 inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; }
57 template<typename VolumeIdT = Aws::String>
58 void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward<VolumeIdT>(value); }
59 template<typename VolumeIdT = Aws::String>
60 CopySnapshotAndUpdateVolumeRequest& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward<VolumeIdT>(value)); return *this;}
62
64
65 inline const Aws::String& GetSourceSnapshotARN() const { return m_sourceSnapshotARN; }
66 inline bool SourceSnapshotARNHasBeenSet() const { return m_sourceSnapshotARNHasBeenSet; }
67 template<typename SourceSnapshotARNT = Aws::String>
68 void SetSourceSnapshotARN(SourceSnapshotARNT&& value) { m_sourceSnapshotARNHasBeenSet = true; m_sourceSnapshotARN = std::forward<SourceSnapshotARNT>(value); }
69 template<typename SourceSnapshotARNT = Aws::String>
70 CopySnapshotAndUpdateVolumeRequest& WithSourceSnapshotARN(SourceSnapshotARNT&& value) { SetSourceSnapshotARN(std::forward<SourceSnapshotARNT>(value)); return *this;}
72
74
82 inline OpenZFSCopyStrategy GetCopyStrategy() const { return m_copyStrategy; }
83 inline bool CopyStrategyHasBeenSet() const { return m_copyStrategyHasBeenSet; }
84 inline void SetCopyStrategy(OpenZFSCopyStrategy value) { m_copyStrategyHasBeenSet = true; m_copyStrategy = value; }
87
89
103 inline const Aws::Vector<UpdateOpenZFSVolumeOption>& GetOptions() const { return m_options; }
104 inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
105 template<typename OptionsT = Aws::Vector<UpdateOpenZFSVolumeOption>>
106 void SetOptions(OptionsT&& value) { m_optionsHasBeenSet = true; m_options = std::forward<OptionsT>(value); }
107 template<typename OptionsT = Aws::Vector<UpdateOpenZFSVolumeOption>>
108 CopySnapshotAndUpdateVolumeRequest& WithOptions(OptionsT&& value) { SetOptions(std::forward<OptionsT>(value)); return *this;}
109 inline CopySnapshotAndUpdateVolumeRequest& AddOptions(UpdateOpenZFSVolumeOption value) { m_optionsHasBeenSet = true; m_options.push_back(value); return *this; }
111 private:
112
113 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
114 bool m_clientRequestTokenHasBeenSet = true;
115
116 Aws::String m_volumeId;
117 bool m_volumeIdHasBeenSet = false;
118
119 Aws::String m_sourceSnapshotARN;
120 bool m_sourceSnapshotARNHasBeenSet = false;
121
123 bool m_copyStrategyHasBeenSet = false;
124
126 bool m_optionsHasBeenSet = false;
127 };
128
129} // namespace Model
130} // namespace FSx
131} // namespace Aws
AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CopySnapshotAndUpdateVolumeRequest & WithClientRequestToken(ClientRequestTokenT &&value)
AWS_FSX_API Aws::String SerializePayload() const override
CopySnapshotAndUpdateVolumeRequest & AddOptions(UpdateOpenZFSVolumeOption value)
CopySnapshotAndUpdateVolumeRequest & WithOptions(OptionsT &&value)
CopySnapshotAndUpdateVolumeRequest & WithVolumeId(VolumeIdT &&value)
CopySnapshotAndUpdateVolumeRequest & WithCopyStrategy(OpenZFSCopyStrategy value)
CopySnapshotAndUpdateVolumeRequest & WithSourceSnapshotARN(SourceSnapshotARNT &&value)
const Aws::Vector< UpdateOpenZFSVolumeOption > & GetOptions() const
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