:doc:`ECR <../../ecr>` / Client / describe_repositories

*********************
describe_repositories
*********************



.. py:method:: ECR.Client.describe_repositories(**kwargs)

  

  Describes image repositories in a registry.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeRepositories>`_  


  **Request Syntax**
  ::

    response = client.describe_repositories(
        registryId='string',
        repositoryNames=[
            'string',
        ],
        nextToken='string',
        maxResults=123
    )
    
  :type registryId: string
  :param registryId: 

    The Amazon Web Services account ID associated with the registry that contains the repositories to be described. If you do not specify a registry, the default registry is assumed.

    

  
  :type repositoryNames: list
  :param repositoryNames: 

    A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.

    

  
    - *(string) --* 

    

  :type nextToken: string
  :param nextToken: 

    The ``nextToken`` value returned from a previous paginated ``DescribeRepositories`` request where ``maxResults`` was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the ``nextToken`` value. This value is ``null`` when there are no more results to return. This option cannot be used when you specify repositories with ``repositoryNames``.

     

    .. note::

      

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

      

    

  
  :type maxResults: integer
  :param maxResults: 

    The maximum number of repository results returned by ``DescribeRepositories`` in paginated output. When this parameter is used, ``DescribeRepositories`` only returns ``maxResults`` results in a single page along with a ``nextToken`` response element. The remaining results of the initial request can be seen by sending another ``DescribeRepositories`` request with the returned ``nextToken`` value. This value can be between 1 and 1000. If this parameter is not used, then ``DescribeRepositories`` returns up to 100 results and a ``nextToken`` value, if applicable. This option cannot be used when you specify repositories with ``repositoryNames``.

    

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

    
    ::

      {
          'repositories': [
              {
                  'repositoryArn': 'string',
                  'registryId': 'string',
                  'repositoryName': 'string',
                  'repositoryUri': 'string',
                  'createdAt': datetime(2015, 1, 1),
                  'imageTagMutability': 'MUTABLE'|'IMMUTABLE'|'IMMUTABLE_WITH_EXCLUSION'|'MUTABLE_WITH_EXCLUSION',
                  'imageTagMutabilityExclusionFilters': [
                      {
                          'filterType': 'WILDCARD',
                          'filter': 'string'
                      },
                  ],
                  'imageScanningConfiguration': {
                      'scanOnPush': True|False
                  },
                  'encryptionConfiguration': {
                      'encryptionType': 'AES256'|'KMS'|'KMS_DSSE',
                      'kmsKey': 'string'
                  }
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **repositories** *(list) --* 

        A list of repository objects corresponding to valid repositories.

        
        

        - *(dict) --* 

          An object representing a repository.

          
          

          - **repositoryArn** *(string) --* 

            The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the ``arn:aws:ecr`` namespace, followed by the region of the repository, Amazon Web Services account ID of the repository owner, repository namespace, and repository name. For example, ``arn:aws:ecr:region:012345678910:repository-namespace/repository-name``.

            
          

          - **registryId** *(string) --* 

            The Amazon Web Services account ID associated with the registry that contains the repository.

            
          

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

            The name of the repository.

            
          

          - **repositoryUri** *(string) --* 

            The URI for the repository. You can use this URI for container image ``push`` and ``pull`` operations.

            
          

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

            The date and time, in JavaScript date format, when the repository was created.

            
          

          - **imageTagMutability** *(string) --* 

            The tag mutability setting for the repository.

            
          

          - **imageTagMutabilityExclusionFilters** *(list) --* 

            A list of filters that specify which image tags are excluded from the repository's image tag mutability setting.

            
            

            - *(dict) --* 

              A filter that specifies which image tags should be excluded from the repository's image tag mutability setting.

              
              

              - **filterType** *(string) --* 

                The type of filter to apply for excluding image tags from mutability settings.

                
              

              - **filter** *(string) --* 

                The filter value used to match image tags for exclusion from mutability settings.

                
          
        
          

          - **imageScanningConfiguration** *(dict) --* 

            The image scanning configuration for a repository.

            
            

            - **scanOnPush** *(boolean) --* 

              The setting that determines whether images are scanned after being pushed to a repository. If set to ``true``, images will be scanned after being pushed. If this parameter is not specified, it will default to ``false`` and images will not be scanned unless a scan is manually started with the `API_StartImageScan <https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_StartImageScan.html>`__ API.

              
        
          

          - **encryptionConfiguration** *(dict) --* 

            The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.

            
            

            - **encryptionType** *(string) --* 

              The encryption type to use.

               

              If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with Key Management Service key stored in KMS. When you use KMS to encrypt your data, you can either use the default Amazon Web Services managed KMS key for Amazon ECR, or specify your own KMS key, which you already created.

               

              If you use the ``KMS_DSSE`` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the KMS Management Service key stored in KMS. Similar to the ``KMS`` encryption type, you can either use the default Amazon Web Services managed KMS key for Amazon ECR, or specify your own KMS key, which you've already created.

               

              If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.

               

              For more information, see `Amazon ECR encryption at rest <https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html>`__ in the *Amazon Elastic Container Registry User Guide*.

              
            

            - **kmsKey** *(string) --* 

              If you use the ``KMS`` encryption type, specify the KMS key to use for encryption. The alias, key ID, or full ARN of the KMS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default Amazon Web Services managed KMS key for Amazon ECR will be used.

              
        
      
    
      

      - **nextToken** *(string) --* 

        The ``nextToken`` value to include in a future ``DescribeRepositories`` request. When the results of a ``DescribeRepositories`` request exceed ``maxResults``, this value can be used to retrieve the next page of results. This value is ``null`` when there are no more results to return.

        
  
  **Exceptions**
  
  *   :py:class:`ECR.Client.exceptions.ServerException`

  
  *   :py:class:`ECR.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`ECR.Client.exceptions.RepositoryNotFoundException`

  

  **Examples**

  The following example obtains a list and description of all repositories in the default registry to which the current user has access.
  ::

    response = client.describe_repositories(
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'repositories': [
            {
                'registryId': '012345678910',
                'repositoryArn': 'arn:aws:ecr:us-west-2:012345678910:repository/ubuntu',
                'repositoryName': 'ubuntu',
            },
            {
                'registryId': '012345678910',
                'repositoryArn': 'arn:aws:ecr:us-west-2:012345678910:repository/test',
                'repositoryName': 'test',
            },
        ],
        'ResponseMetadata': {
            '...': '...',
        },
    }

  