in aws-codeartifact-repository/src/main/java/software/amazon/codeartifact/repository/BaseHandlerStd.java [82:111]
protected ProgressEvent<ResourceModel, CallbackContext> putRepositoryPermissionsPolicy(
final AmazonWebServicesClientProxy proxy,
final ProgressEvent<ResourceModel, CallbackContext> progress,
final CallbackContext callbackContext,
final ResourceHandlerRequest<ResourceModel> request,
final ProxyClient<CodeartifactClient> proxyClient,
final Logger logger
) {
final ResourceModel desiredModel = progress.getResourceModel();
final ResourceModel previousModel = request.getPreviousResourceState();
if (desiredModel.getPermissionsPolicyDocument() == null || policyIsUnchanged(desiredModel, previousModel)) {
return ProgressEvent.progress(desiredModel, callbackContext);
}
return proxy.initiate(
"CodeArtifact::PutRepositoryPermissionsPolicy", proxyClient, desiredModel, callbackContext)
.translateToServiceRequest(Translator::translatePutPermissionsPolicyRequest)
.makeServiceCall((awsRequest, client) -> {
PutRepositoryPermissionsPolicyResponse awsResponse = null;
try {
awsResponse = client.injectCredentialsAndInvokeV2(awsRequest, client.client()::putRepositoryPermissionsPolicy);
logger.log("Repository permission policy successfully added.");
} catch (final AwsServiceException e) {
String domainName = desiredModel.getDomainName();
Translator.throwCfnException(e, Constants.PUT_REPOSITORY_POLICY, domainName);
}
return awsResponse;
})
.progress();
}