Skip to content

Commit a62fa91

Browse files
Update generated code (#1137)
* update generated code * Fix empty constructor * Apply suggestions from code review Co-authored-by: Jérémy Derussé <[email protected]>
1 parent f5695de commit a62fa91

14 files changed

+242
-0
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
- AWS api-change: Added `ca-central-1` region
99
- AWS api-change: Use specific configuration for `us` regions
1010
- AWS enhancement: Updated Help section for "dynamodb update-contributor-insights" API
11+
- AWS api-change: Add support for Table Classes and introduce the Standard Infrequent Access table class.
12+
- AWS api-change: DynamoDB PartiQL now supports ReturnConsumedCapacity, which returns capacity units consumed by PartiQL APIs if the request specified returnConsumedCapacity parameter. PartiQL APIs include ExecuteStatement, BatchExecuteStatement, and ExecuteTransaction.
1113

1214
## 1.1.1
1315

src/DynamoDbClient.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use AsyncAws\DynamoDb\Enum\ReturnItemCollectionMetrics;
1414
use AsyncAws\DynamoDb\Enum\ReturnValue;
1515
use AsyncAws\DynamoDb\Enum\Select;
16+
use AsyncAws\DynamoDb\Enum\TableClass;
1617
use AsyncAws\DynamoDb\Exception\ConditionalCheckFailedException;
1718
use AsyncAws\DynamoDb\Exception\InternalServerErrorException;
1819
use AsyncAws\DynamoDb\Exception\ItemCollectionSizeLimitExceededException;
@@ -156,6 +157,7 @@ public function batchWriteItem($input): BatchWriteItemOutput
156157
* StreamSpecification?: StreamSpecification|array,
157158
* SSESpecification?: SSESpecification|array,
158159
* Tags?: Tag[],
160+
* TableClass?: TableClass::*,
159161
* @region?: string,
160162
* }|CreateTableInput $input
161163
*
@@ -583,6 +585,7 @@ public function updateItem($input): UpdateItemOutput
583585
* StreamSpecification?: StreamSpecification|array,
584586
* SSESpecification?: SSESpecification|array,
585587
* ReplicaUpdates?: ReplicationGroupUpdate[],
588+
* TableClass?: TableClass::*,
586589
* @region?: string,
587590
* }|UpdateTableInput $input
588591
*

src/Enum/TableClass.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace AsyncAws\DynamoDb\Enum;
4+
5+
/**
6+
* The table class of the new table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
7+
*/
8+
final class TableClass
9+
{
10+
public const STANDARD = 'STANDARD';
11+
public const STANDARD_INFREQUENT_ACCESS = 'STANDARD_INFREQUENT_ACCESS';
12+
13+
public static function exists(string $value): bool
14+
{
15+
return isset([
16+
self::STANDARD => true,
17+
self::STANDARD_INFREQUENT_ACCESS => true,
18+
][$value]);
19+
}
20+
}

src/Input/CreateTableInput.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use AsyncAws\Core\Request;
88
use AsyncAws\Core\Stream\StreamFactory;
99
use AsyncAws\DynamoDb\Enum\BillingMode;
10+
use AsyncAws\DynamoDb\Enum\TableClass;
1011
use AsyncAws\DynamoDb\ValueObject\AttributeDefinition;
1112
use AsyncAws\DynamoDb\ValueObject\GlobalSecondaryIndex;
1213
use AsyncAws\DynamoDb\ValueObject\KeySchemaElement;
@@ -107,6 +108,13 @@ final class CreateTableInput extends Input
107108
*/
108109
private $tags;
109110

