AWS SDK for C++

AWS SDK for C++ Version 1.11.754

Loading...
Searching...
No Matches
LocalSecondaryIndex.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/dynamodb/DynamoDB_EXPORTS.h>
10#include <aws/dynamodb/model/KeySchemaElement.h>
11#include <aws/dynamodb/model/Projection.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace DynamoDB {
23namespace Model {
24
32 public:
33 AWS_DYNAMODB_API LocalSecondaryIndex() = default;
36 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
43 inline const Aws::String& GetIndexName() const { return m_indexName; }
44 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
45 template <typename IndexNameT = Aws::String>
46 void SetIndexName(IndexNameT&& value) {
47 m_indexNameHasBeenSet = true;
48 m_indexName = std::forward<IndexNameT>(value);
49 }
50 template <typename IndexNameT = Aws::String>
51 LocalSecondaryIndex& WithIndexName(IndexNameT&& value) {
52 SetIndexName(std::forward<IndexNameT>(value));
53 return *this;
54 }
56
58
70 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const { return m_keySchema; }
71 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; }
72 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
73 void SetKeySchema(KeySchemaT&& value) {
74 m_keySchemaHasBeenSet = true;
75 m_keySchema = std::forward<KeySchemaT>(value);
76 }
77 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
78 LocalSecondaryIndex& WithKeySchema(KeySchemaT&& value) {
79 SetKeySchema(std::forward<KeySchemaT>(value));
80 return *this;
81 }
82 template <typename KeySchemaT = KeySchemaElement>
83 LocalSecondaryIndex& AddKeySchema(KeySchemaT&& value) {
84 m_keySchemaHasBeenSet = true;
85 m_keySchema.emplace_back(std::forward<KeySchemaT>(value));
86 return *this;
87 }
89
91
96 inline const Projection& GetProjection() const { return m_projection; }
97 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
98 template <typename ProjectionT = Projection>
99 void SetProjection(ProjectionT&& value) {
100 m_projectionHasBeenSet = true;
101 m_projection = std::forward<ProjectionT>(value);
102 }
103 template <typename ProjectionT = Projection>
104 LocalSecondaryIndex& WithProjection(ProjectionT&& value) {
105 SetProjection(std::forward<ProjectionT>(value));
106 return *this;
107 }
109 private:
110 Aws::String m_indexName;
111
113
114 Projection m_projection;
115 bool m_indexNameHasBeenSet = false;
116 bool m_keySchemaHasBeenSet = false;
117 bool m_projectionHasBeenSet = false;
118};
119
120} // namespace Model
121} // namespace DynamoDB
122} // namespace Aws
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
LocalSecondaryIndex & WithIndexName(IndexNameT &&value)
LocalSecondaryIndex & WithProjection(ProjectionT &&value)
AWS_DYNAMODB_API LocalSecondaryIndex(Aws::Utils::Json::JsonView jsonValue)
AWS_DYNAMODB_API LocalSecondaryIndex()=default
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
LocalSecondaryIndex & AddKeySchema(KeySchemaT &&value)
LocalSecondaryIndex & WithKeySchema(KeySchemaT &&value)
AWS_DYNAMODB_API LocalSecondaryIndex & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue