Class SDKRequest

java.lang.Object
com.veeva.vault.vapil.api.request.VaultRequest<SDKRequest>
com.veeva.vault.vapil.api.request.SDKRequest

public class SDKRequest extends VaultRequest<SDKRequest>
Managing Vault Java SDK Code
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#managing-vault-java-sdk-code
  • Method Details

    • retrieveSingleSourceCodeFile

      public SDKResponse retrieveSingleSourceCodeFile(String className)
      Retrieve Single Source Code File

      Retrieve a single source code file from the currently authenticated vault

      Parameters:
      className - The fully qualified class name of your file.
      Returns:
      SDKResponse
      Vault API Endpoint:
       GET /api/{version}/code/{class_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-single-source-code-file
      Example Request:
       SDKResponse resp = vaultClient.newRequest(SDKRequest.class)
                                      .retrieveSingleSourceCodeFile(className);
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
       System.out.println("Binary Length = " + resp.getBinaryContent().length);
    • disableVaultExtension

      public SDKResponse disableVaultExtension(String className)
      Disable Vault Extension

      Disable a deployed Vault extension in the currently authenticated vault. Only available on entry-point classes, such as triggers and actions.

      Parameters:
      className - The fully qualified class name of your file.
      Returns:
      SDKResponse
      Vault API Endpoint:
       PUT /api/{version}/code/{class_name}/disable
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#enable-or-disable-vault-extension
      Example Request:
       SDKResponse resp = vaultClient.newRequest(SDKRequest.class)
                                      .disableVaultExtension(className);
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
    • enableVaultExtension

      public SDKResponse enableVaultExtension(String className)
      Enable Vault Extension

      Enable a deployed Vault extension in the currently authenticated vault. Only available on entry-point classes, such as triggers and actions.

      Parameters:
      className - The fully qualified class name of your file.
      Returns:
      SDKResponse
      Vault API Endpoint:
       PUT /api/{version}/code/{class_name}/enable
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#enable-or-disable-vault-extension
      Example Request:
       SDKResponse resp = vaultClient.newRequest(SDKRequest.class)
                                      .enableVaultExtension(className);
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
       
    • addOrReplaceSingleSourceCodeFile

      public SDKResponse addOrReplaceSingleSourceCodeFile()
      Add or Replace Single Source Code File

      Add or replace a single .java file in the currently authenticated Vault. If the given file does not already exist in the vault, it is added. If the file already exists in the vault, the file is updated. Maximum allowed size is 1MB.

      Returns:
      SDKResponse
      Vault API Endpoint:
       PUT /api/{version}/code
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#add-or-replace-single-source-code-file
      Example Request:
       SDKResponse resp = vaultClient.newRequest(SDKRequest.class)
                                              .setBinaryFile(sdkFile.getName(), Files.readAllBytes(sdkFile.toPath()))
                                              .addOrReplaceSingleSourceCodeFile();
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
       System.out.println("Message = " + resp.getResponseMessage());
       System.out.println("Url = " + resp.getUrl());
      
       System.out.println("\n****** Add/Replace SDK Component - Local File ******");
       resp = vaultClient.newRequest(SDKRequest.class)
       .setInputPath(fileName)
       .addOrReplaceSingleSourceCodeFile();
      
       System.out.println("Status = " + resp.getResponseStatus());
       System.out.println("Message = " + resp.getResponseMessage());
       System.out.println("Url = " + resp.getUrl());
    • deleteSingleSourceCodeFile

      public VaultResponse deleteSingleSourceCodeFile(String className)
      Delete Single Source Code File

      Delete a single source code file from the currently authenticated Vault. You cannot delete a code component currently in-use.

      Parameters:
      className - The fully qualified class name of your file.
      Returns:
      VaultResponse
      Vault API Endpoint:
       DELETE /api/{version}/code/{class_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#delete-single-source-code-file
      Example Request:
       VaultResponse resp = vaultClient.newRequest(SDKRequest.class)
                                      .deleteSingleSourceCodeFile(className);
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
    • validatePackage

      public ValidatePackageResponse validatePackage()
      Validate Package Validate a VPK package with Vault Java SDK code attached to this request. This checks checks code compilation and restrictions in use of the JDK.
      Returns:
      ValidatePackageResponse
      Vault API Endpoint:
       POST /api/{version}/services/package/actions/validate
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#validate-package
      Example Request:
       ValidatePackageResponse resp = vaultClient.newRequest(SDKRequest.class)
                                      .setInputPath(fileName)
                                      .validatePackage();
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
       System.out.println("Author = " + resp.getResponseDetails().getAuthor());
    • validateImportedPackage

      public ValidatePackageResponse validateImportedPackage(String packageId)
      Validate Imported Package

      Validate a previously imported VPK package with Vault Java SDK code.

      Parameters:
      packageId - id of package to validate
      Returns:
      ValidatePackageResponse
      Vault API Endpoint:
       POST /api/{version}/services/vobject/vault_package__v/{package_id}/actions/validate
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#validate-imported-package
      Example Request:
       ValidatePackageResponse resp = vaultClient.newRequest(SDKRequest.class)
                                      .validateImportedPackage(packageId);
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
       System.out.println("Author = " + resp.getResponseDetails().getAuthor());
    • retrieveAllQueues

      public QueueResponse retrieveAllQueues()
      Retrieve all Queues
      Returns:
      QueueResponse
      Vault API Endpoint:
       GET /api/{version}/services/queues
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-all-queues
      Example Request:
       QueueResponse resp = vaultClient.newRequest(SDKRequest.class)
                                      .retrieveAllQueues();
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
      
       String queueName = null;
       if (resp.isSuccessful()) {
         System.out.println("# Queues = " + resp.getData().size());
      
         for (QueueResponse.Queue queue : resp.getData()) {
           queueName = queue.getName();
           System.out.println("Queue Name = " + queue.getName());
           }
         }
       }
    • retrieveQueueStatus

      public QueueResponse retrieveQueueStatus(String queueName)
      Retrieve Queue Status

      Retrieve the status of a specific queue.

      Parameters:
      queueName - name of queue
      Returns:
      QueueResponse
      Vault API Endpoint:
       GET /api/{version}/services/queues/{queue_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-queue-status
      Example Request:
       QueueResponse resp = vaultClient.newRequest(SDKRequest.class)
              .retrieveQueueStatus(queueName);
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
       if (resp.isSuccessful()) {
         System.out.println("# Queues = " + resp.getData().size());
      
         for (QueueResponse.Queue queue : resp.getData()) {
           System.out.println("Queue Name = " + queue.getName());
         }
       }
    • disableDelivery

      public VaultResponse disableDelivery(String queueName)
      Disable Delivery

      The following endpoint allows you to disable the delivery of messages in an outbound queue. This endpoint is not available for inbound queues, as inbound queues process received messages rather than deliver messages. Vault uses Message Processor to process received messages. There is no way to stop received messages from processing.

      Parameters:
      queueName - name of queue
      Returns:
      VaultResponse
      Vault API Endpoint:
       PUT /api/{version}/services/queues/{queue_name}/actions/disable_delivery
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#disable-delivery
      Example Request:
       VaultResponse disableResponse = vaultClient.newRequest(SDKRequest.class)
       .disableDelivery(queueName);
      Example Response:
       System.out.println("Status = " + disableResponse.getResponseStatus());
    • enableDelivery

      public VaultResponse enableDelivery(String queueName)
      Enable Delivery

      The following endpoint allows you to enable the delivery of messages in an outbound queue. This endpoint is not available for inbound queues, as inbound queues process received messages rather than deliver messages.

      Parameters:
      queueName - name of queue
      Returns:
      VaultResponse
      Vault API Endpoint:
       PUT /api/{version}/services/queues/{queue_name}/actions/enable_delivery
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#enable-delivery
      Example Request:
       VaultResponse enableResponse = vaultClient.newRequest(SDKRequest.class)
                      .enableDelivery(queueName);
      Example Response:
       System.out.println("Status = " + enableResponse.getResponseStatus());
    • resetQueue

      public VaultResponse resetQueue(String queueName)
      Reset Queue

      Delete all messages in a specific queue. This action is final and cannot be undone.

      Parameters:
      queueName - name of queue
      Returns:
      VaultResponse
      Vault API Endpoint:
       PUT /api/{version}/services/queues/{queue_name}/actions/reset
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#reset-queue
      Example Request:
       VaultResponse resetResponse = vaultClient.newRequest(SDKRequest.class)
                              .resetQueue(queueName);
      Example Response:
       System.out.println("Status = " + resetResponse.getResponseStatus());
    • retrieveSigningCertificate

      public VaultResponse retrieveSigningCertificate(String certificateId)
      The following endpoint allows you to retrieve a signing certificate included in a Spark message header to verify that the received message came from Vault.
      Parameters:
      certificateId - certificate id
      Returns:
      VaultResponse
      Vault API Endpoint:
       GET /api/{version}/services/certificate/{cert_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-signing-certificate
      Example Request:
       VaultResponse resp = vaultClient.newRequest(SDKRequest.class)
                                      .setOutputPath(fileName)
                                      .retrieveSigningCertificate("00001");
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
    • setBinaryFile

      public SDKRequest setBinaryFile(String filename, byte[] binaryContent)
      Specify source data in an input file
      Parameters:
      filename - file name (no path)
      binaryContent - byte array of the file content
      Returns:
      The Request
    • setInputPath

      public SDKRequest setInputPath(String inputPath)
      Specify source data in an input file
      Parameters:
      inputPath - Absolute path to the file for the request
      Returns:
      The Request
    • setOutputPath

      public SDKRequest setOutputPath(String outputPath)
      Specify source data in an output file
      Parameters:
      outputPath - Absolute path to the file for the response
      Returns:
      The Request