A client for interfacing with the SAS Viya REST API.

Hierarchy

  • SASViyaApiClient

Constructors

  • Parameters

    • serverUrl: string
    • rootFolderName: string
    • contextName: string
    • requestClient: RequestClient

    Returns SASViyaApiClient

Accessors

Methods

  • A helper method used to call appendRequest method of RequestClient

    Parameters

    • response: any

      response from sasjs request

    • program: string

      name of program

    • debug: boolean

      a boolean that indicates whether debug was enabled or not

    Returns void

  • Creates a compute context on the given server.

    Parameters

    • contextName: string

      the name of the context to be created.

    • launchContextName: string

      the name of the launcher context used by the compute service.

    • sharedAccountId: string

      the ID of the account to run the servers for this context.

    • autoExecLines: string[]

      the lines of code to execute during session initialization.

    • Optional accessToken: string

      an access token for an authorized user.

    • Optional authorizedUsers: string[]

      an optional list of authorized user IDs.

    Returns Promise<Context>

  • Creates a file. Path to or URI of the parent folder is required.

    Parameters

    • fileName: string

      the name of the new file.

    • contentBuffer: Buffer

      the content of the new file in Buffer.

    • Optional parentFolderPath: string

      the full path to the parent folder. If not provided, the parentFolderUri must be provided.

    • Optional parentFolderUri: string

      the URI (eg /folders/folders/UUID) of the parent folder. If not provided, the parentFolderPath must be provided.

    • Optional accessToken: string

      an access token for authorizing the request.

    Returns Promise<File>

  • Creates a folder. Path to or URI of the parent folder is required.

    Parameters

    • folderName: string

      the name of the new folder.

    • Optional parentFolderPath: string

      the full path to the parent folder. If not provided, the parentFolderUri must be provided.

    • Optional parentFolderUri: string

      the URI (eg /folders/folders/UUID) of the parent folder. If not provided, the parentFolderPath must be provided.

    • Optional accessToken: string

      an access token for authorizing the request.

    • Optional isForced: boolean

      flag that indicates if target folder already exists, it and all subfolders have to be deleted.

    Returns Promise<Folder>

  • Creates a Job in the specified folder (or folder uri).

    Parameters

    • jobName: string

      the name of the new job to be created.

    • code: string

      the SAS code for the new job.

    • Optional parentFolderPath: string

      the location of the new job.

    • Optional parentFolderUri: string

      the URI location of the new job. The function is a little faster if the folder URI is supplied instead of the path.

    • Optional accessToken: string

    Returns Promise<{
        etag: string;
        result: Job;
    }>

  • Creates a launcher context on the given server.

    Parameters

    • contextName: string

      the name of the context to be created.

    • description: string

      the description of the context to be created.

    • launchType: string = 'direct'

      launch type of the context to be created.

    • Optional accessToken: string

      an access token for an authorized user.

    Returns Promise<Context>

  • Creates a session on the given context.

    Parameters

    • contextName: string

      the name of the context to create a session on.

    • Optional accessToken: string

      an access token for an authorized user.

    Returns Promise<Session>

  • Deletes the client representing the supplied ID.

    Parameters

    • clientId: string

      the client ID to authenticate with.

    • Optional accessToken: string

      an access token for authorizing the request.

    Returns Promise<unknown>

  • Deletes a compute context on the given server.

    Parameters

    • contextName: string

      the name of the context to be deleted.

    • Optional accessToken: string

      an access token for an authorized user.

    Returns Promise<{
        etag: string;
        result: Context;
    }>

  • For performance (and in case of accidental error) the deleteFolder function does not actually delete the folder (and all its content and subfolder content). Instead the folder is simply moved to the recycle bin. Deletion time will be added to the folder name.

    Parameters

    • folderPath: string

      the full path (eg /Public/example/deleteThis) of the folder to be deleted.

    • Optional accessToken: string

      an access token for authorizing the request.

    Returns Promise<undefined | Folder>

  • Updates a compute context on the given server.

    Parameters

    • contextName: string

      the original name of the context to be updated.

    • editedContext: EditContextInput

      an object with the properties to be updated.

    • Optional accessToken: string

      an access token for an authorized user.

    Returns Promise<{
        etag: string;
        result: Context;
    }>

  • Executes a job via the SAS Viya Compute API.

    Parameters

    • sasJob: string

      the relative path to the job.

    • contextName: string

      the name of the context where the job is to be executed.

    • Optional debug: boolean

      sets the _debug flag in the job arguments.

    • Optional data: any

      any data to be passed in as input to the job.

    • Optional authConfig: AuthConfig
    • waitForResult: boolean = true

      a boolean indicating if the function should wait for a result.

    • expectWebout: boolean = false

      a boolean indicating whether to expect a _webout response.

    • Optional pollOptions: PollOptions

      an object that represents poll interval(milliseconds) and maximum amount of attempts. Object example: { maxPollCount: 24 * 60 * 60, pollInterval: 1000 }. More information available at src/api/viya/pollJobState.ts.

    • printPid: boolean = false

      a boolean that indicates whether the function should print (PID) of the started job.

    • Optional variables: MacroVar

      an object that represents macro variables.

    Returns Promise<any>

  • Executes a job via the SAS Viya Job Execution API

    Parameters

    • sasJob: string

      the relative or absolute path to the job.

    • contextName: string

      the name of the context where the job is to be executed.

    • debug: boolean

      sets the _debug flag in the job arguments.

    • Optional data: any

      any data to be passed in as input to the job.

    • Optional authConfig: AuthConfig

    Returns Promise<JobExecutionResult>

  • Executes code on the current SAS Viya server.

    Parameters

    • jobPath: string

      the path to the file being submitted for execution.

    • linesOfCode: string[]

      an array of code lines to execute.

    • contextName: string

      the context to execute the code in.

    • Optional authConfig: AuthConfig

      an object containing an access token, refresh token, client ID and secret.

    • data: null = null

      execution data.

    • debug: boolean = false

      when set to true, the log will be returned.

    • expectWebout: boolean = false

      when set to true, the automatic _webout fileref will be checked for content, and that content returned. This fileref is used when the Job contains a SASjs web request (as opposed to executing arbitrary SAS code).

    • waitForResult: boolean = true

      when set to true, function will return the session

    • Optional pollOptions: PollOptions

      an object that represents poll interval(milliseconds) and maximum amount of attempts. Object example: { maxPollCount: 24 * 60 * 60, pollInterval: 1000 }. More information available at src/api/viya/pollJobState.ts.

    • printPid: boolean = false

      a boolean that indicates whether the function should print (PID) of the started job.

    • Optional variables: MacroVar

      an object that represents macro variables.

    Returns Promise<any>

  • Exchanges the auth code for an access token for the given client.

    Parameters

    • clientId: string

      the client ID to authenticate with.

    • clientSecret: string

      the client secret to authenticate with.

    • authCode: string

      the auth code received from the server.

    Returns Promise<SasAuthResponse>

  • Performs a login redirect and returns an auth code for the given client.

    Parameters

    • clientId: string

      the client ID to authenticate with.

    Returns Promise<null | string>

  • Returns a JSON representation of a compute context.

    Parameters

    • contextId: string

      an id of the context to return.

    • Optional accessToken: string

      an access token for an authorized user.

    Returns Promise<ContextAllAttributes>

  • Returns a JSON representation of a compute context. @example: { "createdBy": "admin", "links": [...], "id": "ID", "version": 2, "name": "context1" }

    Parameters

    • contextName: string

      the name of the context to return.

    • Optional accessToken: string

      an access token for an authorized user.

    Returns Promise<Context>

  • Returns all available compute contexts on this server.

    Parameters

    • Optional accessToken: string

      an access token for an authorized user.

    Returns Promise<{
        attributes: {};
        createdBy: any;
        id: any;
        name: any;
        version: any;
    }[]>

  • Returns an object containing the server URL and root folder name.

    Returns {
        rootFolderName: string;
        serverUrl: string;
    }

    • rootFolderName: string
    • serverUrl: string
  • Returns default(system) compute contexts.

    Returns string[]

  • Returns all compute contexts on this server that the user has access to.

    Parameters

    • Optional authConfig: AuthConfig

      an access token, refresh token, client and secret for an authorized user.

    Returns Promise<any[]>

  • Fetches a folder. Path to the folder is required.

    Parameters

    • folderPath: string

      the absolute path to the folder.

    • Optional accessToken: string

      an access token for authorizing the request.

    Returns Promise<unknown>

  • Returns a list of jobs in the currently set root folder.

    Parameters

    • folderPath: string

    Returns Promise<undefined | Job[]>

  • Returns all available launcher contexts on this server.

    Parameters

    • Optional accessToken: string

      an access token for an authorized user.

    Returns Promise<{
        attributes: {};
        createdBy: any;
        id: any;
        name: any;
        version: any;
    }[]>

  • Lists children folders for given Viya folder.

    Parameters

    • sourceFolder: string

      the full path (eg /Public/example/myFolder) or URI of the source folder listed. Providing URI instead of path will save one extra request.

    • Optional accessToken: string

      an access token for authorizing the request.

    • limit: number = 20

    Returns Promise<any[]>

  • Moves Viya folder to a new location. The folder may be renamed at the same time.

    Parameters

    • sourceFolder: string

      the full path (eg /Public/example/myFolder) or URI of the source folder to be moved. Providing URI instead of path will save one extra request.

    • targetParentFolder: string

      the full path or URI of the parent folder to which the sourceFolder will be moved (eg /Public/newDestination). To move a folder, a user has to have write permissions in targetParentFolder. Providing URI instead of the path will save one extra request.

    • targetFolderName: string

      the name of the "moved" folder. If left blank, the original folder name will be used (eg myFolder in /Public/newDestination/myFolder for the example above). Optional field.

    • Optional accessToken: string

      an access token for authorizing the request.

    Returns Promise<undefined | Folder>

  • Exchanges the refresh token for an access token for the given client. This method can only be used by Node.

    Parameters

    • clientId: string

      the client ID to authenticate with.

    • clientSecret: string

      the client secret to authenticate with.

    • refreshToken: string

      the refresh token received from the server.

    Returns Promise<SasAuthResponse>

  • Updates server URL and root folder name, if it was not set.

    Parameters

    • serverUrl: string

      the URL of the server.

    • rootFolderName: string

      the name for root folder.

    Returns void

Generated using TypeDoc