Skip to content

Commit 5fb219a

Browse files
authored
Fix the generated param types for maps and lists (#1466)
The constructor are not enforcing the usage of value objects. They also support passing an array accepted by the create method.
1 parent ca13dc3 commit 5fb219a

33 files changed

+149
-149
lines changed

src/DynamoDbClient.php

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ class DynamoDbClient extends AbstractApi
133133
* @see https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-dynamodb-2012-08-10.html#batchgetitem
134134
*
135135
* @param array{
136-
* RequestItems: array<string, KeysAndAttributes>,
136+
* RequestItems: array<string, KeysAndAttributes|array>,
137137
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
138138
* '@region'?: string|null,
139139
* }|BatchGetItemInput $input
@@ -265,16 +265,16 @@ public function batchWriteItem($input): BatchWriteItemOutput
265265
* @see https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-dynamodb-2012-08-10.html#createtable
266266
*
267267
* @param array{
268-
* AttributeDefinitions: AttributeDefinition[],
268+
* AttributeDefinitions: array<AttributeDefinition|array>,
269269
* TableName: string,
270-
* KeySchema: KeySchemaElement[],
271-
* LocalSecondaryIndexes?: LocalSecondaryIndex[],
272-
* GlobalSecondaryIndexes?: GlobalSecondaryIndex[],
270+
* KeySchema: array<KeySchemaElement|array>,
271+
* LocalSecondaryIndexes?: array<LocalSecondaryIndex|array>,
272+
* GlobalSecondaryIndexes?: array<GlobalSecondaryIndex|array>,
273273
* BillingMode?: BillingMode::*,
274274
* ProvisionedThroughput?: ProvisionedThroughput|array,
275275
* StreamSpecification?: StreamSpecification|array,
276276
* SSESpecification?: SSESpecification|array,
277-
* Tags?: Tag[],
277+
* Tags?: array<Tag|array>,
278278
* TableClass?: TableClass::*,
279279
* DeletionProtectionEnabled?: bool,
280280
* '@region'?: string|null,
@@ -314,15 +314,15 @@ public function createTable($input): CreateTableOutput
314314
*
315315
* @param array{
316316
* TableName: string,
317-
* Key: array<string, AttributeValue>,
318-
* Expected?: array<string, ExpectedAttributeValue>,
317+
* Key: array<string, AttributeValue|array>,
318+
* Expected?: array<string, ExpectedAttributeValue|array>,
319319
* ConditionalOperator?: ConditionalOperator::*,
320320
* ReturnValues?: ReturnValue::*,
321321
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
322322
* ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics::*,
323323
* ConditionExpression?: string,
324324
* ExpressionAttributeNames?: array<string, string>,
325-
* ExpressionAttributeValues?: array<string, AttributeValue>,
325+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
326326
* '@region'?: string|null,
327327
* }|DeleteItemInput $input
328328
*
@@ -471,7 +471,7 @@ public function describeTable($input): DescribeTableOutput
471471
*
472472
* @param array{
473473
* Statement: string,
474-
* Parameters?: AttributeValue[],
474+
* Parameters?: array<AttributeValue|array>,
475475
* ConsistentRead?: bool,
476476
* NextToken?: string,
477477
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
@@ -518,7 +518,7 @@ public function executeStatement($input): ExecuteStatementOutput
518518
*
519519
* @param array{
520520
* TableName: string,
521-
* Key: array<string, AttributeValue>,
521+
* Key: array<string, AttributeValue|array>,
522522
* AttributesToGet?: string[],
523523
* ConsistentRead?: bool,
524524
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
@@ -599,15 +599,15 @@ public function listTables($input = []): ListTablesOutput
599599
*
600600
* @param array{
601601
* TableName: string,
602-
* Item: array<string, AttributeValue>,
603-
* Expected?: array<string, ExpectedAttributeValue>,
602+
* Item: array<string, AttributeValue|array>,
603+
* Expected?: array<string, ExpectedAttributeValue|array>,
604604
* ReturnValues?: ReturnValue::*,
605605
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
606606
* ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics::*,
607607
* ConditionalOperator?: ConditionalOperator::*,
608608
* ConditionExpression?: string,
609609
* ExpressionAttributeNames?: array<string, string>,
610-
* ExpressionAttributeValues?: array<string, AttributeValue>,
610+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
611611
* '@region'?: string|null,
612612
* }|PutItemInput $input
613613
*
@@ -687,17 +687,17 @@ public function putItem($input): PutItemOutput
687687
* AttributesToGet?: string[],
688688
* Limit?: int,
689689
* ConsistentRead?: bool,
690-
* KeyConditions?: array<string, Condition>,
691-
* QueryFilter?: array<string, Condition>,
690+
* KeyConditions?: array<string, Condition|array>,
691+
* QueryFilter?: array<string, Condition|array>,
692692
* ConditionalOperator?: ConditionalOperator::*,
693693
* ScanIndexForward?: bool,
694-
* ExclusiveStartKey?: array<string, AttributeValue>,
694+
* ExclusiveStartKey?: array<string, AttributeValue|array>,
695695
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
696696
* ProjectionExpression?: string,
697697
* FilterExpression?: string,
698698
* KeyConditionExpression?: string,
699699
* ExpressionAttributeNames?: array<string, string>,
700-
* ExpressionAttributeValues?: array<string, AttributeValue>,
700+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
701701
* '@region'?: string|null,
702702
* }|QueryInput $input
703703
*
@@ -752,16 +752,16 @@ public function query($input): QueryOutput
752752
* AttributesToGet?: string[],
753753
* Limit?: int,
754754
* Select?: Select::*,
755-
* ScanFilter?: array<string, Condition>,
755+
* ScanFilter?: array<string, Condition|array>,
756756
* ConditionalOperator?: ConditionalOperator::*,
757-
* ExclusiveStartKey?: array<string, AttributeValue>,
757+
* ExclusiveStartKey?: array<string, AttributeValue|array>,
758758
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
759759
* TotalSegments?: int,
760760
* Segment?: int,
761761
* ProjectionExpression?: string,
762762
* FilterExpression?: string,
763763
* ExpressionAttributeNames?: array<string, string>,
764-
* ExpressionAttributeValues?: array<string, AttributeValue>,
764+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
765765
* ConsistentRead?: bool,
766766
* '@region'?: string|null,
767767
* }|ScanInput $input
@@ -862,7 +862,7 @@ public function tableNotExists($input): TableNotExistsWaiter
862862
* @see https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-dynamodb-2012-08-10.html#transactwriteitems
863863
*
864864
* @param array{
865-
* TransactItems: TransactWriteItem[],
865+
* TransactItems: array<TransactWriteItem|array>,
866866
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
867867
* ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics::*,
868868
* ClientRequestToken?: string,
@@ -907,17 +907,17 @@ public function transactWriteItems($input): TransactWriteItemsOutput
907907
*
908908
* @param array{
909909
* TableName: string,
910-
* Key: array<string, AttributeValue>,
911-
* AttributeUpdates?: array<string, AttributeValueUpdate>,
912-
* Expected?: array<string, ExpectedAttributeValue>,
910+
* Key: array<string, AttributeValue|array>,
911+
* AttributeUpdates?: array<string, AttributeValueUpdate|array>,
912+
* Expected?: array<string, ExpectedAttributeValue|array>,
913913
* ConditionalOperator?: ConditionalOperator::*,
914914
* ReturnValues?: ReturnValue::*,
915915
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
916916
* ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics::*,
917917
* UpdateExpression?: string,
918918
* ConditionExpression?: string,
919919
* ExpressionAttributeNames?: array<string, string>,
920-
* ExpressionAttributeValues?: array<string, AttributeValue>,
920+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
921921
* '@region'?: string|null,
922922
* }|UpdateItemInput $input
923923
*
@@ -968,14 +968,14 @@ public function updateItem($input): UpdateItemOutput
968968
* @see https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-dynamodb-2012-08-10.html#updatetable
969969
*
970970
* @param array{
971-
* AttributeDefinitions?: AttributeDefinition[],
971+
* AttributeDefinitions?: array<AttributeDefinition|array>,
972972
* TableName: string,
973973
* BillingMode?: BillingMode::*,
974974
* ProvisionedThroughput?: ProvisionedThroughput|array,
975-
* GlobalSecondaryIndexUpdates?: GlobalSecondaryIndexUpdate[],
975+
* GlobalSecondaryIndexUpdates?: array<GlobalSecondaryIndexUpdate|array>,
976976
* StreamSpecification?: StreamSpecification|array,
977977
* SSESpecification?: SSESpecification|array,
978-
* ReplicaUpdates?: ReplicationGroupUpdate[],
978+
* ReplicaUpdates?: array<ReplicationGroupUpdate|array>,
979979
* TableClass?: TableClass::*,
980980
* DeletionProtectionEnabled?: bool,
981981
* '@region'?: string|null,

src/Input/BatchGetItemInput.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ final class BatchGetItemInput extends Input
8181

8282
/**
8383
* @param array{
84-
* RequestItems?: array<string, KeysAndAttributes>,
84+
* RequestItems?: array<string, KeysAndAttributes|array>,
8585
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
8686
* '@region'?: string|null,
8787
* } $input
@@ -100,7 +100,7 @@ public function __construct(array $input = [])
100100

101101
/**
102102
* @param array{
103-
* RequestItems?: array<string, KeysAndAttributes>,
103+
* RequestItems?: array<string, KeysAndAttributes|array>,
104104
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
105105
* '@region'?: string|null,
106106
* }|BatchGetItemInput $input

src/Input/CreateTableInput.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -220,16 +220,16 @@ final class CreateTableInput extends Input
220220

221221
/**
222222
* @param array{
223-
* AttributeDefinitions?: AttributeDefinition[],
223+
* AttributeDefinitions?: array<AttributeDefinition|array>,
224224
* TableName?: string,
225-
* KeySchema?: KeySchemaElement[],
226-
* LocalSecondaryIndexes?: LocalSecondaryIndex[],
227-
* GlobalSecondaryIndexes?: GlobalSecondaryIndex[],
225+
* KeySchema?: array<KeySchemaElement|array>,
226+
* LocalSecondaryIndexes?: array<LocalSecondaryIndex|array>,
227+
* GlobalSecondaryIndexes?: array<GlobalSecondaryIndex|array>,
228228
* BillingMode?: BillingMode::*,
229229
* ProvisionedThroughput?: ProvisionedThroughput|array,
230230
* StreamSpecification?: StreamSpecification|array,
231231
* SSESpecification?: SSESpecification|array,
232-
* Tags?: Tag[],
232+
* Tags?: array<Tag|array>,
233233
* TableClass?: TableClass::*,
234234
* DeletionProtectionEnabled?: bool,
235235
* '@region'?: string|null,
@@ -254,16 +254,16 @@ public function __construct(array $input = [])
254254

255255
/**
256256
* @param array{
257-
* AttributeDefinitions?: AttributeDefinition[],
257+
* AttributeDefinitions?: array<AttributeDefinition|array>,
258258
* TableName?: string,
259-
* KeySchema?: KeySchemaElement[],
260-
* LocalSecondaryIndexes?: LocalSecondaryIndex[],
261-
* GlobalSecondaryIndexes?: GlobalSecondaryIndex[],
259+
* KeySchema?: array<KeySchemaElement|array>,
260+
* LocalSecondaryIndexes?: array<LocalSecondaryIndex|array>,
261+
* GlobalSecondaryIndexes?: array<GlobalSecondaryIndex|array>,
262262
* BillingMode?: BillingMode::*,
263263
* ProvisionedThroughput?: ProvisionedThroughput|array,
264264
* StreamSpecification?: StreamSpecification|array,
265265
* SSESpecification?: SSESpecification|array,
266-
* Tags?: Tag[],
266+
* Tags?: array<Tag|array>,
267267
* TableClass?: TableClass::*,
268268
* DeletionProtectionEnabled?: bool,
269269
* '@region'?: string|null,

src/Input/DeleteItemInput.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,15 +176,15 @@ final class DeleteItemInput extends Input
176176
/**
177177
* @param array{
178178
* TableName?: string,
179-
* Key?: array<string, AttributeValue>,
180-
* Expected?: array<string, ExpectedAttributeValue>,
179+
* Key?: array<string, AttributeValue|array>,
180+
* Expected?: array<string, ExpectedAttributeValue|array>,
181181
* ConditionalOperator?: ConditionalOperator::*,
182182
* ReturnValues?: ReturnValue::*,
183183
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
184184
* ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics::*,
185185
* ConditionExpression?: string,
186186
* ExpressionAttributeNames?: array<string, string>,
187-
* ExpressionAttributeValues?: array<string, AttributeValue>,
187+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
188188
* '@region'?: string|null,
189189
* } $input
190190
*/
@@ -224,15 +224,15 @@ public function __construct(array $input = [])
224224
/**
225225
* @param array{
226226
* TableName?: string,
227-
* Key?: array<string, AttributeValue>,
228-
* Expected?: array<string, ExpectedAttributeValue>,
227+
* Key?: array<string, AttributeValue|array>,
228+
* Expected?: array<string, ExpectedAttributeValue|array>,
229229
* ConditionalOperator?: ConditionalOperator::*,
230230
* ReturnValues?: ReturnValue::*,
231231
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
232232
* ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics::*,
233233
* ConditionExpression?: string,
234234
* ExpressionAttributeNames?: array<string, string>,
235-
* ExpressionAttributeValues?: array<string, AttributeValue>,
235+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
236236
* '@region'?: string|null,
237237
* }|DeleteItemInput $input
238238
*/

src/Input/ExecuteStatementInput.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ final class ExecuteStatementInput extends Input
6262
/**
6363
* @param array{
6464
* Statement?: string,
65-
* Parameters?: AttributeValue[],
65+
* Parameters?: array<AttributeValue|array>,
6666
* ConsistentRead?: bool,
6767
* NextToken?: string,
6868
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
@@ -84,7 +84,7 @@ public function __construct(array $input = [])
8484
/**
8585
* @param array{
8686
* Statement?: string,
87-
* Parameters?: AttributeValue[],
87+
* Parameters?: array<AttributeValue|array>,
8888
* ConsistentRead?: bool,
8989
* NextToken?: string,
9090
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,

src/Input/GetItemInput.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ final class GetItemInput extends Input
113113
/**
114114
* @param array{
115115
* TableName?: string,
116-
* Key?: array<string, AttributeValue>,
116+
* Key?: array<string, AttributeValue|array>,
117117
* AttributesToGet?: string[],
118118
* ConsistentRead?: bool,
119119
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
@@ -143,7 +143,7 @@ public function __construct(array $input = [])
143143
/**
144144
* @param array{
145145
* TableName?: string,
146-
* Key?: array<string, AttributeValue>,
146+
* Key?: array<string, AttributeValue|array>,
147147
* AttributesToGet?: string[],
148148
* ConsistentRead?: bool,
149149
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,

src/Input/PutItemInput.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,15 +191,15 @@ final class PutItemInput extends Input
191191
/**
192192
* @param array{
193193
* TableName?: string,
194-
* Item?: array<string, AttributeValue>,
195-
* Expected?: array<string, ExpectedAttributeValue>,
194+
* Item?: array<string, AttributeValue|array>,
195+
* Expected?: array<string, ExpectedAttributeValue|array>,
196196
* ReturnValues?: ReturnValue::*,
197197
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
198198
* ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics::*,
199199
* ConditionalOperator?: ConditionalOperator::*,
200200
* ConditionExpression?: string,
201201
* ExpressionAttributeNames?: array<string, string>,
202-
* ExpressionAttributeValues?: array<string, AttributeValue>,
202+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
203203
* '@region'?: string|null,
204204
* } $input
205205
*/
@@ -239,15 +239,15 @@ public function __construct(array $input = [])
239239
/**
240240
* @param array{
241241
* TableName?: string,
242-
* Item?: array<string, AttributeValue>,
243-
* Expected?: array<string, ExpectedAttributeValue>,
242+
* Item?: array<string, AttributeValue|array>,
243+
* Expected?: array<string, ExpectedAttributeValue|array>,
244244
* ReturnValues?: ReturnValue::*,
245245
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
246246
* ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics::*,
247247
* ConditionalOperator?: ConditionalOperator::*,
248248
* ConditionExpression?: string,
249249
* ExpressionAttributeNames?: array<string, string>,
250-
* ExpressionAttributeValues?: array<string, AttributeValue>,
250+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
251251
* '@region'?: string|null,
252252
* }|PutItemInput $input
253253
*/

src/Input/QueryInput.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -327,17 +327,17 @@ final class QueryInput extends Input
327327
* AttributesToGet?: string[],
328328
* Limit?: int,
329329
* ConsistentRead?: bool,
330-
* KeyConditions?: array<string, Condition>,
331-
* QueryFilter?: array<string, Condition>,
330+
* KeyConditions?: array<string, Condition|array>,
331+
* QueryFilter?: array<string, Condition|array>,
332332
* ConditionalOperator?: ConditionalOperator::*,
333333
* ScanIndexForward?: bool,
334-
* ExclusiveStartKey?: array<string, AttributeValue>,
334+
* ExclusiveStartKey?: array<string, AttributeValue|array>,
335335
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
336336
* ProjectionExpression?: string,
337337
* FilterExpression?: string,
338338
* KeyConditionExpression?: string,
339339
* ExpressionAttributeNames?: array<string, string>,
340-
* ExpressionAttributeValues?: array<string, AttributeValue>,
340+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
341341
* '@region'?: string|null,
342342
* } $input
343343
*/
@@ -395,17 +395,17 @@ public function __construct(array $input = [])
395395
* AttributesToGet?: string[],
396396
* Limit?: int,
397397
* ConsistentRead?: bool,
398-
* KeyConditions?: array<string, Condition>,
399-
* QueryFilter?: array<string, Condition>,
398+
* KeyConditions?: array<string, Condition|array>,
399+
* QueryFilter?: array<string, Condition|array>,
400400
* ConditionalOperator?: ConditionalOperator::*,
401401
* ScanIndexForward?: bool,
402-
* ExclusiveStartKey?: array<string, AttributeValue>,
402+
* ExclusiveStartKey?: array<string, AttributeValue|array>,
403403
* ReturnConsumedCapacity?: ReturnConsumedCapacity::*,
404404
* ProjectionExpression?: string,
405405
* FilterExpression?: string,
406406
* KeyConditionExpression?: string,
407407
* ExpressionAttributeNames?: array<string, string>,
408-
* ExpressionAttributeValues?: array<string, AttributeValue>,
408+
* ExpressionAttributeValues?: array<string, AttributeValue|array>,
409409
* '@region'?: string|null,
410410
* }|QueryInput $input
411411
*/

0 commit comments

Comments
 (0)