:doc:`DataZone <../../datazone>` / Paginator / ListRules

*********
ListRules
*********



.. py:class:: DataZone.Paginator.ListRules

  ::

    
    paginator = client.get_paginator('list_rules')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`DataZone.Client.list_rules`.

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


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          domainIdentifier='string',
          targetType='DOMAIN_UNIT',
          targetIdentifier='string',
          ruleType='METADATA_FORM_ENFORCEMENT'|'GLOSSARY_TERM_ENFORCEMENT',
          action='CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST',
          projectIds=[
              'string',
          ],
          assetTypes=[
              'string',
          ],
          dataProduct=True|False,
          includeCascaded=True|False,
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
      
    :type domainIdentifier: string
    :param domainIdentifier: **[REQUIRED]** 

      The ID of the domain in which the rules are to be listed.

      

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

      The target type of the rule.

      

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

      The target ID of the rule.

      

    
    :type ruleType: string
    :param ruleType: 

      The type of the rule.

      

    
    :type action: string
    :param action: 

      The action of the rule.

      

    
    :type projectIds: list
    :param projectIds: 

      The IDs of projects in which rules are to be listed.

      

    
      - *(string) --* 

      
  
    :type assetTypes: list
    :param assetTypes: 

      The asset types of the rule.

      

    
      - *(string) --* 

      
  
    :type dataProduct: boolean
    :param dataProduct: 

      The data product of the rule.

      

    
    :type includeCascaded: boolean
    :param includeCascaded: 

      Specifies whether to include cascading rules in the results.

      

    
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

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

      
      ::

        {
            'items': [
                {
                    'identifier': 'string',
                    'revision': 'string',
                    'ruleType': 'METADATA_FORM_ENFORCEMENT'|'GLOSSARY_TERM_ENFORCEMENT',
                    'name': 'string',
                    'targetType': 'DOMAIN_UNIT',
                    'target': {
                        'domainUnitTarget': {
                            'domainUnitId': 'string',
                            'includeChildDomainUnits': True|False
                        }
                    },
                    'action': 'CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST',
                    'scope': {
                        'assetType': {
                            'selectionMode': 'ALL'|'SPECIFIC',
                            'specificAssetTypes': [
                                'string',
                            ]
                        },
                        'dataProduct': True|False,
                        'project': {
                            'selectionMode': 'ALL'|'SPECIFIC',
                            'specificProjects': [
                                'string',
                            ]
                        }
                    },
                    'updatedAt': datetime(2015, 1, 1),
                    'lastUpdatedBy': 'string'
                },
            ],
            'NextToken': 'string'
        }
        
      **Response Structure**

      

      - *(dict) --* 
        

        - **items** *(list) --* 

          The results of the ``ListRules`` action.

          
          

          - *(dict) --* 

            The summary of the rule.

            
            

            - **identifier** *(string) --* 

              The ID of the rule.

              
            

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

              The revision of the rule.

              
            

            - **ruleType** *(string) --* 

              The type of the rule.

              
            

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

              The name of the rule.

              
            

            - **targetType** *(string) --* 

              The target type of the rule.

              
            

            - **target** *(dict) --* 

              The target of the rule.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``domainUnitTarget``.     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'}


            
              

              - **domainUnitTarget** *(dict) --* 

                The ID of the domain unit.

                
                

                - **domainUnitId** *(string) --* 

                  The ID of the domain unit.

                  
                

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

                  Specifies whether to apply a rule to the child domain units.

                  
            
          
            

            - **action** *(string) --* 

              The action of the rule.

              
            

            - **scope** *(dict) --* 

              The scope of the rule.

              
              

              - **assetType** *(dict) --* 

                The asset type included in the rule scope.

                
                

                - **selectionMode** *(string) --* 

                  The selection mode for the rule.

                  
                

                - **specificAssetTypes** *(list) --* 

                  The specific asset types that are included in the rule.

                  
                  

                  - *(string) --* 
              
            
              

              - **dataProduct** *(boolean) --* 

                The data product included in the rule scope.

                
              

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

                The project included in the rule scope.

                
                

                - **selectionMode** *(string) --* 

                  The selection mode of the rule.

                  
                

                - **specificProjects** *(list) --* 

                  The specific projects in which the rule is created.

                  
                  

                  - *(string) --* 
              
            
          
            

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

              The timestamp at which the rule was last updated.

              
            

            - **lastUpdatedBy** *(string) --* 

              The timestamp at which the rule was last updated.

              
        
      
        

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

          A token to resume pagination.

          
    