def output_summary(fqn, action, changeset, params_diff,
                   replacements_only=False):
    """Log a summary of the changeset.

    Args:
        fqn (string): fully qualified name of the stack
        action (string): action to include in the log message
        changeset (list): AWS changeset
        params_diff (list): A list of dictionaries detailing the differences
            between two parameters returned by
            :func:`stacker.actions.diff.diff_dictionaries`
        replacements_only (bool, optional): boolean for whether or not we only
            want to list replacements

    """
    replacements = []
    changes = []
    for change in changeset:
        resource = change['ResourceChange']
        replacement = resource.get('Replacement') == 'True'
        summary = '- %s %s (%s)' % (
            resource['Action'],
            resource['LogicalResourceId'],
            resource['ResourceType'],
        )
        if replacement:
            replacements.append(summary)
        else:
            changes.append(summary)

    summary = ''
    if params_diff:
        summary += summarize_params_diff(params_diff)
    if replacements:
        if not replacements_only:
            summary += 'Replacements:\n'
        summary += '\n'.join(replacements)
    if changes:
        if summary:
            summary += '\n'
        summary += 'Changes:\n%s' % ('\n'.join(changes))
    logger.info('%s %s:\n%s', fqn, action, summary)
def output_summary ( fqn , action , changeset , params_diff , replacements_only = False ) : replacements = [ ] changes = [ ] for change in changeset : resource = change [ 'ResourceChange' ] replacement = resource . get ( 'Replacement' ) == 'True' summary = '- %s %s (%s)' % ( resource [ 'Action' ] , resource [ 'LogicalResourceId' ] , resource [ 'ResourceType' ] , ) if replacement : replacements . append ( summary ) else : changes . append ( summary ) summary = '' if params_diff : summary += summarize_params_diff ( params_diff ) if replacements : if not replacements_only : summary += 'Replacements:\n' summary += '\n' . join ( replacements ) if changes : if summary : summary += '\n' summary += 'Changes:\n%s' % ( '\n' . join ( changes ) ) logger . info ( '%s %s:\n%s' , fqn , action , summary )
Log a summary of the changeset.

    Args:
        fqn (string): fully qualified name of the stack
        action (string): action to include in the log message
        changeset (list): AWS changeset
        params_diff (list): A list of dictionaries detailing the differences
            between two parameters returned by
            :func:`stacker.actions.diff.diff_dictionaries`
        replacements_only (bool, optional): boolean for whether or not we only
            want to list replacements