in aws-codeartifact-domain/src/main/java/software/amazon/codeartifact/domain/ReadHandler.java [73:103]
private ProgressEvent<ResourceModel, CallbackContext> getDomainPolicy(
AmazonWebServicesClientProxy proxy,
ProgressEvent<ResourceModel, CallbackContext> progress,
ResourceHandlerRequest<ResourceModel> request,
ProxyClient<CodeartifactClient> proxyClient
) {
return proxy.initiate("AWS-CodeArtifact-Domain::GetDomainPolicy", proxyClient, progress.getResourceModel(), progress.getCallbackContext())
.translateToServiceRequest(Translator::translateGetDomainPermissionsPolicyRequest)
.makeServiceCall((awsRequest, client) -> {
logger.log(String.format("%s getDomainPolicy is being invoked", ResourceModel.TYPE_NAME));
GetDomainPermissionsPolicyResponse getDomainPermissionsPolicyResponse = null;
try {
getDomainPermissionsPolicyResponse = client.injectCredentialsAndInvokeV2(awsRequest, proxyClient.client()::getDomainPermissionsPolicy);
} catch (final ResourceNotFoundException e) {
// Do nothing since there is no policy
} catch (final AwsServiceException e) {
String domainName = request.getDesiredResourceState().getDomainName();
Translator.throwCfnException(e, Constants.GET_DOMAIN_PERMISSION_POLICY, domainName);
}
logger.log(String.format("Domain policy of %s has successfully been read.", ResourceModel.TYPE_NAME));
return getDomainPermissionsPolicyResponse;
})
.done((getDomainPermissionsPolicyRequest, getDomainPermissionsPolicyResponse, proxyInvocation, resourceModel, context) -> {
if (getDomainPermissionsPolicyResponse != null) {
String domainPolicy = getDomainPermissionsPolicyResponse.policy().document();
resourceModel.setPermissionsPolicyDocument(Translator.deserializePolicy(domainPolicy));
}
return ProgressEvent.progress(resourceModel, context);
});
}