in source/manifest/manifest_parser.py [0:0]
def stack_set_state_machine_input_v2(self, resource, account_list) -> dict:
local_file = StageFile(self.logger, resource.resource_file)
template_url = local_file.get_staged_file()
parameters = {}
# set region variables
if len(resource.regions) > 0:
region = resource.regions[0]
region_list = resource.regions
else:
region = self.region
region_list = [region]
# if parameter file link is provided for the CFN resource
if resource.parameter_file == "":
self.logger.info("parameter_file property not found in the "
"manifest")
self.logger.info(resource.parameter_file)
self.logger.info(resource.parameters)
parameters = self._load_params_from_manifest(resource.parameters)
elif not resource.parameters:
self.logger.info("parameters property not found in the "
"manifest")
self.logger.info(resource.parameter_file)
self.logger.info(resource.parameters)
parameters = self._load_params_from_file(resource.parameter_file)
sm_params = self.param_handler.update_params(parameters, account_list,
region, False)
self.logger.info("Input Parameters for State Machine: {}".format(
sm_params))
ssm_parameters = self._create_ssm_input_map(resource.export_outputs)
# generate state machine input list
stack_set_name = "CustomControlTower-{}".format(resource.name)
resource_properties = StackSetResourceProperties(stack_set_name,
template_url,
sm_params,
os.environ
.get('CAPABILITIES'),
account_list,
region_list,
ssm_parameters)
ss_input = InputBuilder(resource_properties.get_stack_set_input_map())
return ss_input.input_map()