docs: def deregister_instances(name, instances, region=None, key=None, keyid=None,
                           profile=None):
      '''
      Deregister instances with an ELB.  Instances is either a string
      instance id or a list of string instance id's.
  
      Returns:
  
      - ``True``: instance(s) deregistered successfully
      - ``False``: instance(s) failed to be deregistered
      - ``None``: instance(s) not valid or not registered, no action taken
  
      CLI example:
  
      .. code-block:: bash
  
          salt myminion boto_elb.deregister_instances myelb instance_id
          salt myminion boto_elb.deregister_instances myelb "[instance_id, instance_id]"
      '''
      # convert instances to list type, enabling consistent use of instances
      # variable throughout the deregister_instances method
      if isinstance(instances, six.string_types) or isinstance(instances, six.text_type):
          instances = [instances]
      conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)
  
      try:
          registered_instances = conn.deregister_instances(name, instances)
      except boto.exception.BotoServerError as error:
          # if the instance(s) given as an argument are not members of the ELB
          # boto returns error.error_code == 'InvalidInstance'
          # deregister_instances returns "None" because the instances are
          # effectively deregistered from ELB
          if error.error_code == 'InvalidInstance':
              log.warning(
                  'One or more of instance(s) %s are not part of ELB %s. '
                  'deregister_instances not performed.', instances, name
              )
              return None
          else:
              log.warning(error)
              return False
      registered_instance_ids = [instance.id for instance in
                                 registered_instances]
      # deregister_failures is a set that will contain any instances that were
      # unable to be deregistered from the given ELB
      deregister_failures = set(instances).intersection(set(registered_instance_ids))
      if deregister_failures:
          log.warning(
              'Instance(s): %s not deregistered from ELB %s.',
              list(deregister_failures), name
          )
          deregister_result = False
      else:
          deregister_result = True
      return deregister_result