in aws-codeartifact-domain/src/main/java/software/amazon/codeartifact/domain/BaseHandlerStd.java [33:69]
protected abstract ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<CodeartifactClient> proxyClient,
final Logger logger);
protected ProgressEvent<ResourceModel, CallbackContext> putDomainPermissionsPolicy(
final AmazonWebServicesClientProxy proxy,
final ProgressEvent<ResourceModel, CallbackContext> progress,
final CallbackContext callbackContext,
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("AWS-CodeArtifact-Domain::Update::PutDomainPermissionsPolicy", proxyClient, progress.getResourceModel(), progress.getCallbackContext())
.translateToServiceRequest(Translator::translatePutDomainPolicyRequest)
.makeServiceCall((awsRequest, client) -> {
PutDomainPermissionsPolicyResponse awsResponse = null;
try {
awsResponse = client.injectCredentialsAndInvokeV2(awsRequest, client.client()::putDomainPermissionsPolicy);
logger.log("Domain permission policy successfully added.");
} catch (final AwsServiceException e) {
String domainName = desiredModel.getDomainName();
Translator.throwCfnException(e, Constants.PUT_DOMAIN_POLICY, domainName);
}
return awsResponse;
})
.progress();
}