private ProgressEvent updateRepository()

in aws-codeartifact-repository/src/main/java/software/amazon/codeartifact/repository/UpdateHandler.java [149:178]


    private ProgressEvent<ResourceModel, CallbackContext> updateRepository(
        final AmazonWebServicesClientProxy proxy,
        final ResourceModel desiredModel,
        final ResourceModel previousModel,
        final ProgressEvent<ResourceModel, CallbackContext> progress,
        final CallbackContext callbackContext,
        final ProxyClient<CodeartifactClient> proxyClient,
        Logger logger
    ) {

        if (ComparisonUtils.upstreamsAreEqual(desiredModel, previousModel) &&
            ComparisonUtils.willNotUpdateDescription(desiredModel, previousModel)) {
            return ProgressEvent.progress(desiredModel, callbackContext);
        }

        return proxy.initiate("AWS-CodeArtifact-Repository::Update", proxyClient,progress.getResourceModel(), callbackContext)
            .translateToServiceRequest((model) -> Translator.translateToUpdateRepository(model, previousModel))
            .makeServiceCall((awsRequest, client) -> {
                AwsResponse awsResponse = null;
                try {
                    awsResponse = client.injectCredentialsAndInvokeV2(awsRequest, client.client()::updateRepository);
                } catch (final AwsServiceException e) {
                    String repositoryName = progress.getResourceModel().getRepositoryName();
                    Translator.throwCfnException(e, Constants.UPDATE_REPOSITORY, repositoryName);
                }
                logger.log(String.format("%s successfully updated.", ResourceModel.TYPE_NAME));
                return awsResponse;
            })
            .progress();
    }