111+
/**
112+
* The table class of the new table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
113+
*
114+
* @var TableClass::*|null
115+
*/
116+
private $tableClass;
117+
110118
/**
111119
* @param array{
112120
* AttributeDefinitions?: AttributeDefinition[],
@@ -119,6 +127,7 @@ final class CreateTableInput extends Input
119127
* StreamSpecification?: StreamSpecification|array,
120128
* SSESpecification?: SSESpecification|array,
121129
* Tags?: Tag[],
130+
* TableClass?: TableClass::*,
122131
* @region?: string,
123132
* } $input
124133
*/
@@ -134,6 +143,7 @@ public function __construct(array $input = [])
134143
$this->streamSpecification = isset($input['StreamSpecification']) ? StreamSpecification::create($input['StreamSpecification']) : null;
135144
$this->sseSpecification = isset($input['SSESpecification']) ? SSESpecification::create($input['SSESpecification']) : null;
136145
$this->tags = isset($input['Tags']) ? array_map([Tag::class, 'create'], $input['Tags']) : null;
146+
$this->tableClass = $input['TableClass'] ?? null;
137147
parent::__construct($input);
138148
}
139149

@@ -197,6 +207,14 @@ public function getStreamSpecification(): ?StreamSpecification
197207
return $this->streamSpecification;
198208
}
199209

210+
/**
211+
* @return TableClass::*|null
212+
*/
213+
public function getTableClass(): ?string
214+
{
215+
return $this->tableClass;
216+
}
217+
200218
public function getTableName(): ?string
201219
{
202220
return $this->tableName;
@@ -306,6 +324,16 @@ public function setStreamSpecification(?StreamSpecification $value): self
306324
return $this;
307325
}
308326

327+
/**
328+
* @param TableClass::*|null $value
329+
*/
330+
public function setTableClass(?string $value): self
331+
{
332+
$this->tableClass = $value;
333+
334+
return $this;
335+
}
336+
309337
public function setTableName(?string $value): self
310338
{
311339
$this->tableName = $value;
@@ -391,6 +419,12 @@ private function requestBody(): array
391419
$payload['Tags'][$index] = $listValue->requestBody();
392420
}
393421
}
422+
if (null !== $v = $this->tableClass) {
423+
if (!TableClass::exists($v)) {
424+
throw new InvalidArgument(sprintf('Invalid parameter "TableClass" for "%s". The value "%s" is not a valid "TableClass".', __CLASS__, $v));
425+
}
426+
$payload['TableClass'] = $v;
427+
}
394428

395429
return $payload;
396430
}

src/Input/UpdateTableInput.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use AsyncAws\Core\Request;
88
use AsyncAws\Core\Stream\StreamFactory;
99
use AsyncAws\DynamoDb\Enum\BillingMode;
10+
use AsyncAws\DynamoDb\Enum\TableClass;
1011
use AsyncAws\DynamoDb\ValueObject\AttributeDefinition;
1112
use AsyncAws\DynamoDb\ValueObject\GlobalSecondaryIndexUpdate;
1213
use AsyncAws\DynamoDb\ValueObject\ProvisionedThroughput;
@@ -82,6 +83,13 @@ final class UpdateTableInput extends Input
8283
*/
8384
private $replicaUpdates;
8485

86+
/**
87+
* The table class of the table to be updated. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
88+
*
89+
* @var TableClass::*|null
90+
*/
91+
private $tableClass;
92+
8593
/**
8694
* @param array{
8795
* AttributeDefinitions?: AttributeDefinition[],
@@ -92,6 +100,7 @@ final class UpdateTableInput extends Input
92100
* StreamSpecification?: StreamSpecification|array,
93101
* SSESpecification?: SSESpecification|array,
94102
* ReplicaUpdates?: ReplicationGroupUpdate[],
103+
* TableClass?: TableClass::*,
95104
* @region?: string,
96105
* } $input
97106
*/
@@ -105,6 +114,7 @@ public function __construct(array $input = [])
105114
$this->streamSpecification = isset($input['StreamSpecification']) ? StreamSpecification::create($input['StreamSpecification']) : null;
106115
$this->sseSpecification = isset($input['SSESpecification']) ? SSESpecification::create($input['SSESpecification']) : null;
107116
$this->replicaUpdates = isset($input['ReplicaUpdates']) ? array_map([ReplicationGroupUpdate::class, 'create'], $input['ReplicaUpdates']) : null;
117+
$this->tableClass = $input['TableClass'] ?? null;
108118
parent::__construct($input);
109119
}
110120

