def delete_srv6_behavior(database, key, grpc_address=None, grpc_port=None,
                         segment=None, action=None, device=None, table=None,
                         nexthop=None, lookup_table=None, interface=None,
                         segments=None, metric=None, fwd_engine=None,
                         ignore_missing=False):
    """
    Remove a SRv6 behavior from the 'srv6_behaviors' collection of a ArangoDB
    database.
    :param database: Database where the SRv6 behavior to be removed is saved.
    :type database: arango.database.StandardDatabase
    :param key: Key of the document to be deleted.
    :type key: int
    :param grpc_address: The IP address of the gRPC server.
    :type grpc_address: str, optional
    :param grpc_port: The port number of the gRPC server.
    :type grpc_port: int, optional
    :param segment: The local segment of the SRv6 behavior. It can be a IP
                    address or a subnet.
    :type segment: str
    :param action: The SRv6 action associated to the behavior (e.g. End or
                   End.DT6).
    :type action: str, optional
    :param device: Device of the SRv6 route.
    :type device: str, optional
    :param table: Routing table containing the SRv6 route.
    :type table: int, optional
    :param nexthop: The nexthop of cross-connect behaviors (e.g. End.DX4
                    or End.DX6).
    :type nexthop: str, optional
    :param lookup_table: The lookup table for the decap behaviors (e.g.
                         End.DT4 or End.DT6).
    :type lookup_table: int, optional
    :param interface: The outgoing interface for the End.DX2 behavior.
    :type interface: str, optional
    :param segments: The SID list to be applied for the End.B6 behavior.
    :type segments: list, optional
    :param metric: Metric for the SRv6 route.
    :type metric: int, optional
    :param fwd_engine: Forwarding engine for the SRv6 route.
    :type fwd_engine: str, optional
    :param ignore_missing: Define whether to ignore errors or not
                           (default: False).
    :type ignore_missing: bool, optional
    :return: True if the document matching the search criteria
             has been removed, or False if the document was not found and
             ignore_missing was set to True.
    :rtype: bool
    :raises arango.exceptions.DocumentDeleteError: If delete fails.
    :raises arango.exceptions.DocumentRevisionError: If revisions mismatch.
    """
    # Get the SRv6 behavior collection
    # This returns an API wrapper for "srv6_behaviors" collection
    srv6_behaviors = database.collection('srv6_behaviors')
    # Build a dict representation of the behavior
    behavior = dict()
    if key is not None:
        behavior['_key'] = key
    if grpc_address is not None:
        behavior['grpc_address'] = grpc_address
    if grpc_port is not None:
        behavior['grpc_port'] = grpc_port
    if segment is not None:
        behavior['segment'] = segment
    if action is not None:
        behavior['action'] = action
    if device is not None:
        behavior['device'] = device
    if table is not None:
        behavior['table'] = table
    if nexthop is not None:
        behavior['nexthop'] = nexthop
    if lookup_table is not None:
        behavior['lookup_table'] = lookup_table
    if interface is not None:
        behavior['interface'] = interface
    if segments is not None:
        behavior['segments'] = segments
    if metric is not None:
        behavior['metric'] = metric
    if fwd_engine is not None:
        behavior['fwd_engine'] = fwd_engine
    # Remove the behavior
    # Return True if the document matching the search criteria
    # has been removed, or False if the document was not found and
    # ignore_missing was set to True
    return srv6_behaviors.delete(document=behavior,
                                 ignore_missing=ignore_missing)