AWS SDK for C++  0.14.3
AWS SDK for C++
DescribeKeyRequest.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
16 #include <aws/kms/KMS_EXPORTS.h>
17 #include <aws/kms/KMSRequest.h>
20 
21 namespace Aws
22 {
23 namespace KMS
24 {
25 namespace Model
26 {
27 
31  {
32  public:
34  Aws::String SerializePayload() const override;
35 
36  Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37 
48  inline const Aws::String& GetKeyId() const{ return m_keyId; }
49 
60  inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; }
61 
72  inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = value; }
73 
84  inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); }
85 
96  inline DescribeKeyRequest& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;}
97 
108  inline DescribeKeyRequest& WithKeyId(Aws::String&& value) { SetKeyId(value); return *this;}
109 
120  inline DescribeKeyRequest& WithKeyId(const char* value) { SetKeyId(value); return *this;}
121 
127  inline const Aws::Vector<Aws::String>& GetGrantTokens() const{ return m_grantTokens; }
128 
134  inline void SetGrantTokens(const Aws::Vector<Aws::String>& value) { m_grantTokensHasBeenSet = true; m_grantTokens = value; }
135 
141  inline void SetGrantTokens(Aws::Vector<Aws::String>&& value) { m_grantTokensHasBeenSet = true; m_grantTokens = value; }
142 
148  inline DescribeKeyRequest& WithGrantTokens(const Aws::Vector<Aws::String>& value) { SetGrantTokens(value); return *this;}
149 
155  inline DescribeKeyRequest& WithGrantTokens(Aws::Vector<Aws::String>&& value) { SetGrantTokens(value); return *this;}
156 
162  inline DescribeKeyRequest& AddGrantTokens(const Aws::String& value) { m_grantTokensHasBeenSet = true; m_grantTokens.push_back(value); return *this; }
163 
169  inline DescribeKeyRequest& AddGrantTokens(Aws::String&& value) { m_grantTokensHasBeenSet = true; m_grantTokens.push_back(value); return *this; }
170 
176  inline DescribeKeyRequest& AddGrantTokens(const char* value) { m_grantTokensHasBeenSet = true; m_grantTokens.push_back(value); return *this; }
177 
178  private:
179  Aws::String m_keyId;
180  bool m_keyIdHasBeenSet;
181  Aws::Vector<Aws::String> m_grantTokens;
182  bool m_grantTokensHasBeenSet;
183  };
184 
185 } // namespace Model
186 } // namespace KMS
187 } // namespace Aws
DescribeKeyRequest & AddGrantTokens(const char *value)
DescribeKeyRequest & WithGrantTokens(Aws::Vector< Aws::String > &&value)
const Aws::String & GetKeyId() const
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
DescribeKeyRequest & AddGrantTokens(Aws::String &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
Definition: HttpTypes.h:63
void SetGrantTokens(const Aws::Vector< Aws::String > &value)
const Aws::Vector< Aws::String > & GetGrantTokens() const
DescribeKeyRequest & WithKeyId(const Aws::String &value)
DescribeKeyRequest & WithGrantTokens(const Aws::Vector< Aws::String > &value)
DescribeKeyRequest & WithKeyId(const char *value)
DescribeKeyRequest & WithKeyId(Aws::String &&value)
DescribeKeyRequest & AddGrantTokens(const Aws::String &value)
void SetGrantTokens(Aws::Vector< Aws::String > &&value)
void SetKeyId(Aws::String &&value)
void SetKeyId(const Aws::String &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
#define AWS_KMS_API
Definition: KMS_EXPORTS.h:37
JSON (JavaScript Object Notation).