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

*****************************
put_replication_configuration
*****************************



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

  

  Creates or updates the replication configuration for a registry. The existing replication configuration for a repository can be retrieved with the  DescribeRegistry API action. The first time the PutReplicationConfiguration API is called, a service-linked IAM role is created in your account for the replication process. For more information, see `Using service-linked roles for Amazon ECR <https://docs.aws.amazon.com/AmazonECR/latest/userguide/using-service-linked-roles.html>`__ in the *Amazon Elastic Container Registry User Guide*. For more information on the custom role for replication, see `Creating an IAM role for replication <https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication-creation-templates.html#roles-creatingrole-user-console>`__.

   

  .. note::

    

    When configuring cross-account replication, the destination account must grant the source account permission to replicate. This permission is controlled using a registry permissions policy. For more information, see  PutRegistryPolicy.

    

  

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


  **Request Syntax**
  ::

    response = client.put_replication_configuration(
        replicationConfiguration={
            'rules': [
                {
                    'destinations': [
                        {
                            'region': 'string',
                            'registryId': 'string'
                        },
                    ],
                    'repositoryFilters': [
                        {
                            'filter': 'string',
                            'filterType': 'PREFIX_MATCH'
                        },
                    ]
                },
            ]
        }
    )
    
  :type replicationConfiguration: dict
  :param replicationConfiguration: **[REQUIRED]** 

    An object representing the replication configuration for a registry.

    

  
    - **rules** *(list) --* **[REQUIRED]** 

      An array of objects representing the replication destinations and repository filters for a replication configuration.

      

    
      - *(dict) --* 

        An array of objects representing the replication destinations and repository filters for a replication configuration.

        

      
        - **destinations** *(list) --* **[REQUIRED]** 

          An array of objects representing the destination for a replication rule.

          

        
          - *(dict) --* 

            An array of objects representing the destination for a replication rule.

            

          
            - **region** *(string) --* **[REQUIRED]** 

              The Region to replicate to.

              

            
            - **registryId** *(string) --* **[REQUIRED]** 

              The Amazon Web Services account ID of the Amazon ECR private registry to replicate to. When configuring cross-Region replication within your own registry, specify your own account ID.

              

            
          
      
        - **repositoryFilters** *(list) --* 

          An array of objects representing the filters for a replication rule. Specifying a repository filter for a replication rule provides a method for controlling which repositories in a private registry are replicated.

          

        
          - *(dict) --* 

            The filter settings used with image replication. Specifying a repository filter to a replication rule provides a method for controlling which repositories in a private registry are replicated. If no filters are added, the contents of all repositories are replicated.

            

          
            - **filter** *(string) --* **[REQUIRED]** 

              The repository filter details. When the ``PREFIX_MATCH`` filter type is specified, this value is required and should be the repository name prefix to configure replication for.

              

            
            - **filterType** *(string) --* **[REQUIRED]** 

              The repository filter type. The only supported value is ``PREFIX_MATCH``, which is a repository name prefix specified with the ``filter`` parameter.

              

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

    
    ::

      {
          'replicationConfiguration': {
              'rules': [
                  {
                      'destinations': [
                          {
                              'region': 'string',
                              'registryId': 'string'
                          },
                      ],
                      'repositoryFilters': [
                          {
                              'filter': 'string',
                              'filterType': 'PREFIX_MATCH'
                          },
                      ]
                  },
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **replicationConfiguration** *(dict) --* 

        The contents of the replication configuration for the registry.

        
        

        - **rules** *(list) --* 

          An array of objects representing the replication destinations and repository filters for a replication configuration.

          
          

          - *(dict) --* 

            An array of objects representing the replication destinations and repository filters for a replication configuration.

            
            

            - **destinations** *(list) --* 

              An array of objects representing the destination for a replication rule.

              
              

              - *(dict) --* 

                An array of objects representing the destination for a replication rule.

                
                

                - **region** *(string) --* 

                  The Region to replicate to.

                  
                

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

                  The Amazon Web Services account ID of the Amazon ECR private registry to replicate to. When configuring cross-Region replication within your own registry, specify your own account ID.

                  
            
          
            

            - **repositoryFilters** *(list) --* 

              An array of objects representing the filters for a replication rule. Specifying a repository filter for a replication rule provides a method for controlling which repositories in a private registry are replicated.

              
              

              - *(dict) --* 

                The filter settings used with image replication. Specifying a repository filter to a replication rule provides a method for controlling which repositories in a private registry are replicated. If no filters are added, the contents of all repositories are replicated.

                
                

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

                  The repository filter details. When the ``PREFIX_MATCH`` filter type is specified, this value is required and should be the repository name prefix to configure replication for.

                  
                

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

                  The repository filter type. The only supported value is ``PREFIX_MATCH``, which is a repository name prefix specified with the ``filter`` parameter.

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

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

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

  