in ddbtools/table.py [0:0]
def estimate_table_costs_for_region(self, table_names: list, region_code: str) -> dict:
"""For a list of tables in a region, estimate the monthly costs for each"""
table_results = []
storage_pricing = self.pricing_utility.get_storage_pricing(region_code)
provisioned_capacity_pricing = self.pricing_utility.get_provisioned_capacity_pricing(region_code)
replicated_write_pricing = self.pricing_utility.get_replicated_write_pricing(region_code)
for table_name in table_names:
table_data = {}
table_data[constants.TABLE_NAME] = table_name
table_pricing_data = self.get_table_pricing_data(table_name)
table_data[constants.PRICING_DATA] = table_pricing_data
# We cannot yet calculate estimated costs for On-Demand billing mode
if table_pricing_data[constants.BILLING_MODE] == constants.ON_DEMAND_BILLING:
table_results.append(table_data)
continue
monthly_costs = self.estimate_current_table_costs(provisioned_capacity_pricing,
replicated_write_pricing,
storage_pricing,
table_pricing_data)
table_data[constants.ESTIMATED_MONTHLY_COSTS] = monthly_costs
table_results.append(table_data)
return table_results