def describe(name, region=None, key=None, keyid=None, profile=None):
    conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)

    try:
        # Returns an object if stack exists else an exception
        r = conn.describe_stacks(name)
        if r:
            stack = r[0]
            log.debug('Found VPC: {0}'.format(stack.stack_id))
            keys = ('stack_id', 'description', 'stack_status', 'stack_status_reason')

            ret = dict([(k, getattr(stack, k)) for k in keys if hasattr(stack, k)])
            o = getattr(stack, 'outputs')
            outputs = {}
            for i in o:
                outputs[i.key] = i.value
            ret['outputs'] = outputs

            return {'stack': ret}

        log.debug('Stack {0} exists.'.format(name))
        return True
    except BotoServerError as e:
        log.warning('Could not describe stack {0}.\n{1}'.format(name, str(e)))
        return False
Interactively determines the type of data in x and y, and then runs the
dataset/ETHPy150Open saltstack/salt/salt/modules/boto_cfn.py/describe--crossover with--dataset/ETHPy150Open radlab/sparrow/src/main/python/third_party/stats.py/apaired