:doc:`CloudDirectory <../../clouddirectory>` / Client / lookup_policy

*************
lookup_policy
*************



.. py:method:: CloudDirectory.Client.lookup_policy(**kwargs)

  

  Lists all policies from the root of the  Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ``ObjectIdentifier`` for such objects. If policies are present, it returns ``ObjectIdentifier``, ``policyId``, and ``policyType``. Paths that don't lead to the root from the target object are ignored. For more information, see `Policies <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directory.html#key_concepts_policies>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/LookupPolicy>`_  


  **Request Syntax**
  ::

    response = client.lookup_policy(
        DirectoryArn='string',
        ObjectReference={
            'Selector': 'string'
        },
        NextToken='string',
        MaxResults=123
    )
    
  :type DirectoryArn: string
  :param DirectoryArn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) that is associated with the  Directory. For more information, see  arns.

    

  
  :type ObjectReference: dict
  :param ObjectReference: **[REQUIRED]** 

    Reference that identifies the object whose policies will be looked up.

    

  
    - **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 `Access Objects <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_access_objects.html>`__. 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. To identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped in double quotes.
       
      * */some/path* - Identifies the object based on path
       
      * *#SomeBatchReference* - Identifies the object in a batch call
      

      

    
  
  :type NextToken: string
  :param NextToken: 

    The token to request the next page of results.

    

  
  :type MaxResults: integer
  :param MaxResults: 

    The maximum number of items to be retrieved in a single call. This is an approximate number.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'PolicyToPathList': [
              {
                  'Path': 'string',
                  'Policies': [
                      {
                          'PolicyId': 'string',
                          'ObjectIdentifier': 'string',
                          'PolicyType': 'string'
                      },
                  ]
              },
          ],
          'NextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **PolicyToPathList** *(list) --* 

        Provides list of path to policies. Policies contain ``PolicyId``, ``ObjectIdentifier``, and ``PolicyType``. For more information, see `Policies <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directory.html#key_concepts_policies>`__.

        
        

        - *(dict) --* 

          Used when a regular object exists in a  Directory and you want to find all of the policies that are associated with that object and the parent to that object.

          
          

          - **Path** *(string) --* 

            The path that is referenced from the root.

            
          

          - **Policies** *(list) --* 

            List of policy objects.

            
            

            - *(dict) --* 

              Contains the ``PolicyType``, ``PolicyId``, and the ``ObjectIdentifier`` to which it is attached. For more information, see `Policies <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directory.html#key_concepts_policies>`__.

              
              

              - **PolicyId** *(string) --* 

                The ID of ``PolicyAttachment``.

                
              

              - **ObjectIdentifier** *(string) --* 

                The ``ObjectIdentifier`` that is associated with ``PolicyAttachment``.

                
              

              - **PolicyType** *(string) --* 

                The type of policy that can be associated with ``PolicyAttachment``.

                
          
        
      
    
      

      - **NextToken** *(string) --* 

        The pagination token.

        
  
  **Exceptions**
  
  *   :py:class:`CloudDirectory.Client.exceptions.InternalServiceException`

  
  *   :py:class:`CloudDirectory.Client.exceptions.InvalidArnException`

  
  *   :py:class:`CloudDirectory.Client.exceptions.RetryableConflictException`

  
  *   :py:class:`CloudDirectory.Client.exceptions.ValidationException`

  
  *   :py:class:`CloudDirectory.Client.exceptions.LimitExceededException`

  
  *   :py:class:`CloudDirectory.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`CloudDirectory.Client.exceptions.DirectoryNotEnabledException`

  
  *   :py:class:`CloudDirectory.Client.exceptions.InvalidNextTokenException`

  
  *   :py:class:`CloudDirectory.Client.exceptions.ResourceNotFoundException`

  