:doc:`CodeArtifact <../../codeartifact>` / Paginator / ListPackages

************
ListPackages
************



.. py:class:: CodeArtifact.Paginator.ListPackages

  ::

    
    paginator = client.get_paginator('list_packages')

  
  

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

    Creates an iterator that will paginate through responses from :py:meth:`CodeArtifact.Client.list_packages`.

    See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackages>`_    


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          domain='string',
          domainOwner='string',
          repository='string',
          format='npm'|'pypi'|'maven'|'nuget'|'generic'|'ruby'|'swift'|'cargo',
          namespace='string',
          packagePrefix='string',
          publish='ALLOW'|'BLOCK',
          upstream='ALLOW'|'BLOCK',
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
      
    :type domain: string
    :param domain: **[REQUIRED]** 

      The name of the domain that contains the repository that contains the requested packages.

      

    
    :type domainOwner: string
    :param domainOwner: 

      The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.

      

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

      The name of the repository that contains the requested packages.

      

    
    :type format: string
    :param format: 

      The format used to filter requested packages. Only packages from the provided format will be returned.

      

    
    :type namespace: string
    :param namespace: 

      The namespace prefix used to filter requested packages. Only packages with a namespace that starts with the provided string value are returned. Note that although this option is called ``--namespace`` and not ``--namespace-prefix``, it has prefix-matching behavior.

       

      Each package format uses namespace as follows:

       

      
      * The namespace of a Maven package version is its ``groupId``.
       
      * The namespace of an npm or Swift package version is its ``scope``.
       
      * The namespace of a generic package is its ``namespace``.
       
      * Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace.
      

      

    
    :type packagePrefix: string
    :param packagePrefix: 

      A prefix used to filter requested packages. Only packages with names that start with ``packagePrefix`` are returned.

      

    
    :type publish: string
    :param publish: 

      The value of the ``Publish`` package origin control restriction used to filter requested packages. Only packages with the provided restriction are returned. For more information, see `PackageOriginRestrictions <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html>`__.

      

    
    :type upstream: string
    :param upstream: 

      The value of the ``Upstream`` package origin control restriction used to filter requested packages. Only packages with the provided restriction are returned. For more information, see `PackageOriginRestrictions <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html>`__.

      

    
    :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**

      
      ::

        {
            'packages': [
                {
                    'format': 'npm'|'pypi'|'maven'|'nuget'|'generic'|'ruby'|'swift'|'cargo',
                    'namespace': 'string',
                    'package': 'string',
                    'originConfiguration': {
                        'restrictions': {
                            'publish': 'ALLOW'|'BLOCK',
                            'upstream': 'ALLOW'|'BLOCK'
                        }
                    }
                },
            ],
            'NextToken': 'string'
        }
        
      **Response Structure**

      

      - *(dict) --* 
        

        - **packages** *(list) --* 

          The list of returned `PackageSummary <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageSummary.html>`__ objects.

          
          

          - *(dict) --* 

            Details about a package, including its format, namespace, and name.

            
            

            - **format** *(string) --* 

              The format of the package.

              
            

            - **namespace** *(string) --* 

              The namespace of the package. The package component that specifies its namespace depends on its type. For example:

               

              
              * The namespace of a Maven package version is its ``groupId``.
               
              * The namespace of an npm or Swift package version is its ``scope``.
               
              * The namespace of a generic package is its ``namespace``.
               
              * Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace.
              

              
            

            - **package** *(string) --* 

              The name of the package.

              
            

            - **originConfiguration** *(dict) --* 

              A `PackageOriginConfiguration <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginConfiguration.html>`__ object that contains a `PackageOriginRestrictions <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html>`__ object that contains information about the upstream and publish package origin restrictions.

              
              

              - **restrictions** *(dict) --* 

                A ``PackageOriginRestrictions`` object that contains information about the upstream and publish package origin configuration for the package.

                
                

                - **publish** *(string) --* 

                  The package origin configuration that determines if new versions of the package can be published directly to the repository.

                  
                

                - **upstream** *(string) --* 

                  The package origin configuration that determines if new versions of the package can be added to the repository from an external connection or upstream source.

                  
            
          
        
      
        

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

          A token to resume pagination.

          
    