in aws-ecr-replicationconfiguration/src/main/java/software/amazon/ecr/replicationconfiguration/DeleteHandler.java [20:63]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<EcrClient> proxyClient,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
final EcrClient client = proxyClient.client();
try {
// Ensure resource exists on the ECR Registry.
if (!hasExistingResource(describeRegistryResource(proxy, client))) {
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.FAILED)
.errorCode(HandlerErrorCode.NotFound)
.build();
}
PutReplicationConfigurationRequest deleteRequest = PutReplicationConfigurationRequest.builder()
.replicationConfiguration(ReplicationConfiguration.builder()
.rules(Collections.emptyList())
.build())
.build();
proxy.injectCredentialsAndInvokeV2(
deleteRequest,
client::putReplicationConfiguration);
logger.log(String.format("%s [%s] Deleted Successfully", ResourceModel.TYPE_NAME, model.getRegistryId()));
} catch (AwsServiceException e) {
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.FAILED)
.errorCode(HandlerErrorCode.GeneralServiceException)
.message(e.getMessage())
.build();
}
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.status(OperationStatus.SUCCESS)
.build();
}