@@ -50,7 +50,7 @@ def __init__(self, profile="default") -> None:
5050 self .LOGGER .exception (self .UNEXPECTED )
5151 raise ValueError ("Unexpected error!" ) from None
5252
53- def create_table (self , table_name , dynamodb_client = DYNAMODB_CLIENT ):
53+ def create_table (self , table_name ):
5454 # Define table schema
5555 key_schema = [
5656 {"AttributeName" : "solution_name" , "KeyType" : "HASH" },
@@ -64,15 +64,15 @@ def create_table(self, table_name, dynamodb_client=DYNAMODB_CLIENT):
6464
6565 # Create table
6666 try :
67- dynamodb_client .create_table (
67+ self . DYNAMODB_CLIENT .create_table (
6868 TableName = table_name , KeySchema = key_schema , AttributeDefinitions = attribute_definitions , ProvisionedThroughput = provisioned_throughput
6969 )
7070 self .LOGGER .info (f"{ table_name } dynamodb table created successfully." )
7171 except Exception as e :
7272 self .LOGGER .info ("Error creating table:" , e )
7373 # wait for the table to become active
7474 while True :
75- wait_response = dynamodb_client .describe_table (TableName = table_name )
75+ wait_response = self . DYNAMODB_CLIENT .describe_table (TableName = table_name )
7676 if wait_response ["Table" ]["TableStatus" ] == "ACTIVE" :
7777 self .LOGGER .info (f"{ table_name } dynamodb table is active" )
7878 break
@@ -81,13 +81,13 @@ def create_table(self, table_name, dynamodb_client=DYNAMODB_CLIENT):
8181 # TODO(liamschn): need to add a maximum retry mechanism here
8282 sleep (5 )
8383
84- def table_exists (self , table_name , dynamodb_client = DYNAMODB_CLIENT ):
84+ def table_exists (self , table_name ):
8585 # Check if table exists
8686 try :
87- dynamodb_client .describe_table (TableName = table_name )
87+ self . DYNAMODB_CLIENT .describe_table (TableName = table_name )
8888 self .LOGGER .info (f"{ table_name } dynamodb table already exists..." )
8989 return True
90- except dynamodb_client .exceptions .ResourceNotFoundException :
90+ except self . DYNAMODB_CLIENT .exceptions .ResourceNotFoundException :
9191 self .LOGGER .info (f"{ table_name } dynamodb table does not exist..." )
9292 return False
9393
@@ -99,8 +99,8 @@ def get_date_time(self):
9999 now = datetime .now ()
100100 return now .strftime ("%Y%m%d%H%M%S" )
101101
102- def insert_item (self , table_name , solution_name , dynamodb_resource = DYNAMODB_RESOURCE ):
103- table = dynamodb_resource .Table (table_name )
102+ def insert_item (self , table_name , solution_name ):
103+ table = self . DYNAMODB_RESOURCE .Table (table_name )
104104 record_id = self .generate_id ()
105105 date_time = self .get_date_time ()
106106 response = table .put_item (
@@ -113,9 +113,9 @@ def insert_item(self, table_name, solution_name, dynamodb_resource=DYNAMODB_RESO
113113 # self.LOGGER.info({"insert_record_response": response})
114114 return record_id , date_time
115115
116- def update_item (self , table_name , solution_name , record_id , attributes_and_values , dynamodb_resource = DYNAMODB_RESOURCE ):
116+ def update_item (self , table_name , solution_name , record_id , attributes_and_values ):
117117 self .LOGGER .info (f"Updating { table_name } dynamodb table with { attributes_and_values } " )
118- table = dynamodb_resource .Table (table_name )
118+ table = self . DYNAMODB_RESOURCE .Table (table_name )
119119 update_expression = ""
120120 expression_attribute_values = {}
121121 for attribute in attributes_and_values :
@@ -136,7 +136,7 @@ def update_item(self, table_name, solution_name, record_id, attributes_and_value
136136 )
137137 return response
138138
139- def find_item (self , table_name , solution_name , additional_attributes , dynamodb_resource = DYNAMODB_RESOURCE ) -> tuple [bool , dict ]:
139+ def find_item (self , table_name , solution_name , additional_attributes ) -> tuple [bool , dict ]:
140140 """Find an item in the dynamodb table based on the solution name and additional attributes.
141141
142142 Args:
@@ -149,7 +149,7 @@ def find_item(self, table_name, solution_name, additional_attributes, dynamodb_r
149149 True and the item if found, otherwise False and empty dict
150150 """
151151 self .LOGGER .info (f"Searching for { additional_attributes } in { table_name } dynamodb table" )
152- table = dynamodb_resource .Table (table_name )
152+ table = self . DYNAMODB_RESOURCE .Table (table_name )
153153 expression_attribute_values = {":solution_name" : solution_name }
154154
155155 filter_expression = " AND " .join ([f"{ attr } = :{ attr } " for attr in additional_attributes .keys ()])
@@ -182,17 +182,17 @@ def get_unique_values_from_list(self, list_of_values):
182182 unique_values .append (value )
183183 return unique_values
184184
185- def get_distinct_solutions_and_accounts (self , table_name , dynamodb_resource = DYNAMODB_RESOURCE ):
186- table = dynamodb_resource .Table (table_name )
185+ def get_distinct_solutions_and_accounts (self , table_name ):
186+ table = self . DYNAMODB_RESOURCE .Table (table_name )
187187 response = table .scan ()
188188 solution_names = [item ["solution_name" ] for item in response ["Items" ]]
189189 solution_names = self .get_unique_values_from_list (solution_names )
190190 accounts = [item ["account" ] for item in response ["Items" ]]
191191 accounts = self .get_unique_values_from_list (accounts )
192192 return solution_names , accounts
193193
194- def get_resources_for_solutions_by_account (self , table_name , solutions , account , dynamodb_resource = DYNAMODB_RESOURCE ):
195- table = dynamodb_resource .Table (table_name )
194+ def get_resources_for_solutions_by_account (self , table_name , solutions , account ):
195+ table = self . DYNAMODB_RESOURCE .Table (table_name )
196196 query_results = {}
197197 for solution in solutions :
198198 # expression_attribute_values = {":solution_name": solution}
@@ -209,7 +209,7 @@ def get_resources_for_solutions_by_account(self, table_name, solutions, account,
209209 query_results [solution ] = response
210210 return query_results
211211
212- def delete_item (self , table_name , solution_name , record_id , dynamodb_resource = DYNAMODB_RESOURCE ):
212+ def delete_item (self , table_name , solution_name , record_id ):
213213 """Delete an item from the dynamodb table
214214
215215 Args:
@@ -222,6 +222,6 @@ def delete_item(self, table_name, solution_name, record_id, dynamodb_resource=DY
222222 response: response from dynamodb delete_item
223223 """
224224 self .LOGGER .info (f"Deleting { record_id } from { table_name } dynamodb table" )
225- table = dynamodb_resource .Table (table_name )
225+ table = self . DYNAMODB_RESOURCE .Table (table_name )
226226 response = table .delete_item (Key = {"solution_name" : solution_name , "record_id" : record_id })
227227 return response
0 commit comments