protected ProgressEvent putRepositoryPermissionsPolicy()

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