def _cfn_param_updater(self, param, comparison_parameters, stage_parameters, file_name): # pylint: disable=R0912 """ Generic CFN Updater method """ resolver = Resolver(self.parameter_store, stage_parameters, comparison_parameters) for key, value in comparison_parameters[param].items(): if str(value).startswith('resolve:'): if resolver.fetch_parameter_store_value(value, key, param): continue if str(value).startswith('import:'): if resolver.fetch_stack_output(value, key, param): continue if str(value).startswith('upload:'): if resolver.upload(value, key, file_name, param): continue resolver.update_cfn(key, param) for key, value in stage_parameters[param].items(): if str(value).startswith('resolve:'): if resolver.fetch_parameter_store_value(value, key, param): continue if str(value).startswith('import:'): if resolver.fetch_stack_output(value, key, param): continue if str(value).startswith('upload:'): if resolver.upload(value, key, file_name, param): continue return resolver.__dict__.get('stage_parameters')
def _sc_param_updater(self, comparison_parameters, stage_parameters, file_name): # pylint: disable=R0912 """ Compares parameter files used for the Service Catalog deployment type """ resolver = Resolver(self.parameter_store, stage_parameters, comparison_parameters) for key, value in comparison_parameters.items(): if str(value).startswith('resolve:'): if resolver.fetch_parameter_store_value(value, key): continue if str(value).startswith('import:'): if resolver.fetch_stack_output(value, key): continue if str(value).startswith('upload:'): if resolver.upload(value, key, file_name): continue resolver.update_sc(key) for key, value in stage_parameters.items(): if str(value).startswith('resolve:'): if resolver.fetch_parameter_store_value(value, key): continue if str(value).startswith('import:'): if resolver.fetch_stack_output(value, key): continue if str(value).startswith('upload:'): if resolver.upload(value, key, file_name): continue return resolver.__dict__.get('stage_parameters')