AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CopySnapshotRequest.h
1
6#pragma once
7#include <aws/elasticache/ElastiCache_EXPORTS.h>
8#include <aws/elasticache/ElastiCacheRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticache/model/Tag.h>
12#include <utility>
13
14namespace Aws
15{
16namespace ElastiCache
17{
18namespace Model
19{
20
28 {
29 public:
30 AWS_ELASTICACHE_API CopySnapshotRequest() = 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 "CopySnapshot"; }
37
38 AWS_ELASTICACHE_API Aws::String SerializePayload() const override;
39
40 protected:
41 AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
42
43 public:
44
46
49 inline const Aws::String& GetSourceSnapshotName() const { return m_sourceSnapshotName; }
50 inline bool SourceSnapshotNameHasBeenSet() const { return m_sourceSnapshotNameHasBeenSet; }
51 template<typename SourceSnapshotNameT = Aws::String>
52 void SetSourceSnapshotName(SourceSnapshotNameT&& value) { m_sourceSnapshotNameHasBeenSet = true; m_sourceSnapshotName = std::forward<SourceSnapshotNameT>(value); }
53 template<typename SourceSnapshotNameT = Aws::String>
54 CopySnapshotRequest& WithSourceSnapshotName(SourceSnapshotNameT&& value) { SetSourceSnapshotName(std::forward<SourceSnapshotNameT>(value)); return *this;}
56
58
63 inline const Aws::String& GetTargetSnapshotName() const { return m_targetSnapshotName; }
64 inline bool TargetSnapshotNameHasBeenSet() const { return m_targetSnapshotNameHasBeenSet; }
65 template<typename TargetSnapshotNameT = Aws::String>
66 void SetTargetSnapshotName(TargetSnapshotNameT&& value) { m_targetSnapshotNameHasBeenSet = true; m_targetSnapshotName = std::forward<TargetSnapshotNameT>(value); }
67 template<typename TargetSnapshotNameT = Aws::String>
68 CopySnapshotRequest& WithTargetSnapshotName(TargetSnapshotNameT&& value) { SetTargetSnapshotName(std::forward<TargetSnapshotNameT>(value)); return *this;}
70
72
83 inline const Aws::String& GetTargetBucket() const { return m_targetBucket; }
84 inline bool TargetBucketHasBeenSet() const { return m_targetBucketHasBeenSet; }
85 template<typename TargetBucketT = Aws::String>
86 void SetTargetBucket(TargetBucketT&& value) { m_targetBucketHasBeenSet = true; m_targetBucket = std::forward<TargetBucketT>(value); }
87 template<typename TargetBucketT = Aws::String>
88 CopySnapshotRequest& WithTargetBucket(TargetBucketT&& value) { SetTargetBucket(std::forward<TargetBucketT>(value)); return *this;}
90
92
95 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
96 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
97 template<typename KmsKeyIdT = Aws::String>
98 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
99 template<typename KmsKeyIdT = Aws::String>
100 CopySnapshotRequest& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward<KmsKeyIdT>(value)); return *this;}
102
104
108 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
109 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
110 template<typename TagsT = Aws::Vector<Tag>>
111 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
112 template<typename TagsT = Aws::Vector<Tag>>
113 CopySnapshotRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
114 template<typename TagsT = Tag>
115 CopySnapshotRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
117 private:
118
119 Aws::String m_sourceSnapshotName;
120 bool m_sourceSnapshotNameHasBeenSet = false;
121
122 Aws::String m_targetSnapshotName;
123 bool m_targetSnapshotNameHasBeenSet = false;
124
125 Aws::String m_targetBucket;
126 bool m_targetBucketHasBeenSet = false;
127
128 Aws::String m_kmsKeyId;
129 bool m_kmsKeyIdHasBeenSet = false;
130
131 Aws::Vector<Tag> m_tags;
132 bool m_tagsHasBeenSet = false;
133 };
134
135} // namespace Model
136} // namespace ElastiCache
137} // namespace Aws
CopySnapshotRequest & WithTargetBucket(TargetBucketT &&value)
CopySnapshotRequest & WithTargetSnapshotName(TargetSnapshotNameT &&value)
const Aws::Vector< Tag > & GetTags() const
CopySnapshotRequest & WithKmsKeyId(KmsKeyIdT &&value)
CopySnapshotRequest & WithTags(TagsT &&value)
AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
virtual const char * GetServiceRequestName() const override
AWS_ELASTICACHE_API Aws::String SerializePayload() const override
CopySnapshotRequest & WithSourceSnapshotName(SourceSnapshotNameT &&value)
void SetTargetSnapshotName(TargetSnapshotNameT &&value)
AWS_ELASTICACHE_API CopySnapshotRequest()=default
CopySnapshotRequest & AddTags(TagsT &&value)
void SetSourceSnapshotName(SourceSnapshotNameT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector