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

*******************
ListPackageVersions
*******************



.. py:class:: CodeArtifact.Paginator.ListPackageVersions

  ::

    
    paginator = client.get_paginator('list_package_versions')

  
  

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

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

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


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          domain='string',
          domainOwner='string',
          repository='string',
          format='npm'|'pypi'|'maven'|'nuget'|'generic'|'ruby'|'swift'|'cargo',
          namespace='string',
          package='string',
          status='Published'|'Unfinished'|'Unlisted'|'Archived'|'Disposed'|'Deleted',
          sortBy='PUBLISHED_TIME',
          originType='INTERNAL'|'EXTERNAL'|'UNKNOWN',
          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 package versions.

      

    
    :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 package versions.

      

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

      The format of the package versions you want to list.

      

    
    :type namespace: string
    :param namespace: 

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

       

      .. note::

        

        The namespace is required when deleting package versions of the following formats:

         

        
        * Maven
         
        * Swift
         
        * generic
        

        

       

      
      * 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 package: string
    :param package: **[REQUIRED]** 

      The name of the package for which you want to request package versions.

      

    
    :type status: string
    :param status: 

      A string that filters the requested package versions by status.

      

    
    :type sortBy: string
    :param sortBy: 

      How to sort the requested list of package versions.

      

    
    :type originType: string
    :param originType: 

      The ``originType`` used to filter package versions. Only package versions with the provided ``originType`` will be returned.

      

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

      
      ::

        {
            'defaultDisplayVersion': 'string',
            'format': 'npm'|'pypi'|'maven'|'nuget'|'generic'|'ruby'|'swift'|'cargo',
            'namespace': 'string',
            'package': 'string',
            'versions': [
                {
                    'version': 'string',
                    'revision': 'string',
                    'status': 'Published'|'Unfinished'|'Unlisted'|'Archived'|'Disposed'|'Deleted',
                    'origin': {
                        'domainEntryPoint': {
                            'repositoryName': 'string',
                            'externalConnectionName': 'string'
                        },
                        'originType': 'INTERNAL'|'EXTERNAL'|'UNKNOWN'
                    }
                },
            ],
            'NextToken': 'string'
        }
        
      **Response Structure**

      

      - *(dict) --* 
        

        - **defaultDisplayVersion** *(string) --* 

          The default package version to display. This depends on the package format:

           

          
          * For Maven and PyPI packages, it's the most recently published package version.
           
          * For npm packages, it's the version referenced by the ``latest`` tag. If the ``latest`` tag is not set, it's the most recently published package version.
          

          
        

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

          A format of the package.

          
        

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

          The namespace of the package that contains the requested package versions. 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.

          
        

        - **versions** *(list) --* 

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

          
          

          - *(dict) --* 

            Details about a package version, including its status, version, and revision. The `ListPackageVersions <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html>`__ operation returns a list of ``PackageVersionSummary`` objects.

            
            

            - **version** *(string) --* 

              Information about a package version.

              
            

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

              The revision associated with a package version.

              
            

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

              A string that contains the status of the package version. It can be one of the following:

              
            

            - **origin** *(dict) --* 

              A `PackageVersionOrigin <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionOrigin.html>`__ object that contains information about how the package version was added to the repository.

              
              

              - **domainEntryPoint** *(dict) --* 

                A `DomainEntryPoint <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainEntryPoint.html>`__ object that contains information about from which repository or external connection the package version was added to the domain.

                
                

                - **repositoryName** *(string) --* 

                  The name of the repository that a package was originally published to.

                  
                

                - **externalConnectionName** *(string) --* 

                  The name of the external connection that a package was ingested from.

                  
            
              

              - **originType** *(string) --* 

                Describes how the package version was originally added to the domain. An ``INTERNAL`` origin type means the package version was published directly to a repository in the domain. An ``EXTERNAL`` origin type means the package version was ingested from an external connection.

                
          
        
      
        

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

          A token to resume pagination.

          
    