in control-tower-account-factory/src/handler.py [0:0]
def __get_products_to_provision(self, organization_unit, provision_product):
"""process products that need to be provision in new account"""
self._log_info(f'Validating products for ou: {organization_unit}')
if (organization_unit in self.configuration['organization_units'] and 'products' in self.configuration['organization_units'][organization_unit]):
for product in self.configuration['organization_units'][organization_unit]['products']:
if 'product_name' in product and 'provision_name' in product and 'portfolio_name' in product and 'regions' in product:
# check if product version provided in configuration
product_version = product['product_version'] if 'product_version' in product else None
# obtain product id and artifact id
product_id, artifact_id, path_id, version = self._get_product_id(product['product_name'], product_version, product['portfolio_name'])
if product_id and artifact_id and path_id:
if self._update_product_constraint(product_id, product['portfolio_name'], product['regions'], self.account_id):
product['id'] = product_id
product['artifact'] = artifact_id
product['version'] = version
product['path'] = path_id
product['provision_name'] = f'{self.account_id }-{product["provision_name"]}'
provision_product.append(product)
return provision_product