def add_facet_to_object(DirectoryArn=None, SchemaFacet=None,
    ObjectAttributeList=None, ObjectReference=None):
    """
    Adds a new  Facet to an object.
    See also: AWS API Documentation
    
    
    :example: response = client.add_facet_to_object(
        DirectoryArn='string',
        SchemaFacet={
            'SchemaArn': 'string',
            'FacetName': 'string'
        },
        ObjectAttributeList=[
            {
                'Key': {
                    'SchemaArn': 'string',
                    'FacetName': 'string',
                    'Name': 'string'
                },
                'Value': {
                    'StringValue': 'string',
                    'BinaryValue': b'bytes',
                    'BooleanValue': True|False,
                    'NumberValue': 'string',
                    'DatetimeValue': datetime(2015, 1, 1)
                }
            },
        ],
        ObjectReference={
            'Selector': 'string'
        }
    )
    
    
    :type DirectoryArn: string
    :param DirectoryArn: [REQUIRED]
            The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns .
            

    :type SchemaFacet: dict
    :param SchemaFacet: [REQUIRED]
            Identifiers for the facet that you are adding to the object.
            SchemaArn (string) --The ARN of the schema that contains the facet.
            FacetName (string) --The name of the facet.
            

    :type ObjectAttributeList: list
    :param ObjectAttributeList: Attributes on the facet that you are adding to the object.
            (dict) --The combination of an attribute key and an attribute value.
            Key (dict) -- [REQUIRED]The key of the attribute.
            SchemaArn (string) -- [REQUIRED]The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.
            FacetName (string) -- [REQUIRED]The name of the facet that the attribute exists within.
            Name (string) -- [REQUIRED]The name of the attribute.
            Value (dict) -- [REQUIRED]The value of the attribute.
            StringValue (string) --A string data value.
            BinaryValue (bytes) --A binary data value.
            BooleanValue (boolean) --A Boolean data value.
            NumberValue (string) --A number data value.
            DatetimeValue (datetime) --A date and time value.
            
            

    :type ObjectReference: dict
    :param ObjectReference: [REQUIRED]
            A reference to the object you are adding the specified facet to.
            Selector (string) --A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see Accessing Objects . You can identify an object in one of the following ways:
            $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object s identifier is immutable and no two objects will ever share the same object identifier
            /some/path - Identifies the object based on path
            #SomeBatchReference - Identifies the object in a batch call
            

    :rtype: dict
    :return: {}
    
    
    :returns: 
    (dict) --
    
    """
    pass
