protected abstract ProgressEvent handleRequest()

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