private ProgressEvent updateResourcePolicy()

in aws-sagemaker-modelpackagegroup/src/main/java/software/amazon/sagemaker/modelpackagegroup/UpdateHandler.java [75:102]


    private ProgressEvent<ResourceModel, CallbackContext> updateResourcePolicy(
            final ProxyClient<SageMakerClient> proxyClient,
            final ResourceModel model,
            final CallbackContext callbackContext) {
        try {
            if (model.getModelPackageGroupPolicy() != null) {
                proxyClient.injectCredentialsAndInvokeV2(
                        Translator.translateToPutModelPackageGroupPolicyRequest(model), proxyClient.client()::putModelPackageGroupPolicy);
            } else {
                try {
                    proxyClient.injectCredentialsAndInvokeV2(
                            Translator.translateToDeleteModelPackageGroupPolicyRequest(model), proxyClient.client()::deleteModelPackageGroupPolicy);
                } catch (AwsServiceException e) {
                    if (StringUtils.isNotBlank(e.getMessage()) && e.getMessage().matches(".*Cannot find resource policy.*")) {
                        // policy already deleted or not available
                    }
                    else {
                        throw e;
                    }
                }
            }
        } catch (ResourceNotFoundException e) {
            throw new CfnNotFoundException(ResourceModel.TYPE_NAME, model.getModelPackageGroupName(), e);
        } catch (final AwsServiceException e) {
            ExceptionMapper.throwCfnException(Action.UPDATE.toString(), ResourceModel.TYPE_NAME, model.getModelPackageGroupName(), e);
        }
        return ProgressEvent.progress(model, callbackContext);
    }