AWS SDK for C++  0.12.9
AWS SDK for C++
KeySchemaElement.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
19 
20 namespace Aws
21 {
22 namespace Utils
23 {
24 namespace Json
25 {
26  class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace DynamoDB
30 {
31 namespace Model
32 {
33 
47  {
48  public:
51  KeySchemaElement& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
52  Aws::Utils::Json::JsonValue Jsonize() const;
53 
57  inline const Aws::String& GetAttributeName() const{ return m_attributeName; }
58 
62  inline void SetAttributeName(const Aws::String& value) { m_attributeNameHasBeenSet = true; m_attributeName = value; }
63 
67  inline void SetAttributeName(Aws::String&& value) { m_attributeNameHasBeenSet = true; m_attributeName = value; }
68 
72  inline void SetAttributeName(const char* value) { m_attributeNameHasBeenSet = true; m_attributeName.assign(value); }
73 
77  inline KeySchemaElement& WithAttributeName(const Aws::String& value) { SetAttributeName(value); return *this;}
78 
82  inline KeySchemaElement& WithAttributeName(Aws::String&& value) { SetAttributeName(value); return *this;}
83 
87  inline KeySchemaElement& WithAttributeName(const char* value) { SetAttributeName(value); return *this;}
88 
100  inline const KeyType& GetKeyType() const{ return m_keyType; }
101 
113  inline void SetKeyType(const KeyType& value) { m_keyTypeHasBeenSet = true; m_keyType = value; }
114 
126  inline void SetKeyType(KeyType&& value) { m_keyTypeHasBeenSet = true; m_keyType = value; }
127 
139  inline KeySchemaElement& WithKeyType(const KeyType& value) { SetKeyType(value); return *this;}
140 
152  inline KeySchemaElement& WithKeyType(KeyType&& value) { SetKeyType(value); return *this;}
153 
154  private:
155  Aws::String m_attributeName;
156  bool m_attributeNameHasBeenSet;
157  KeyType m_keyType;
158  bool m_keyTypeHasBeenSet;
159  };
160 
161 } // namespace Model
162 } // namespace DynamoDB
163 } // namespace Aws
KeySchemaElement & WithKeyType(KeyType &&value)
void SetAttributeName(Aws::String &&value)
KeySchemaElement & WithAttributeName(Aws::String &&value)
void SetAttributeName(const Aws::String &value)
void SetKeyType(const KeyType &value)
#define AWS_DYNAMODB_API
KeySchemaElement & WithKeyType(const KeyType &value)
KeySchemaElement & WithAttributeName(const char *value)
KeySchemaElement & WithAttributeName(const Aws::String &value)
const Aws::String & GetAttributeName() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetAttributeName(const char *value)
JSON (JavaScript Object Notation).