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

*******************
revoke_subscription
*******************



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

  

  Revokes a specified subscription in Amazon DataZone.

  

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


  **Request Syntax**
  ::

    response = client.revoke_subscription(
        domainIdentifier='string',
        identifier='string',
        retainPermissions=True|False
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    The identifier of the Amazon DataZone domain where you want to revoke a subscription.

    

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

    The identifier of the revoked subscription.

    

  
  :type retainPermissions: boolean
  :param retainPermissions: 

    Specifies whether permissions are retained when the subscription is revoked.

    

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

    
    ::

      {
          'id': 'string',
          'createdBy': 'string',
          'updatedBy': 'string',
          'domainId': 'string',
          'status': 'APPROVED'|'REVOKED'|'CANCELLED',
          'createdAt': datetime(2015, 1, 1),
          'updatedAt': datetime(2015, 1, 1),
          'subscribedPrincipal': {
              'project': {
                  'id': 'string',
                  'name': 'string'
              },
              'user': {
                  'id': 'string',
                  'details': {
                      'iam': {
                          'arn': 'string',
                          'principalId': 'string'
                      },
                      'sso': {
                          'username': 'string',
                          'firstName': 'string',
                          'lastName': 'string'
                      }
                  }
              },
              'group': {
                  'id': 'string',
                  'name': 'string'
              },
              'iam': {
                  'principalArn': 'string'
              }
          },
          'subscribedListing': {
              'id': 'string',
              'revision': 'string',
              'name': 'string',
              'description': 'string',
              'item': {
                  'assetListing': {
                      'entityId': 'string',
                      'entityRevision': 'string',
                      'entityType': 'string',
                      'forms': 'string',
                      'glossaryTerms': [
                          {
                              'name': 'string',
                              'shortDescription': 'string'
                          },
                      ],
                      'assetScope': {
                          'assetId': 'string',
                          'filterIds': [
                              'string',
                          ],
                          'status': 'string',
                          'errorMessage': 'string'
                      },
                      'permissions': {
                          's3': [
                              'READ'|'WRITE',
                          ]
                      }
                  },
                  'productListing': {
                      'entityId': 'string',
                      'entityRevision': 'string',
                      'glossaryTerms': [
                          {
                              'name': 'string',
                              'shortDescription': 'string'
                          },
                      ],
                      'name': 'string',
                      'description': 'string',
                      'assetListings': [
                          {
                              'entityId': 'string',
                              'entityRevision': 'string',
                              'entityType': 'string'
                          },
                      ]
                  }
              },
              'ownerProjectId': 'string',
              'ownerProjectName': 'string'
          },
          'subscriptionRequestId': 'string',
          'retainPermissions': True|False
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **id** *(string) --* 

        The identifier of the revoked subscription.

        
      

      - **createdBy** *(string) --* 

        The identifier of the user who revoked the subscription.

        
      

      - **updatedBy** *(string) --* 

        The Amazon DataZone user who revoked the subscription.

        
      

      - **domainId** *(string) --* 

        The identifier of the Amazon DataZone domain where you want to revoke a subscription.

        
      

      - **status** *(string) --* 

        The status of the revoked subscription.

        
      

      - **createdAt** *(datetime) --* 

        The timestamp of when the subscription was revoked.

        
      

      - **updatedAt** *(datetime) --* 

        The timestamp of when the subscription was revoked.

        
      

      - **subscribedPrincipal** *(dict) --* 

        The subscribed principal of the revoked subscription.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``project``, ``user``, ``group``, ``iam``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


      
        

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

          The project that has the subscription grant.

          
          

          - **id** *(string) --* 

            The identifier of the project that has the subscription grant.

            
          

          - **name** *(string) --* 

            The name of the project that has the subscription grant.

            
      
        

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

          The subscribed user.

          
          

          - **id** *(string) --* 

            The ID of the subscribed user.

            
          

          - **details** *(dict) --* 

            The subscribed user details.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``iam``, ``sso``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **iam** *(dict) --* 

              The IAM details of the user profile.

              
              

              - **arn** *(string) --* 

                The ARN of the IAM user.

                
              

              - **principalId** *(string) --* 

                The principal ID as part of the IAM user profile details.

                
          
            

            - **sso** *(dict) --* 

              The SSO details of the user profile.

              
              

              - **username** *(string) --* 

                The username as part of the SSO user profile detail.

                
              

              - **firstName** *(string) --* 

                The first name as part of the SSO user profile detail.

                
              

              - **lastName** *(string) --* 

                The last name as part of the SSO user profile detail.

                
          
        
      
        

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

          The subscribed group.

          
          

          - **id** *(string) --* 

            The ID of the subscribed group.

            
          

          - **name** *(string) --* 

            The name of the subscribed group.

            
      
        

        - **iam** *(dict) --* 

          The subscribed IAM principal.

          
          

          - **principalArn** *(string) --* 

            The ARN of the subscribed IAM principal.

            
      
    
      

      - **subscribedListing** *(dict) --* 

        The subscribed listing of the revoked subscription.

        
        

        - **id** *(string) --* 

          The identifier of the published asset for which the subscription grant is created.

          
        

        - **revision** *(string) --* 

          The revision of the published asset for which the subscription grant is created.

          
        

        - **name** *(string) --* 

          The name of the published asset for which the subscription grant is created.

          
        

        - **description** *(string) --* 

          The description of the published asset for which the subscription grant is created.

          
        

        - **item** *(dict) --* 

          The published asset for which the subscription grant is created.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``assetListing``, ``productListing``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                    'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


        
          

          - **assetListing** *(dict) --* 

            The asset for which the subscription grant is created.

            
            

            - **entityId** *(string) --* 

              The identifier of the published asset for which the subscription grant is created.

              
            

            - **entityRevision** *(string) --* 

              The revision of the published asset for which the subscription grant is created.

              
            

            - **entityType** *(string) --* 

              The type of the published asset for which the subscription grant is created.

              
            

            - **forms** *(string) --* 

              The forms attached to the published asset for which the subscription grant is created.

              
            

            - **glossaryTerms** *(list) --* 

              The glossary terms attached to the published asset for which the subscription grant is created.

              
              

              - *(dict) --* 

                Details of a glossary term attached to the inventory asset.

                
                

                - **name** *(string) --* 

                  The name of a glossary term attached to the inventory asset.

                  
                

                - **shortDescription** *(string) --* 

                  The shoft description of a glossary term attached to the inventory asset.

                  
            
          
            

            - **assetScope** *(dict) --* 

              The asset scope of the subscribed asset listing.

              
              

              - **assetId** *(string) --* 

                The asset ID of the asset scope.

                
              

              - **filterIds** *(list) --* 

                The filter IDs of the asset scope.

                
                

                - *(string) --* 
            
              

              - **status** *(string) --* 

                The status of the asset scope.

                
              

              - **errorMessage** *(string) --* 

                The error message of the asset scope.

                
          
            

            - **permissions** *(dict) --* 

              The asset permissions.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``s3``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


            
              

              - **s3** *(list) --* 

                The S3 details of the asset permissions.

                
                

                - *(string) --* 
            
          
        
          

          - **productListing** *(dict) --* 

            The data product listing.

            
            

            - **entityId** *(string) --* 

              The ID of the data product listing.

              
            

            - **entityRevision** *(string) --* 

              The revision of the data product listing.

              
            

            - **glossaryTerms** *(list) --* 

              The glossary terms of the data product listing.

              
              

              - *(dict) --* 

                Details of a glossary term attached to the inventory asset.

                
                

                - **name** *(string) --* 

                  The name of a glossary term attached to the inventory asset.

                  
                

                - **shortDescription** *(string) --* 

                  The shoft description of a glossary term attached to the inventory asset.

                  
            
          
            

            - **name** *(string) --* 

              The name of the data product listing.

              
            

            - **description** *(string) --* 

              The description of the data product listing.

              
            

            - **assetListings** *(list) --* 

              The data assets of the data product listing.

              
              

              - *(dict) --* 

                The listing of the asset in a data product.

                
                

                - **entityId** *(string) --* 

                  The entity ID of the listing of the asset in a data product.

                  
                

                - **entityRevision** *(string) --* 

                  The entity revision of the listing of the asset in a data product.

                  
                

                - **entityType** *(string) --* 

                  The entity type of the listing of the asset in a data product.

                  
            
          
        
      
        

        - **ownerProjectId** *(string) --* 

          The identifier of the project of the published asset for which the subscription grant is created.

          
        

        - **ownerProjectName** *(string) --* 

          The name of the project that owns the published asset for which the subscription grant is created.

          
    
      

      - **subscriptionRequestId** *(string) --* 

        The identifier of the subscription request for the revoked subscription.

        
      

      - **retainPermissions** *(boolean) --* 

        Specifies whether permissions are retained when the subscription is revoked.

        
  
  **Exceptions**
  
  *   :py:class:`DataZone.Client.exceptions.InternalServerException`

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

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

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

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

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

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

  