def list_stack_instance_region()

in functions/source/stackset/stackset.py [0:0]


def list_stack_instance_region(target_session, stack_set_name):
    '''
    List all stack instances based on the StackSet name
    '''
    try:
        cfn_client = target_session.client('cloudformation')
        stackset_result = cfn_client.list_stack_instances(
            StackSetName = stack_set_name
            )
        
        if stackset_result and 'Summaries' in stackset_result:            
            stackset_list = stackset_result['Summaries']
            while 'NextToken' in stackset_result:
                stackset_result = cfn_client.list_stackset_instance(
                    NextToken = stackset_result['NextToken']
                )
                stackset_list.append(stackset_result['Summaries'])
            
            stackset_list_region = []
            for instance in stackset_list:
                stackset_list_region.append(instance['Region'])
            stackset_list_region=list(set(stackset_list_region))

            return stackset_list_region
        else:
            return False
    except Exception as e:
        LOGGER.error("List Stack Instance error: %s" % e)
        return False