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 in the Amazon Elastic Container Registry User Guide. For more information on the custom role for replication, see Creating an IAM role for replication.
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.
Parameters:
-
replication_configuration
(ReplicationConfiguration)
–
An object representing the replication configuration for a registry.
Raises:
Source code in docs_src/capo_ecr/_services/ecr.py
| def put_replication_configuration(
self,
replication_configuration: "capo_ecr.types.replication_configuration.ReplicationConfiguration",
*,
config_overrides: Optional[ECRClientConfig] = None,
) -> "capo_ecr.types.put_replication_configuration_response.PutReplicationConfigurationResponse":
"""<p>Creates or updates the replication configuration for a registry. The existing replication configuration for a repository can be retrieved with the <a>DescribeRegistry</a> 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 <a href="https://docs.aws.amazon.com/AmazonECR/latest/userguide/using-service-linked-roles.html">Using service-linked roles for Amazon ECR</a> in the <i>Amazon Elastic Container Registry User Guide</i>. For more information on the custom role for replication, see <a href="https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication-creation-templates.html#roles-creatingrole-user-console">Creating an IAM role for replication</a>.</p> <note> <p>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 <a>PutRegistryPolicy</a>.</p> </note>
Args:
replication_configuration: <p>An object representing the replication configuration for a registry.</p>
Raises:
capo_ecr.errors.invalid_parameter_exception.InvalidParameterException: <p>The specified parameter is invalid. Review the available parameters for the API request.</p>
capo_ecr.errors.server_exception.ServerException: <p>These errors are usually caused by a server-side issue.</p>
capo_ecr.errors.validation_exception.ValidationException: <p>There was an exception validating this request.</p>
capo_ecr.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_ecr.types.put_replication_configuration_request.PutReplicationConfigurationRequest]",
) -> OperationResponse[
"capo_ecr.types.put_replication_configuration_response.PutReplicationConfigurationResponse"
]:
import capo_ecr._operations.amazon_ec2_container_registry_v20150921.put_replication_configuration
output, http_response = (
capo_ecr._operations.amazon_ec2_container_registry_v20150921.put_replication_configuration.put_replication_configuration(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("PutReplicationConfiguration")
)
input_: capo_ecr.types.put_replication_configuration_request.PutReplicationConfigurationRequest = {
"replication_configuration": replication_configuration
}
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|