def attach_object(DirectoryArn=None, ParentReference=None, ChildReference=
    None, LinkName=None):
    """
    Attaches an existing object to another object. An object can be accessed in two ways:
    See also: AWS API Documentation
    
    
    :example: response = client.attach_object(
        DirectoryArn='string',
        ParentReference={
            'Selector': 'string'
        },
        ChildReference={
            'Selector': 'string'
        },
        LinkName='string'
    )
    
    
    :type DirectoryArn: string
    :param DirectoryArn: [REQUIRED]
            Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns .
            

    :type ParentReference: dict
    :param ParentReference: [REQUIRED]
            The parent object reference.
            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
            

    :type ChildReference: dict
    :param ChildReference: [REQUIRED]
            The child object reference to be attached to the object.
            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
            

    :type LinkName: string
    :param LinkName: [REQUIRED]
            The link name with which the child object is attached to the parent.
            

    :rtype: dict
    :return: {
        'AttachedObjectIdentifier': 'string'
    }
    
    
    :returns: 
    DirectoryArn (string) -- [REQUIRED]
    Amazon Resource Name (ARN) that is associated with the  Directory where both objects reside. For more information, see  arns .
    
    ParentReference (dict) -- [REQUIRED]
    The parent object reference.
    
    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 objects 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
    
    
    
    
    ChildReference (dict) -- [REQUIRED]
    The child object reference to be attached to the object.
    
    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 objects 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
    
    
    
    
    LinkName (string) -- [REQUIRED]
    The link name with which the child object is attached to the parent.
    
    
    """
    pass
