:doc:`DataZone <../../datazone>` / Client / remove_policy_grant

*******************
remove_policy_grant
*******************



.. py:method:: DataZone.Client.remove_policy_grant(**kwargs)

  

  Removes a policy grant.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/RemovePolicyGrant>`_  


  **Request Syntax**
  ::

    response = client.remove_policy_grant(
        domainIdentifier='string',
        entityType='DOMAIN_UNIT'|'ENVIRONMENT_BLUEPRINT_CONFIGURATION'|'ENVIRONMENT_PROFILE'|'ASSET_TYPE',
        entityIdentifier='string',
        policyType='CREATE_DOMAIN_UNIT'|'OVERRIDE_DOMAIN_UNIT_OWNERS'|'ADD_TO_PROJECT_MEMBER_POOL'|'OVERRIDE_PROJECT_OWNERS'|'CREATE_GLOSSARY'|'CREATE_FORM_TYPE'|'CREATE_ASSET_TYPE'|'CREATE_PROJECT'|'CREATE_ENVIRONMENT_PROFILE'|'DELEGATE_CREATE_ENVIRONMENT_PROFILE'|'CREATE_ENVIRONMENT'|'CREATE_ENVIRONMENT_FROM_BLUEPRINT'|'CREATE_PROJECT_FROM_PROJECT_PROFILE'|'USE_ASSET_TYPE',
        principal={
            'user': {
                'userIdentifier': 'string',
                'allUsersGrantFilter': {}
                
            },
            'group': {
                'groupIdentifier': 'string'
            },
            'project': {
                'projectDesignation': 'OWNER'|'CONTRIBUTOR'|'PROJECT_CATALOG_STEWARD',
                'projectIdentifier': 'string',
                'projectGrantFilter': {
                    'domainUnitFilter': {
                        'domainUnit': 'string',
                        'includeChildDomainUnits': True|False
                    }
                }
            },
            'domainUnit': {
                'domainUnitDesignation': 'OWNER',
                'domainUnitIdentifier': 'string',
                'domainUnitGrantFilter': {
                    'allDomainUnitsGrantFilter': {}
                    
                }
            }
        },
        grantIdentifier='string',
        clientToken='string'
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    The ID of the domain where you want to remove a policy grant.

    

  
  :type entityType: string
  :param entityType: **[REQUIRED]** 

    The type of the entity from which you want to remove a policy grant.

    

  
  :type entityIdentifier: string
  :param entityIdentifier: **[REQUIRED]** 

    The ID of the entity from which you want to remove a policy grant.

    

  
  :type policyType: string
  :param policyType: **[REQUIRED]** 

    The type of the policy that you want to remove.

    

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

    The principal from which you want to remove a policy grant.

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``user``, ``group``, ``project``, ``domainUnit``. 

  
    - **user** *(dict) --* 

      The user of the policy grant principal.

      .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``userIdentifier``, ``allUsersGrantFilter``. 

    
      - **userIdentifier** *(string) --* 

        The user ID of the user policy grant principal.

        

      
      - **allUsersGrantFilter** *(dict) --* 

        The all users grant filter of the user policy grant principal.

        

      
      
    
    - **group** *(dict) --* 

      The group of the policy grant principal.

      .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``groupIdentifier``. 

    
      - **groupIdentifier** *(string) --* 

        The ID Of the group of the group principal.

        

      
    
    - **project** *(dict) --* 

      The project of the policy grant principal.

      

    
      - **projectDesignation** *(string) --* **[REQUIRED]** 

        The project designation of the project policy grant principal.

        

      
      - **projectIdentifier** *(string) --* 

        The project ID of the project policy grant principal.

        

      
      - **projectGrantFilter** *(dict) --* 

        The project grant filter of the project policy grant principal.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``domainUnitFilter``. 

      
        - **domainUnitFilter** *(dict) --* 

          The domain unit filter of the project grant filter.

          

        
          - **domainUnit** *(string) --* **[REQUIRED]** 

            The domain unit ID to use in the filter.

            

          
          - **includeChildDomainUnits** *(boolean) --* 

            Specifies whether to include child domain units.

            

          
        
      
    
    - **domainUnit** *(dict) --* 

      The domain unit of the policy grant principal.

      

    
      - **domainUnitDesignation** *(string) --* **[REQUIRED]** 

        Specifes the designation of the domain unit users.

        

      
      - **domainUnitIdentifier** *(string) --* 

        The ID of the domain unit.

        

      
      - **domainUnitGrantFilter** *(dict) --* 

        The grant filter for the domain unit.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``allDomainUnitsGrantFilter``. 

      
        - **allDomainUnitsGrantFilter** *(dict) --* 

          Specifies a grant filter containing all domain units.

          

        
        
      
    
  
  :type grantIdentifier: string
  :param grantIdentifier: 

    The ID of the policy grant that is to be removed from a specified entity.

    

  
  :type clientToken: string
  :param clientToken: 

    A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

    This field is autopopulated if not provided.

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`DataZone.Client.exceptions.InternalServerException`

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

  
  *   :py:class:`DataZone.Client.exceptions.ThrottlingException`

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

  
  *   :py:class:`DataZone.Client.exceptions.UnauthorizedException`

  