AWS SDK for C++  0.14.3
AWS SDK for C++
CreateSnapshotCopyGrantRequest.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
20 #include <aws/redshift/model/Tag.h>
21 
22 namespace Aws
23 {
24 namespace Redshift
25 {
26 namespace Model
27 {
28 
33  {
34  public:
36  Aws::String SerializePayload() const override;
37 
46  inline const Aws::String& GetSnapshotCopyGrantName() const{ return m_snapshotCopyGrantName; }
47 
56  inline void SetSnapshotCopyGrantName(const Aws::String& value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName = value; }
57 
66  inline void SetSnapshotCopyGrantName(Aws::String&& value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName = value; }
67 
76  inline void SetSnapshotCopyGrantName(const char* value) { m_snapshotCopyGrantNameHasBeenSet = true; m_snapshotCopyGrantName.assign(value); }
77 
86  inline CreateSnapshotCopyGrantRequest& WithSnapshotCopyGrantName(const Aws::String& value) { SetSnapshotCopyGrantName(value); return *this;}
87 
96  inline CreateSnapshotCopyGrantRequest& WithSnapshotCopyGrantName(Aws::String&& value) { SetSnapshotCopyGrantName(value); return *this;}
97 
106  inline CreateSnapshotCopyGrantRequest& WithSnapshotCopyGrantName(const char* value) { SetSnapshotCopyGrantName(value); return *this;}
107 
112  inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
113 
118  inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
119 
124  inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
125 
130  inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }
131 
136  inline CreateSnapshotCopyGrantRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
137 
142  inline CreateSnapshotCopyGrantRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(value); return *this;}
143 
148  inline CreateSnapshotCopyGrantRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
149 
153  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
154 
158  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
159 
163  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
164 
168  inline CreateSnapshotCopyGrantRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
169 
173  inline CreateSnapshotCopyGrantRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
174 
178  inline CreateSnapshotCopyGrantRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
179 
183  inline CreateSnapshotCopyGrantRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
184 
185  private:
186  Aws::String m_snapshotCopyGrantName;
187  bool m_snapshotCopyGrantNameHasBeenSet;
188  Aws::String m_kmsKeyId;
189  bool m_kmsKeyIdHasBeenSet;
190  Aws::Vector<Tag> m_tags;
191  bool m_tagsHasBeenSet;
192  };
193 
194 } // namespace Model
195 } // namespace Redshift
196 } // namespace Aws
CreateSnapshotCopyGrantRequest & AddTags(const Tag &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
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)
JSON (JavaScript Object Notation).