17
17
DynamoDbEncryptionTransforms ,
18
18
)
19
19
from aws_dbesdk_dynamodb .smithygenerated .aws_cryptography_dbencryptionsdk_dynamodb_transforms .models import (
20
+ BatchExecuteStatementInputTransformInput ,
21
+ BatchExecuteStatementOutputTransformInput ,
20
22
BatchGetItemInputTransformInput ,
21
23
BatchGetItemOutputTransformInput ,
22
24
BatchWriteItemInputTransformInput ,
23
25
BatchWriteItemOutputTransformInput ,
26
+ DeleteItemInputTransformInput ,
27
+ DeleteItemOutputTransformInput ,
28
+ ExecuteStatementInputTransformInput ,
29
+ ExecuteStatementOutputTransformInput ,
30
+ ExecuteTransactionInputTransformInput ,
31
+ ExecuteTransactionOutputTransformInput ,
24
32
GetItemInputTransformInput ,
25
33
GetItemOutputTransformInput ,
26
34
PutItemInputTransformInput ,
33
41
TransactGetItemsOutputTransformInput ,
34
42
TransactWriteItemsInputTransformInput ,
35
43
TransactWriteItemsOutputTransformInput ,
44
+ UpdateItemInputTransformInput ,
45
+ UpdateItemOutputTransformInput ,
36
46
)
37
47
38
48
@@ -57,8 +67,14 @@ class EncryptedClient(EncryptedBotoInterface):
57
67
* ``batch_get_item``
58
68
* ``transact_get_items``
59
69
* ``transact_write_items``
70
+ * ``delete_item``
60
71
61
- The ``update_item`` operation is not currently supported. Calling this operation will raise ``NotImplementedError``.
72
+ The following operations are not supported and will raise DynamoDbEncryptionTransformsException:
73
+
74
+ * ``execute_statement``
75
+ * ``execute_transaction``
76
+ * ``batch_execute_statement``
77
+ * ``update_item``
62
78
63
79
Any other operations on this class will defer to the underlying boto3 DynamoDB client's implementation.
64
80
@@ -337,18 +353,131 @@ def transact_write_items(self, **kwargs) -> dict[str, Any]:
337
353
output_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .transact_write_items_response ,
338
354
)
339
355
356
+ def delete_item (self , ** kwargs ):
357
+ """
358
+ Delete an item from a table by the specified key.
359
+
360
+ The input and output syntaxes match those for the boto3 DynamoDB client ``delete_item`` API:
361
+
362
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/delete_item.html
363
+
364
+ Args:
365
+ **kwargs: Keyword arguments to pass to the operation. This matches the boto3 client ``delete_item``
366
+ request syntax.
367
+
368
+ Returns:
369
+ dict: The response from DynamoDB. This matches the boto3 client ``delete_item`` response syntax.
370
+ Any values in the ``"Attributes"`` field will be decrypted locally after being read from DynamoDB.
371
+
372
+ """
373
+ return self ._client_operation_logic (
374
+ operation_input = kwargs ,
375
+ input_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .delete_item_request ,
376
+ input_item_to_dict_transform_method = self ._client_to_resource_shape_converter .delete_item_request ,
377
+ input_transform_method = self ._transformer .delete_item_input_transform ,
378
+ input_transform_shape = DeleteItemInputTransformInput ,
379
+ output_transform_method = self ._transformer .delete_item_output_transform ,
380
+ output_transform_shape = DeleteItemOutputTransformInput ,
381
+ client_method = self ._client .delete_item ,
382
+ output_item_to_dict_transform_method = self ._client_to_resource_shape_converter .delete_item_response ,
383
+ output_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .delete_item_response ,
384
+ )
385
+
386
+ def execute_statement (self , ** kwargs ):
387
+ """
388
+ Not implemented. Raises DynamoDbEncryptionTransformsException.
389
+
390
+ Args:
391
+ **kwargs: Any arguments passed to this method
392
+
393
+ Raises:
394
+ DynamoDbEncryptionTransformsException: This operation is not supported on encrypted tables.
395
+
396
+ """
397
+ return self ._client_operation_logic (
398
+ operation_input = kwargs ,
399
+ input_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .execute_statement_request ,
400
+ input_item_to_dict_transform_method = self ._client_to_resource_shape_converter .execute_statement_request ,
401
+ input_transform_method = self ._transformer .execute_statement_input_transform ,
402
+ input_transform_shape = ExecuteStatementInputTransformInput ,
403
+ output_transform_method = self ._transformer .execute_statement_output_transform ,
404
+ output_transform_shape = ExecuteStatementOutputTransformInput ,
405
+ client_method = self ._client .execute_statement ,
406
+ output_item_to_dict_transform_method = self ._client_to_resource_shape_converter .execute_statement_response ,
407
+ output_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .execute_statement_response ,
408
+ )
409
+
410
+ def execute_transaction (self , ** kwargs ):
411
+ """
412
+ Not implemented. Raises DynamoDbEncryptionTransformsException.
413
+
414
+ Args:
415
+ **kwargs: Any arguments passed to this method
416
+
417
+ Raises:
418
+ DynamoDbEncryptionTransformsException: This operation is not supported on encrypted tables.
419
+
420
+ """
421
+ return self ._client_operation_logic (
422
+ operation_input = kwargs ,
423
+ input_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .execute_transaction_request ,
424
+ input_item_to_dict_transform_method = self ._client_to_resource_shape_converter .execute_transaction_request ,
425
+ input_transform_method = self ._transformer .execute_transaction_input_transform ,
426
+ input_transform_shape = ExecuteTransactionInputTransformInput ,
427
+ output_transform_method = self ._transformer .execute_transaction_output_transform ,
428
+ output_transform_shape = ExecuteTransactionOutputTransformInput ,
429
+ client_method = self ._client .execute_transaction ,
430
+ output_item_to_dict_transform_method = self ._client_to_resource_shape_converter .execute_transaction_response ,
431
+ output_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .execute_transaction_response ,
432
+ )
433
+
340
434
def update_item (self , ** kwargs ):
341
435
"""
342
- Not implemented. Raises NotImplementedError .
436
+ Not implemented. Raises DynamoDbEncryptionTransformsException .
343
437
344
438
Args:
345
439
**kwargs: Any arguments passed to this method
346
440
347
441
Raises:
348
- NotImplementedError : This operation is not yet implemented
442
+ DynamoDbEncryptionTransformsException : This operation is not supported on encrypted tables.
349
443
350
444
"""
351
- raise NotImplementedError ('"update_item" is not yet implemented' )
445
+ return self ._client_operation_logic (
446
+ operation_input = kwargs ,
447
+ input_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .update_item_request ,
448
+ input_item_to_dict_transform_method = self ._client_to_resource_shape_converter .update_item_request ,
449
+ input_transform_method = self ._transformer .update_item_input_transform ,
450
+ input_transform_shape = UpdateItemInputTransformInput ,
451
+ output_transform_method = self ._transformer .update_item_output_transform ,
452
+ output_transform_shape = UpdateItemOutputTransformInput ,
453
+ client_method = self ._client .update_item ,
454
+ output_item_to_dict_transform_method = self ._client_to_resource_shape_converter .update_item_response ,
455
+ output_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .update_item_response ,
456
+ )
457
+
458
+ def batch_execute_statement (self , ** kwargs ):
459
+ """
460
+ Not implemented. Raises DynamoDbEncryptionTransformsException.
461
+
462
+ Args:
463
+ **kwargs: Any arguments passed to this method
464
+
465
+ Raises:
466
+ DynamoDbEncryptionTransformsException: This operation is not supported on encrypted tables.
467
+
468
+ """
469
+ return self ._client_operation_logic (
470
+ operation_input = kwargs ,
471
+ input_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .batch_execute_statement_request ,
472
+ input_item_to_dict_transform_method = self ._client_to_resource_shape_converter .batch_execute_statement_request ,
473
+ input_transform_method = self ._transformer .batch_execute_statement_input_transform ,
474
+ input_transform_shape = BatchExecuteStatementInputTransformInput ,
475
+ output_transform_method = self ._transformer .batch_execute_statement_output_transform ,
476
+ output_transform_shape = BatchExecuteStatementOutputTransformInput ,
477
+ client_method = self ._client .batch_execute_statement ,
478
+ output_item_to_dict_transform_method = self ._client_to_resource_shape_converter .batch_execute_statement_response ,
479
+ output_item_to_ddb_transform_method = self ._resource_to_client_shape_converter .batch_execute_statement_response ,
480
+ )
352
481
353
482
def get_paginator (self , operation_name : str ) -> EncryptedPaginator | botocore .client .Paginator :
354
483
"""
0 commit comments