Source code for stacker.actions.info
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
import logging
from .base import BaseAction
from .. import exceptions
logger = logging.getLogger(__name__)
[docs]class Action(BaseAction):
"""Get information on CloudFormation stacks.
Displays the outputs for the set of CloudFormation stacks.
"""
[docs] def run(self, *args, **kwargs):
logger.info('Outputs for stacks: %s', self.context.get_fqn())
if not self.context.get_stacks():
logger.warn('WARNING: No stacks detected (error in config?)')
for stack in self.context.get_stacks():
provider = self.build_provider(stack)
try:
provider_stack = provider.get_stack(stack.fqn)
except exceptions.StackDoesNotExist:
logger.info('Stack "%s" does not exist.' % (stack.fqn,))
continue
logger.info('%s:', stack.fqn)
if 'Outputs' in provider_stack:
for output in provider_stack['Outputs']:
logger.info(
'\t%s: %s',
output['OutputKey'],
output['OutputValue']
)