AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
LocalSecondaryIndexDescription.h
1
6#pragma once
7#include <aws/dynamodb/DynamoDB_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/dynamodb/model/Projection.h>
11#include <aws/dynamodb/model/KeySchemaElement.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace DynamoDB
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_DYNAMODB_API LocalSecondaryIndexDescription() = default;
41 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::String& GetIndexName() const { return m_indexName; }
49 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
50 template<typename IndexNameT = Aws::String>
51 void SetIndexName(IndexNameT&& value) { m_indexNameHasBeenSet = true; m_indexName = std::forward<IndexNameT>(value); }
52 template<typename IndexNameT = Aws::String>
53 LocalSecondaryIndexDescription& WithIndexName(IndexNameT&& value) { SetIndexName(std::forward<IndexNameT>(value)); return *this;}
55
57
69 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const { return m_keySchema; }
70 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; }
71 template<typename KeySchemaT = Aws::Vector<KeySchemaElement>>
72 void SetKeySchema(KeySchemaT&& value) { m_keySchemaHasBeenSet = true; m_keySchema = std::forward<KeySchemaT>(value); }
73 template<typename KeySchemaT = Aws::Vector<KeySchemaElement>>
74 LocalSecondaryIndexDescription& WithKeySchema(KeySchemaT&& value) { SetKeySchema(std::forward<KeySchemaT>(value)); return *this;}
75 template<typename KeySchemaT = KeySchemaElement>
76 LocalSecondaryIndexDescription& AddKeySchema(KeySchemaT&& value) { m_keySchemaHasBeenSet = true; m_keySchema.emplace_back(std::forward<KeySchemaT>(value)); return *this; }
78
80
85 inline const Projection& GetProjection() const { return m_projection; }
86 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
87 template<typename ProjectionT = Projection>
88 void SetProjection(ProjectionT&& value) { m_projectionHasBeenSet = true; m_projection = std::forward<ProjectionT>(value); }
89 template<typename ProjectionT = Projection>
90 LocalSecondaryIndexDescription& WithProjection(ProjectionT&& value) { SetProjection(std::forward<ProjectionT>(value)); return *this;}
92
94
99 inline long long GetIndexSizeBytes() const { return m_indexSizeBytes; }
100 inline bool IndexSizeBytesHasBeenSet() const { return m_indexSizeBytesHasBeenSet; }
101 inline void SetIndexSizeBytes(long long value) { m_indexSizeBytesHasBeenSet = true; m_indexSizeBytes = value; }
102 inline LocalSecondaryIndexDescription& WithIndexSizeBytes(long long value) { SetIndexSizeBytes(value); return *this;}
104
106
111 inline long long GetItemCount() const { return m_itemCount; }
112 inline bool ItemCountHasBeenSet() const { return m_itemCountHasBeenSet; }
113 inline void SetItemCount(long long value) { m_itemCountHasBeenSet = true; m_itemCount = value; }
114 inline LocalSecondaryIndexDescription& WithItemCount(long long value) { SetItemCount(value); return *this;}
116
118
121 inline const Aws::String& GetIndexArn() const { return m_indexArn; }
122 inline bool IndexArnHasBeenSet() const { return m_indexArnHasBeenSet; }
123 template<typename IndexArnT = Aws::String>
124 void SetIndexArn(IndexArnT&& value) { m_indexArnHasBeenSet = true; m_indexArn = std::forward<IndexArnT>(value); }
125 template<typename IndexArnT = Aws::String>
126 LocalSecondaryIndexDescription& WithIndexArn(IndexArnT&& value) { SetIndexArn(std::forward<IndexArnT>(value)); return *this;}
128 private:
129
130 Aws::String m_indexName;
131 bool m_indexNameHasBeenSet = false;
132
134 bool m_keySchemaHasBeenSet = false;
135
136 Projection m_projection;
137 bool m_projectionHasBeenSet = false;
138
139 long long m_indexSizeBytes{0};
140 bool m_indexSizeBytesHasBeenSet = false;
141
142 long long m_itemCount{0};
143 bool m_itemCountHasBeenSet = false;
144
145 Aws::String m_indexArn;
146 bool m_indexArnHasBeenSet = false;
147 };
148
149} // namespace Model
150} // namespace DynamoDB
151} // namespace Aws
AWS_DYNAMODB_API LocalSecondaryIndexDescription & operator=(Aws::Utils::Json::JsonView jsonValue)
LocalSecondaryIndexDescription & WithProjection(ProjectionT &&value)
LocalSecondaryIndexDescription & WithIndexArn(IndexArnT &&value)
AWS_DYNAMODB_API LocalSecondaryIndexDescription(Aws::Utils::Json::JsonView jsonValue)
LocalSecondaryIndexDescription & WithIndexName(IndexNameT &&value)
LocalSecondaryIndexDescription & AddKeySchema(KeySchemaT &&value)
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
LocalSecondaryIndexDescription & WithIndexSizeBytes(long long value)
LocalSecondaryIndexDescription & WithKeySchema(KeySchemaT &&value)
AWS_DYNAMODB_API LocalSecondaryIndexDescription()=default
LocalSecondaryIndexDescription & WithItemCount(long long value)
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue