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);
}