AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CreateSnapshotRequest.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/core/utils/memory/stl/AWSVector.h>
11#include <aws/fsx/model/Tag.h>
12#include <utility>
13#include <aws/core/utils/UUID.h>
14
15namespace Aws
16{
17namespace FSx
18{
19namespace Model
20{
21
25 {
26 public:
27 AWS_FSX_API CreateSnapshotRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateSnapshot"; }
34
35 AWS_FSX_API Aws::String SerializePayload() const override;
36
38
39
41
42 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
43 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
44 template<typename ClientRequestTokenT = Aws::String>
45 void SetClientRequestToken(ClientRequestTokenT&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::forward<ClientRequestTokenT>(value); }
46 template<typename ClientRequestTokenT = Aws::String>
47 CreateSnapshotRequest& WithClientRequestToken(ClientRequestTokenT&& value) { SetClientRequestToken(std::forward<ClientRequestTokenT>(value)); return *this;}
49
51
54 inline const Aws::String& GetName() const { return m_name; }
55 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
56 template<typename NameT = Aws::String>
57 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
58 template<typename NameT = Aws::String>
59 CreateSnapshotRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
61
63
66 inline const Aws::String& GetVolumeId() const { return m_volumeId; }
67 inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; }
68 template<typename VolumeIdT = Aws::String>
69 void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward<VolumeIdT>(value); }
70 template<typename VolumeIdT = Aws::String>
71 CreateSnapshotRequest& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward<VolumeIdT>(value)); return *this;}
73
75
76 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
77 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
78 template<typename TagsT = Aws::Vector<Tag>>
79 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
80 template<typename TagsT = Aws::Vector<Tag>>
81 CreateSnapshotRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
82 template<typename TagsT = Tag>
83 CreateSnapshotRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
85 private:
86
87 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
88 bool m_clientRequestTokenHasBeenSet = true;
89
90 Aws::String m_name;
91 bool m_nameHasBeenSet = false;
92
93 Aws::String m_volumeId;
94 bool m_volumeIdHasBeenSet = false;
95
96 Aws::Vector<Tag> m_tags;
97 bool m_tagsHasBeenSet = false;
98 };
99
100} // namespace Model
101} // namespace FSx
102} // namespace Aws
CreateSnapshotRequest & AddTags(TagsT &&value)
void SetClientRequestToken(ClientRequestTokenT &&value)
AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
AWS_FSX_API CreateSnapshotRequest()=default
AWS_FSX_API Aws::String SerializePayload() const override
virtual const char * GetServiceRequestName() const override
CreateSnapshotRequest & WithVolumeId(VolumeIdT &&value)
const Aws::Vector< Tag > & GetTags() const
CreateSnapshotRequest & WithTags(TagsT &&value)
const Aws::String & GetClientRequestToken() const
CreateSnapshotRequest & WithName(NameT &&value)
CreateSnapshotRequest & WithClientRequestToken(ClientRequestTokenT &&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