1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/securityhub/SecurityHub_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/securityhub/model/AwsDynamoDbTableProjection.h> 11 #include <aws/securityhub/model/AwsDynamoDbTableProvisionedThroughput.h> 12 #include <aws/securityhub/model/AwsDynamoDbTableKeySchema.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace SecurityHub 26 { 27 namespace Model 28 { 29 30 /** 31 * <p>Information abut a global secondary index for the table.</p><p><h3>See 32 * Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsDynamoDbTableGlobalSecondaryIndex">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_SECURITYHUB_API AwsDynamoDbTableGlobalSecondaryIndex 37 { 38 public: 39 AwsDynamoDbTableGlobalSecondaryIndex(); 40 AwsDynamoDbTableGlobalSecondaryIndex(Aws::Utils::Json::JsonView jsonValue); 41 AwsDynamoDbTableGlobalSecondaryIndex& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>Whether the index is currently backfilling.</p> 47 */ GetBackfilling()48 inline bool GetBackfilling() const{ return m_backfilling; } 49 50 /** 51 * <p>Whether the index is currently backfilling.</p> 52 */ BackfillingHasBeenSet()53 inline bool BackfillingHasBeenSet() const { return m_backfillingHasBeenSet; } 54 55 /** 56 * <p>Whether the index is currently backfilling.</p> 57 */ SetBackfilling(bool value)58 inline void SetBackfilling(bool value) { m_backfillingHasBeenSet = true; m_backfilling = value; } 59 60 /** 61 * <p>Whether the index is currently backfilling.</p> 62 */ WithBackfilling(bool value)63 inline AwsDynamoDbTableGlobalSecondaryIndex& WithBackfilling(bool value) { SetBackfilling(value); return *this;} 64 65 66 /** 67 * <p>The ARN of the index.</p> 68 */ GetIndexArn()69 inline const Aws::String& GetIndexArn() const{ return m_indexArn; } 70 71 /** 72 * <p>The ARN of the index.</p> 73 */ IndexArnHasBeenSet()74 inline bool IndexArnHasBeenSet() const { return m_indexArnHasBeenSet; } 75 76 /** 77 * <p>The ARN of the index.</p> 78 */ SetIndexArn(const Aws::String & value)79 inline void SetIndexArn(const Aws::String& value) { m_indexArnHasBeenSet = true; m_indexArn = value; } 80 81 /** 82 * <p>The ARN of the index.</p> 83 */ SetIndexArn(Aws::String && value)84 inline void SetIndexArn(Aws::String&& value) { m_indexArnHasBeenSet = true; m_indexArn = std::move(value); } 85 86 /** 87 * <p>The ARN of the index.</p> 88 */ SetIndexArn(const char * value)89 inline void SetIndexArn(const char* value) { m_indexArnHasBeenSet = true; m_indexArn.assign(value); } 90 91 /** 92 * <p>The ARN of the index.</p> 93 */ WithIndexArn(const Aws::String & value)94 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexArn(const Aws::String& value) { SetIndexArn(value); return *this;} 95 96 /** 97 * <p>The ARN of the index.</p> 98 */ WithIndexArn(Aws::String && value)99 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexArn(Aws::String&& value) { SetIndexArn(std::move(value)); return *this;} 100 101 /** 102 * <p>The ARN of the index.</p> 103 */ WithIndexArn(const char * value)104 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexArn(const char* value) { SetIndexArn(value); return *this;} 105 106 107 /** 108 * <p>The name of the index.</p> 109 */ GetIndexName()110 inline const Aws::String& GetIndexName() const{ return m_indexName; } 111 112 /** 113 * <p>The name of the index.</p> 114 */ IndexNameHasBeenSet()115 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; } 116 117 /** 118 * <p>The name of the index.</p> 119 */ SetIndexName(const Aws::String & value)120 inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; } 121 122 /** 123 * <p>The name of the index.</p> 124 */ SetIndexName(Aws::String && value)125 inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = std::move(value); } 126 127 /** 128 * <p>The name of the index.</p> 129 */ SetIndexName(const char * value)130 inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); } 131 132 /** 133 * <p>The name of the index.</p> 134 */ WithIndexName(const Aws::String & value)135 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;} 136 137 /** 138 * <p>The name of the index.</p> 139 */ WithIndexName(Aws::String && value)140 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexName(Aws::String&& value) { SetIndexName(std::move(value)); return *this;} 141 142 /** 143 * <p>The name of the index.</p> 144 */ WithIndexName(const char * value)145 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexName(const char* value) { SetIndexName(value); return *this;} 146 147 148 /** 149 * <p>The total size in bytes of the index.</p> 150 */ GetIndexSizeBytes()151 inline long long GetIndexSizeBytes() const{ return m_indexSizeBytes; } 152 153 /** 154 * <p>The total size in bytes of the index.</p> 155 */ IndexSizeBytesHasBeenSet()156 inline bool IndexSizeBytesHasBeenSet() const { return m_indexSizeBytesHasBeenSet; } 157 158 /** 159 * <p>The total size in bytes of the index.</p> 160 */ SetIndexSizeBytes(long long value)161 inline void SetIndexSizeBytes(long long value) { m_indexSizeBytesHasBeenSet = true; m_indexSizeBytes = value; } 162 163 /** 164 * <p>The total size in bytes of the index.</p> 165 */ WithIndexSizeBytes(long long value)166 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexSizeBytes(long long value) { SetIndexSizeBytes(value); return *this;} 167 168 169 /** 170 * <p>The current status of the index.</p> 171 */ GetIndexStatus()172 inline const Aws::String& GetIndexStatus() const{ return m_indexStatus; } 173 174 /** 175 * <p>The current status of the index.</p> 176 */ IndexStatusHasBeenSet()177 inline bool IndexStatusHasBeenSet() const { return m_indexStatusHasBeenSet; } 178 179 /** 180 * <p>The current status of the index.</p> 181 */ SetIndexStatus(const Aws::String & value)182 inline void SetIndexStatus(const Aws::String& value) { m_indexStatusHasBeenSet = true; m_indexStatus = value; } 183 184 /** 185 * <p>The current status of the index.</p> 186 */ SetIndexStatus(Aws::String && value)187 inline void SetIndexStatus(Aws::String&& value) { m_indexStatusHasBeenSet = true; m_indexStatus = std::move(value); } 188 189 /** 190 * <p>The current status of the index.</p> 191 */ SetIndexStatus(const char * value)192 inline void SetIndexStatus(const char* value) { m_indexStatusHasBeenSet = true; m_indexStatus.assign(value); } 193 194 /** 195 * <p>The current status of the index.</p> 196 */ WithIndexStatus(const Aws::String & value)197 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexStatus(const Aws::String& value) { SetIndexStatus(value); return *this;} 198 199 /** 200 * <p>The current status of the index.</p> 201 */ WithIndexStatus(Aws::String && value)202 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexStatus(Aws::String&& value) { SetIndexStatus(std::move(value)); return *this;} 203 204 /** 205 * <p>The current status of the index.</p> 206 */ WithIndexStatus(const char * value)207 inline AwsDynamoDbTableGlobalSecondaryIndex& WithIndexStatus(const char* value) { SetIndexStatus(value); return *this;} 208 209 210 /** 211 * <p>The number of items in the index.</p> 212 */ GetItemCount()213 inline int GetItemCount() const{ return m_itemCount; } 214 215 /** 216 * <p>The number of items in the index.</p> 217 */ ItemCountHasBeenSet()218 inline bool ItemCountHasBeenSet() const { return m_itemCountHasBeenSet; } 219 220 /** 221 * <p>The number of items in the index.</p> 222 */ SetItemCount(int value)223 inline void SetItemCount(int value) { m_itemCountHasBeenSet = true; m_itemCount = value; } 224 225 /** 226 * <p>The number of items in the index.</p> 227 */ WithItemCount(int value)228 inline AwsDynamoDbTableGlobalSecondaryIndex& WithItemCount(int value) { SetItemCount(value); return *this;} 229 230 231 /** 232 * <p>The key schema for the index.</p> 233 */ GetKeySchema()234 inline const Aws::Vector<AwsDynamoDbTableKeySchema>& GetKeySchema() const{ return m_keySchema; } 235 236 /** 237 * <p>The key schema for the index.</p> 238 */ KeySchemaHasBeenSet()239 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; } 240 241 /** 242 * <p>The key schema for the index.</p> 243 */ SetKeySchema(const Aws::Vector<AwsDynamoDbTableKeySchema> & value)244 inline void SetKeySchema(const Aws::Vector<AwsDynamoDbTableKeySchema>& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; } 245 246 /** 247 * <p>The key schema for the index.</p> 248 */ SetKeySchema(Aws::Vector<AwsDynamoDbTableKeySchema> && value)249 inline void SetKeySchema(Aws::Vector<AwsDynamoDbTableKeySchema>&& value) { m_keySchemaHasBeenSet = true; m_keySchema = std::move(value); } 250 251 /** 252 * <p>The key schema for the index.</p> 253 */ WithKeySchema(const Aws::Vector<AwsDynamoDbTableKeySchema> & value)254 inline AwsDynamoDbTableGlobalSecondaryIndex& WithKeySchema(const Aws::Vector<AwsDynamoDbTableKeySchema>& value) { SetKeySchema(value); return *this;} 255 256 /** 257 * <p>The key schema for the index.</p> 258 */ WithKeySchema(Aws::Vector<AwsDynamoDbTableKeySchema> && value)259 inline AwsDynamoDbTableGlobalSecondaryIndex& WithKeySchema(Aws::Vector<AwsDynamoDbTableKeySchema>&& value) { SetKeySchema(std::move(value)); return *this;} 260 261 /** 262 * <p>The key schema for the index.</p> 263 */ AddKeySchema(const AwsDynamoDbTableKeySchema & value)264 inline AwsDynamoDbTableGlobalSecondaryIndex& AddKeySchema(const AwsDynamoDbTableKeySchema& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; } 265 266 /** 267 * <p>The key schema for the index.</p> 268 */ AddKeySchema(AwsDynamoDbTableKeySchema && value)269 inline AwsDynamoDbTableGlobalSecondaryIndex& AddKeySchema(AwsDynamoDbTableKeySchema&& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(std::move(value)); return *this; } 270 271 272 /** 273 * <p>Attributes that are copied from the table into an index.</p> 274 */ GetProjection()275 inline const AwsDynamoDbTableProjection& GetProjection() const{ return m_projection; } 276 277 /** 278 * <p>Attributes that are copied from the table into an index.</p> 279 */ ProjectionHasBeenSet()280 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; } 281 282 /** 283 * <p>Attributes that are copied from the table into an index.</p> 284 */ SetProjection(const AwsDynamoDbTableProjection & value)285 inline void SetProjection(const AwsDynamoDbTableProjection& value) { m_projectionHasBeenSet = true; m_projection = value; } 286 287 /** 288 * <p>Attributes that are copied from the table into an index.</p> 289 */ SetProjection(AwsDynamoDbTableProjection && value)290 inline void SetProjection(AwsDynamoDbTableProjection&& value) { m_projectionHasBeenSet = true; m_projection = std::move(value); } 291 292 /** 293 * <p>Attributes that are copied from the table into an index.</p> 294 */ WithProjection(const AwsDynamoDbTableProjection & value)295 inline AwsDynamoDbTableGlobalSecondaryIndex& WithProjection(const AwsDynamoDbTableProjection& value) { SetProjection(value); return *this;} 296 297 /** 298 * <p>Attributes that are copied from the table into an index.</p> 299 */ WithProjection(AwsDynamoDbTableProjection && value)300 inline AwsDynamoDbTableGlobalSecondaryIndex& WithProjection(AwsDynamoDbTableProjection&& value) { SetProjection(std::move(value)); return *this;} 301 302 303 /** 304 * <p>Information about the provisioned throughput settings for the indexes.</p> 305 */ GetProvisionedThroughput()306 inline const AwsDynamoDbTableProvisionedThroughput& GetProvisionedThroughput() const{ return m_provisionedThroughput; } 307 308 /** 309 * <p>Information about the provisioned throughput settings for the indexes.</p> 310 */ ProvisionedThroughputHasBeenSet()311 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; } 312 313 /** 314 * <p>Information about the provisioned throughput settings for the indexes.</p> 315 */ SetProvisionedThroughput(const AwsDynamoDbTableProvisionedThroughput & value)316 inline void SetProvisionedThroughput(const AwsDynamoDbTableProvisionedThroughput& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; } 317 318 /** 319 * <p>Information about the provisioned throughput settings for the indexes.</p> 320 */ SetProvisionedThroughput(AwsDynamoDbTableProvisionedThroughput && value)321 inline void SetProvisionedThroughput(AwsDynamoDbTableProvisionedThroughput&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::move(value); } 322 323 /** 324 * <p>Information about the provisioned throughput settings for the indexes.</p> 325 */ WithProvisionedThroughput(const AwsDynamoDbTableProvisionedThroughput & value)326 inline AwsDynamoDbTableGlobalSecondaryIndex& WithProvisionedThroughput(const AwsDynamoDbTableProvisionedThroughput& value) { SetProvisionedThroughput(value); return *this;} 327 328 /** 329 * <p>Information about the provisioned throughput settings for the indexes.</p> 330 */ WithProvisionedThroughput(AwsDynamoDbTableProvisionedThroughput && value)331 inline AwsDynamoDbTableGlobalSecondaryIndex& WithProvisionedThroughput(AwsDynamoDbTableProvisionedThroughput&& value) { SetProvisionedThroughput(std::move(value)); return *this;} 332 333 private: 334 335 bool m_backfilling; 336 bool m_backfillingHasBeenSet; 337 338 Aws::String m_indexArn; 339 bool m_indexArnHasBeenSet; 340 341 Aws::String m_indexName; 342 bool m_indexNameHasBeenSet; 343 344 long long m_indexSizeBytes; 345 bool m_indexSizeBytesHasBeenSet; 346 347 Aws::String m_indexStatus; 348 bool m_indexStatusHasBeenSet; 349 350 int m_itemCount; 351 bool m_itemCountHasBeenSet; 352 353 Aws::Vector<AwsDynamoDbTableKeySchema> m_keySchema; 354 bool m_keySchemaHasBeenSet; 355 356 AwsDynamoDbTableProjection m_projection; 357 bool m_projectionHasBeenSet; 358 359 AwsDynamoDbTableProvisionedThroughput m_provisionedThroughput; 360 bool m_provisionedThroughputHasBeenSet; 361 }; 362 363 } // namespace Model 364 } // namespace SecurityHub 365 } // namespace Aws 366