AWS SDK for C++  1.8.71
AWS SDK for C++
CreateSnapshotCopyGrantRequest.h
Go to the documentation of this file.
1 
6 #pragma once
11 #include <aws/redshift/model/Tag.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Redshift
17 {
18 namespace Model
19 {
20 
28  {
29  public:
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 "CreateSnapshotCopyGrant"; }
37 
38  Aws::String SerializePayload() const override;
39 
40  protected:
41  void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
42 
43  public:
44 
53  inline const Aws::String& GetSnapshotCopyGrantName() const{ return m_snapshotCopyGrantName; }
54 
63  inline bool SnapshotCopyGrantNameHasBeenSet() const { return m_snapshotCopyGrantNameHasBeenSet; }
64 
73  inline void SetSnapshotCopyGrantName(const Aws::String& value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName = value; }
74 
83  inline void SetSnapshotCopyGrantName(Aws::String&& value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName = std::move(value); }
84 
93  inline void SetSnapshotCopyGrantName(const char* value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName.assign(value); }
94 
103  inline CreateSnapshotCopyGrantRequest& WithSnapshotCopyGrantName(const Aws::String& value) { SetSnapshotCopyGrantName(value); return *this;}
104 
113  inline CreateSnapshotCopyGrantRequest& WithSnapshotCopyGrantName(Aws::String&& value) { SetSnapshotCopyGrantName(std::move(value)); return *this;}
114 
123  inline CreateSnapshotCopyGrantRequest& WithSnapshotCopyGrantName(const char* value) { SetSnapshotCopyGrantName(value); return *this;}
124 
125 
130  inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
131 
136  inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
137 
142  inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
143 
148  inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); }
149 
154  inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }
155 
160  inline CreateSnapshotCopyGrantRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
161 
166  inline CreateSnapshotCopyGrantRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}
167 
172  inline CreateSnapshotCopyGrantRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
173 
174 
178  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
179 
183  inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
184 
188  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
189 
193  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
194 
198  inline CreateSnapshotCopyGrantRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
199 
203  inline CreateSnapshotCopyGrantRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
204 
208  inline CreateSnapshotCopyGrantRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
209 
213  inline CreateSnapshotCopyGrantRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
214 
215  private:
216 
217  Aws::String m_snapshotCopyGrantName;
218  bool m_snapshotCopyGrantNameHasBeenSet;
219 
220  Aws::String m_kmsKeyId;
221  bool m_kmsKeyIdHasBeenSet;
222 
223  Aws::Vector<Tag> m_tags;
224  bool m_tagsHasBeenSet;
225  };
226 
227 } // namespace Model
228 } // namespace Redshift
229 } // namespace Aws
CreateSnapshotCopyGrantRequest & AddTags(const Tag &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
CreateSnapshotCopyGrantRequest & WithKmsKeyId(Aws::String &&value)
CreateSnapshotCopyGrantRequest & WithTags(Aws::Vector< Tag > &&value)
#define AWS_REDSHIFT_API
CreateSnapshotCopyGrantRequest & WithSnapshotCopyGrantName(Aws::String &&value)
CreateSnapshotCopyGrantRequest & WithKmsKeyId(const Aws::String &value)
CreateSnapshotCopyGrantRequest & WithSnapshotCopyGrantName(const Aws::String &value)
CreateSnapshotCopyGrantRequest & WithTags(const Aws::Vector< Tag > &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
CreateSnapshotCopyGrantRequest & WithSnapshotCopyGrantName(const char *value)
CreateSnapshotCopyGrantRequest & WithKmsKeyId(const char *value)
CreateSnapshotCopyGrantRequest & AddTags(Tag &&value)