@@ -160,6 +170,14 @@ public function getStreamSpecification(): ?StreamSpecification
160170
return $this->streamSpecification;
161171
}
162172

173+
/**
174+
* @return TableClass::*|null
175+
*/
176+
public function getTableClass(): ?string
177+
{
178+
return $this->tableClass;
179+
}
180+
163181
public function getTableName(): ?string
164182
{
165183
return $this->tableName;
@@ -251,6 +269,16 @@ public function setStreamSpecification(?StreamSpecification $value): self
251269
return $this;
252270
}
253271

272+
/**
273+
* @param TableClass::*|null $value
274+
*/
275+
public function setTableClass(?string $value): self
276+
{
277+
$this->tableClass = $value;
278+
279+
return $this;
280+
}
281+
254282
public function setTableName(?string $value): self
255283
{
256284
$this->tableName = $value;
@@ -304,6 +332,12 @@ private function requestBody(): array
304332
$payload['ReplicaUpdates'][$index] = $listValue->requestBody();
305333
}
306334
}
335+
if (null !== $v = $this->tableClass) {
336+
if (!TableClass::exists($v)) {
337+
throw new InvalidArgument(sprintf('Invalid parameter "TableClass" for "%s". The value "%s" is not a valid "TableClass".', __CLASS__, $v));
338+
}
339+
$payload['TableClass'] = $v;
340+
}
307341

308342
return $payload;
309343
}

src/Result/CreateTableOutput.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use AsyncAws\DynamoDb\ValueObject\RestoreSummary;
1919
use AsyncAws\DynamoDb\ValueObject\SSEDescription;
2020
use AsyncAws\DynamoDb\ValueObject\StreamSpecification;
21+
use AsyncAws\DynamoDb\ValueObject\TableClassSummary;
2122
use AsyncAws\DynamoDb\ValueObject\TableDescription;
2223

