Deletes a member from a license pool

        You need to be careful with this method. When you use it, and it
        succeeds on the remote BIG-IP, the configuration of the BIG-IP
        will be reloaded. During this process, you will not be able to
        access the REST interface.

        This method overrides the Resource class's method because it requires
        that extra json kwargs be supplied. This is not a behavior that is
        part of the normal Resource class's delete method.

        :param kwargs:
        :return:

def delete(self, **kwargs):
        """Deletes a member from a license pool

        You need to be careful with this method. When you use it, and it
        succeeds on the remote BIG-IP, the configuration of the BIG-IP
        will be reloaded. During this process, you will not be able to
        access the REST interface.

        This method overrides the Resource class's method because it requires
        that extra json kwargs be supplied. This is not a behavior that is
        part of the normal Resource class's delete method.

        :param kwargs:
        :return:
        """
        if 'id' not in kwargs:
            # BIG-IQ requires that you provide the ID of the members to revoke
            # a license from. This ID is already part of the deletion URL though.
            # Therefore, if you do not provide it, we enumerate it for you.
            delete_uri = self._meta_data['uri']
            if delete_uri.endswith('/'):
                delete_uri = delete_uri[0:-1]
                kwargs['id'] = os.path.basename(delete_uri)
            uid = uuid.UUID(kwargs['id'], version=4)
            if uid.hex != kwargs['id'].replace('-', ''):
                raise F5SDKError(
                    "The specified ID is invalid"
                )

        requests_params = self._handle_requests_params(kwargs)
        kwargs = self._check_for_python_keywords(kwargs)
        kwargs = self._prepare_request_json(kwargs)

        delete_uri = self._meta_data['uri']
        session = self._meta_data['bigip']._meta_data['icr_session']

        # Check the generation for match before delete
        force = self._check_force_arg(kwargs.pop('force', True))
        if not force:
            self._check_generation()

        response = session.delete(delete_uri, json=kwargs, **requests_params)
        if response.status_code == 200:
            self.__dict__ = {'deleted': True}

        # This sleep is necessary to prevent BIG-IQ from being able to remove
        # a license. It happens in certain cases that assignments can be revoked
        # (and license deletion started) too quickly. Therefore, we must introduce
        # an artificial delay here to prevent revoking from returning before
        # BIG-IQ would be ready to remove the license.
        time.sleep(1)