def delete_stack_instances()

in source/state_machine_handler.py [0:0]


    def delete_stack_instances(self):
        self.logger.info("Executing: " + self.__class__.__name__ + "/"
                         + inspect.stack()[0][3])
        self.logger.info(self.params)

        # set to default values (new instance creation)
        account_list = self.params.get('AccountList')
        # full region list
        region_list = self.event.get('ExistingRegionList')

        # if DeleteAccountList is not empty
        if self.event.get('DeleteAccountList') is not None and len(self.event.get('DeleteAccountList')) != 0:
            account_list = self.event.get('DeleteAccountList')
            # full region list
            region_list = self.event.get('ExistingRegionList')

        # if DeleteRegionList is not empty
        if self.event.get('DeleteRegionList') is not None and len(self.event.get('DeleteRegionList')) != 0:
            region_list = self.event.get('DeleteRegionList')

        # both  DeleteAccountList and DeleteRegionList is not empty
        if self.event.get('LoopFlag') == 'yes':
            # delete stack instance in deleted account with all regions
            # stack instances in all regions for existing accounts
            # will be deletion in the second round
            account_list = self.event.get('DeleteAccountList')
            # full region list
            region_list = self.event.get('ExistingRegionList')

        self.event.update({'ActiveAccountList': account_list})
        self.event.update({'ActiveRegionList': region_list})

        # Delete stack_set_instance(s)
        stack_set = StackSet(self.logger)
        self.logger.info("Deleting Stack Instance: {}"
                         .format(self.params.get('StackSetName')))

        response = stack_set.delete_stack_instances(
            self.params.get('StackSetName'),
            account_list,
            region_list)
        self.logger.info(response)
        self.logger.info("Operation ID: {}"
                         .format(response.get('OperationId')))
        self.event.update({'OperationId': response.get('OperationId')})
        return self.event