3
3
from aws_database_encryption_sdk .smithygenerated .aws_cryptography_dbencryptionsdk_dynamodb .models import (
4
4
DynamoDbTablesEncryptionConfig ,
5
5
)
6
+ from aws_database_encryption_sdk .smithygenerated .aws_cryptography_dbencryptionsdk_dynamodb_transforms .models import (
7
+ BatchGetItemInputTransformInput ,
8
+ BatchGetItemOutputTransformInput ,
9
+ BatchWriteItemInputTransformInput ,
10
+ BatchWriteItemOutputTransformInput ,
11
+ )
12
+ from aws_database_encryption_sdk .internal .resource_to_client import ResourceShapeToClientShapeConverter
13
+ from aws_database_encryption_sdk .internal .client_to_resource import ClientShapeToResourceShapeConverter
14
+
6
15
7
16
class EncryptedTablesCollectionManager :
8
17
@@ -23,7 +32,10 @@ def __init__(
23
32
encryption_config : DynamoDbTablesEncryptionConfig ,
24
33
):
25
34
self ._resource = resource
26
- self ._encryption_config = DynamoDbTablesEncryptionConfig
35
+ self ._encryption_config = encryption_config
36
+ self ._client_shape_to_resource_shape_converter = ClientShapeToResourceShapeConverter ()
37
+ self ._resource_shape_to_client_shape_converter = ResourceShapeToClientShapeConverter ()
38
+
27
39
28
40
def Table (self , name , ** kwargs ):
29
41
print ("EncryptedResource making EncryptedTable" )
@@ -46,4 +58,56 @@ def __getattr__(self, name):
46
58
if hasattr (self ._resource , name ):
47
59
return getattr (self ._resource , name )
48
60
else :
49
- raise AttributeError (f"'{ self .__class__ .__name__ } ' object has no attribute '{ name } '" )
61
+ raise AttributeError (f"'{ self .__class__ .__name__ } ' object has no attribute '{ name } '" )
62
+
63
+ def batch_get_item (self , ** kwargs ):
64
+ input_transform_input = self ._resource_shape_to_client_shape_converter .batch_get_item_request (kwargs )
65
+ input_transform_output = self ._transformer .batch_get_item_input_transform (
66
+ BatchGetItemInputTransformInput (
67
+ sdk_input = input_transform_input
68
+ )
69
+ ).transformed_input
70
+
71
+ sdk_input = self ._client_shape_to_resource_shape_converter .batch_get_item_request (input_transform_output )
72
+
73
+ sdk_output = self ._resource .batch_get_item (** sdk_input )
74
+
75
+ output_transform_input = self ._resource_shape_to_client_shape_converter .batch_get_item_response (sdk_output )
76
+
77
+ output_transform_output = self ._transformer .batch_get_item_output_transform (
78
+ BatchGetItemOutputTransformInput (
79
+ original_input = input_transform_input ,
80
+ sdk_output = output_transform_input ,
81
+ )
82
+ ).transformed_output
83
+
84
+ response = self ._client_shape_to_resource_shape_converter .batch_get_item_response (output_transform_output )
85
+ response = self ._copy_missing_sdk_output_fields_to_response (sdk_output , response , output_transform_output )
86
+
87
+ return response
88
+
89
+ def batch_write_item (self , ** kwargs ):
90
+ input_transform_input = self ._resource_shape_to_client_shape_converter .batch_write_item_request (kwargs )
91
+ input_transform_output = self ._transformer .batch_write_item_input_transform (
92
+ BatchWriteItemInputTransformInput (
93
+ sdk_input = input_transform_input
94
+ )
95
+ ).transformed_input
96
+
97
+ sdk_input = self ._client_shape_to_resource_shape_converter .batch_write_item_request (input_transform_output )
98
+
99
+ sdk_output = self ._resource .batch_write_item (** sdk_input )
100
+
101
+ output_transform_input = self ._resource_shape_to_client_shape_converter .batch_write_item_response (sdk_output )
102
+
103
+ output_transform_output = self ._transformer .batch_write_item_output_transform (
104
+ BatchWriteItemOutputTransformInput (
105
+ original_input = input_transform_input ,
106
+ sdk_output = output_transform_input ,
107
+ )
108
+ ).transformed_output
109
+
110
+ response = self ._client_shape_to_resource_shape_converter .batch_write_item_response (output_transform_output )
111
+ response = self ._copy_missing_sdk_output_fields_to_response (sdk_output , response , output_transform_output )
112
+
113
+ return response
0 commit comments