2324
/**
@@ -89,6 +90,10 @@ protected function populateResult(Response $response): void
8990
'ArchivalReason' => isset($data['TableDescription']['ArchivalSummary']['ArchivalReason']) ? (string) $data['TableDescription']['ArchivalSummary']['ArchivalReason'] : null,
9091
'ArchivalBackupArn' => isset($data['TableDescription']['ArchivalSummary']['ArchivalBackupArn']) ? (string) $data['TableDescription']['ArchivalSummary']['ArchivalBackupArn'] : null,
9192
]),
93+
'TableClassSummary' => empty($data['TableDescription']['TableClassSummary']) ? null : new TableClassSummary([
94+
'TableClass' => isset($data['TableDescription']['TableClassSummary']['TableClass']) ? (string) $data['TableDescription']['TableClassSummary']['TableClass'] : null,
95+
'LastUpdateDateTime' => (isset($data['TableDescription']['TableClassSummary']['LastUpdateDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $data['TableDescription']['TableClassSummary']['LastUpdateDateTime'])))) ? $d : null,
96+
]),
9297
]);
9398
}
9499

@@ -213,6 +218,10 @@ private function populateResultReplicaDescriptionList(array $json): array
213218
]),
214219
'GlobalSecondaryIndexes' => !isset($item['GlobalSecondaryIndexes']) ? null : $this->populateResultReplicaGlobalSecondaryIndexDescriptionList($item['GlobalSecondaryIndexes']),
215220
'ReplicaInaccessibleDateTime' => (isset($item['ReplicaInaccessibleDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $item['ReplicaInaccessibleDateTime'])))) ? $d : null,
221+
'ReplicaTableClassSummary' => empty($item['ReplicaTableClassSummary']) ? null : new TableClassSummary([
222+
'TableClass' => isset($item['ReplicaTableClassSummary']['TableClass']) ? (string) $item['ReplicaTableClassSummary']['TableClass'] : null,
223+
'LastUpdateDateTime' => (isset($item['ReplicaTableClassSummary']['LastUpdateDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $item['ReplicaTableClassSummary']['LastUpdateDateTime'])))) ? $d : null,
224+
]),
216225
]);
217226
}
218227

src/Result/DeleteTableOutput.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use AsyncAws\DynamoDb\ValueObject\RestoreSummary;
1919
use AsyncAws\DynamoDb\ValueObject\SSEDescription;
2020
use AsyncAws\DynamoDb\ValueObject\StreamSpecification;
21+
use AsyncAws\DynamoDb\ValueObject\TableClassSummary;
2122
use AsyncAws\DynamoDb\ValueObject\TableDescription;
2223

2324
/**
@@ -89,6 +90,10 @@ protected function populateResult(Response $response): void
8990
'ArchivalReason' => isset($data['TableDescription']['ArchivalSummary']['ArchivalReason']) ? (string) $data['TableDescription']['ArchivalSummary']['ArchivalReason'] : null,
9091
'ArchivalBackupArn' => isset($data['TableDescription']['ArchivalSummary']['ArchivalBackupArn']) ? (string) $data['TableDescription']['ArchivalSummary']['ArchivalBackupArn'] : null,
9192
]),
93+
'TableClassSummary' => empty($data['TableDescription']['TableClassSummary']) ? null : new TableClassSummary([
94+
'TableClass' => isset($data['TableDescription']['TableClassSummary']['TableClass']) ? (string) $data['TableDescription']['TableClassSummary']['TableClass'] : null,
95+
'LastUpdateDateTime' => (isset($data['TableDescription']['TableClassSummary']['LastUpdateDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $data['TableDescription']['TableClassSummary']['LastUpdateDateTime'])))) ? $d : null,
96+
]),
9297
]);
9398
}
9499

@@ -213,6 +218,10 @@ private function populateResultReplicaDescriptionList(array $json): array
213218
]),
214219
'GlobalSecondaryIndexes' => !isset($item['GlobalSecondaryIndexes']) ? null : $this->populateResultReplicaGlobalSecondaryIndexDescriptionList($item['GlobalSecondaryIndexes']),
215220
'ReplicaInaccessibleDateTime' => (isset($item['ReplicaInaccessibleDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $item['ReplicaInaccessibleDateTime'])))) ? $d : null,
221+
'ReplicaTableClassSummary' => empty($item['ReplicaTableClassSummary']) ? null : new TableClassSummary([
222+
'TableClass' => isset($item['ReplicaTableClassSummary']['TableClass']) ? (string) $item['ReplicaTableClassSummary']['TableClass'] : null,
223+
'LastUpdateDateTime' => (isset($item['ReplicaTableClassSummary']['LastUpdateDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $item['ReplicaTableClassSummary']['LastUpdateDateTime'])))) ? $d : null,
224+
]),
216225
]);
217226
}
218227

src/Result/DescribeTableOutput.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use AsyncAws\DynamoDb\ValueObject\RestoreSummary;
1919
use AsyncAws\DynamoDb\ValueObject\SSEDescription;
2020
use AsyncAws\DynamoDb\ValueObject\StreamSpecification;
21+
use AsyncAws\DynamoDb\ValueObject\TableClassSummary;
2122
use AsyncAws\DynamoDb\ValueObject\TableDescription;
2223

2324
/**
@@ -89,6 +90,10 @@ protected function populateResult(Response $response): void
8990
'ArchivalReason' => isset($data['Table']['ArchivalSummary']['ArchivalReason']) ? (string) $data['Table']['ArchivalSummary']['ArchivalReason'] : null,
9091
'ArchivalBackupArn' => isset($data['Table']['ArchivalSummary']['ArchivalBackupArn']) ? (string) $data['Table']['ArchivalSummary']['ArchivalBackupArn'] : null,
9192
]),
93+
'TableClassSummary' => empty($data['Table']['TableClassSummary']) ? null : new TableClassSummary([
94+
'TableClass' => isset($data['Table']['TableClassSummary']['TableClass']) ? (string) $data['Table']['TableClassSummary']['TableClass'] : null,
95+
'LastUpdateDateTime' => (isset($data['Table']['TableClassSummary']['LastUpdateDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $data['Table']['TableClassSummary']['LastUpdateDateTime'])))) ? $d : null,
96+
]),
9297
]);
9398
}
9499

@@ -213,6 +218,10 @@ private function populateResultReplicaDescriptionList(array $json): array
213218
]),
214219
'GlobalSecondaryIndexes' => !isset($item['GlobalSecondaryIndexes']) ? null : $this->populateResultReplicaGlobalSecondaryIndexDescriptionList($item['GlobalSecondaryIndexes']),
215220
'ReplicaInaccessibleDateTime' => (isset($item['ReplicaInaccessibleDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $item['ReplicaInaccessibleDateTime'])))) ? $d : null,
221+
'ReplicaTableClassSummary' => empty($item['ReplicaTableClassSummary']) ? null : new TableClassSummary([
222+
'TableClass' => isset($item['ReplicaTableClassSummary']['TableClass']) ? (string) $item['ReplicaTableClassSummary']['TableClass'] : null,
223+
'LastUpdateDateTime' => (isset($item['ReplicaTableClassSummary']['LastUpdateDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $item['ReplicaTableClassSummary']['LastUpdateDateTime'])))) ? $d : null,
224+
]),
216225
]);
217226
}
218227

src/Result/UpdateTableOutput.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use AsyncAws\DynamoDb\ValueObject\RestoreSummary;
1919
use AsyncAws\DynamoDb\ValueObject\SSEDescription;
2020
use AsyncAws\DynamoDb\ValueObject\StreamSpecification;
21+
use AsyncAws\DynamoDb\ValueObject\TableClassSummary;
2122
use AsyncAws\DynamoDb\ValueObject\TableDescription;
2223

2324
/**
@@ -89,6 +90,10 @@ protected function populateResult(Response $response): void
8990
'ArchivalReason' => isset($data['TableDescription']['ArchivalSummary']['ArchivalReason']) ? (string) $data['TableDescription']['ArchivalSummary']['ArchivalReason'] : null,
9091
'ArchivalBackupArn' => isset($data['TableDescription']['ArchivalSummary']['ArchivalBackupArn']) ? (string) $data['TableDescription']['ArchivalSummary']['ArchivalBackupArn'] : null,
9192
]),
93+
'TableClassSummary' => empty($data['TableDescription']['TableClassSummary']) ? null : new TableClassSummary([
94+
'TableClass' => isset($data['TableDescription']['TableClassSummary']['TableClass']) ? (string) $data['TableDescription']['TableClassSummary']['TableClass'] : null,
95+
'LastUpdateDateTime' => (isset($data['TableDescription']['TableClassSummary']['LastUpdateDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $data['TableDescription']['TableClassSummary']['LastUpdateDateTime'])))) ? $d : null,
96+
]),
9297
]);
9398
}
9499

@@ -213,6 +218,10 @@ private function populateResultReplicaDescriptionList(array $json): array
213218
]),
214219
'GlobalSecondaryIndexes' => !isset($item['GlobalSecondaryIndexes']) ? null : $this->populateResultReplicaGlobalSecondaryIndexDescriptionList($item['GlobalSecondaryIndexes']),
215220
'ReplicaInaccessibleDateTime' => (isset($item['ReplicaInaccessibleDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $item['ReplicaInaccessibleDateTime'])))) ? $d : null,
221+
'ReplicaTableClassSummary' => empty($item['ReplicaTableClassSummary']) ? null : new TableClassSummary([
222+
'TableClass' => isset($item['ReplicaTableClassSummary']['TableClass']) ? (string) $item['ReplicaTableClassSummary']['TableClass'] : null,
223+
'LastUpdateDateTime' => (isset($item['ReplicaTableClassSummary']['LastUpdateDateTime']) && ($d = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', $item['ReplicaTableClassSummary']['LastUpdateDateTime'])))) ? $d : null,
224+
]),
216225
]);
217226
}
218227

0 commit comments

Comments
 (0)