@hpcc-js/comms
Version:
hpcc-js - Communications
1 lines • 832 kB
Source Map (JSON)
{"version":3,"file":"index.umd.cjs","sources":["../../src/__package__.ts","../../src/connection.ts","../../src/espConnection.ts","../../src/services/wsdl/FileSpray/v1.27/FileSpray.ts","../../src/services/fileSpray.ts","../../src/services/wsdl/ws_access/v1.17/ws_access.ts","../../src/services/wsAccess.ts","../../src/services/wsdl/ws_account/v1.07/ws_account.ts","../../src/services/wsAccount.ts","../../src/services/wsdl/WsCloud/v1.02/WsCloud.ts","../../src/services/wsCloud.ts","../../src/services/wsdl/ws_codesign/v1.1/ws_codesign.ts","../../src/services/wsCodesign.ts","../../src/services/wsdl/WsDali/v1.07/WsDali.ts","../../src/services/wsDali.ts","../../src/services/wsdl/WsDfu/v1.67/WsDfu.ts","../../src/services/wsDFU.ts","../../src/services/wsdl/WsDFUXRef/v1.04/WsDFUXRef.ts","../../src/services/wsDFUXRef.ts","../../src/services/wsEcl.ts","../../src/services/wsdl/ws_elk/v1/ws_elk.ts","../../src/services/wsElk.ts","../../src/services/wsdl/ws_logaccess/v1.08/ws_logaccess.ts","../../src/services/wsLogaccess.ts","../../../../node_modules/d3-array/src/ascending.js","../../../../node_modules/d3-array/src/bisector.js","../../../../node_modules/d3-array/src/number.js","../../../../node_modules/d3-array/src/max.js","../../../../node_modules/d3-array/src/mean.js","../../src/services/wsdl/ws_machine/v1.19/ws_machine.ts","../../../../node_modules/d3-array/src/bisect.js","../../src/services/wsMachine.ts","../../src/services/wsdl/WsPackageProcess/v1.07/WsPackageProcess.ts","../../src/services/wsPackageProcess.ts","../../src/services/wsdl/WsResources/v1.01/WsResources.ts","../../src/services/wsResources.ts","../../src/services/wsdl/WsSasha/v1.01/WsSasha.ts","../../src/services/wsSasha.ts","../../../../node_modules/d3-time/src/interval.js","../../../../node_modules/d3-time/src/duration.js","../../../../node_modules/d3-time/src/day.js","../../../../node_modules/d3-time/src/week.js","../../../../node_modules/d3-time/src/year.js","../../../../node_modules/d3-time/src/utcDay.js","../../../../node_modules/d3-time/src/utcWeek.js","../../../../node_modules/d3-time/src/utcYear.js","../../../../node_modules/d3-time-format/src/locale.js","../../../../node_modules/d3-time-format/src/defaultLocale.js","../../src/services/wsdl/WsSMC/v1.29/WsSMC.ts","../../src/services/wsSMC.ts","../../src/services/wsdl/wsstore/v1.02/wsstore.ts","../../src/services/wsStore.ts","../../src/services/wsdl/WsTopology/v1.33/WsTopology.ts","../../src/services/wsTopology.ts","../../src/services/wsdl/WsWorkunits/v2.04/WsWorkunits.ts","../../src/services/wsWorkunits.ts","../../../../node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/d3-format/src/exponent.js","../../../../node_modules/d3-format/src/formatGroup.js","../../../../node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/d3-format/src/formatTrim.js","../../../../node_modules/d3-format/src/formatRounded.js","../../../../node_modules/d3-format/src/formatTypes.js","../../../../node_modules/d3-format/src/identity.js","../../../../node_modules/d3-format/src/locale.js","../../../../node_modules/d3-format/src/defaultLocale.js","../../src/ecl/graph.ts","../../src/ecl/resource.ts","../../src/ecl/xsdParser.ts","../../src/ecl/result.ts","../../src/ecl/scope.ts","../../src/ecl/sourceFile.ts","../../src/ecl/timer.ts","../../src/ecl/workunit.ts","../../src/ecl/activity.ts","../../src/ecl/logicalFile.ts","../../src/ecl/machine.ts","../../src/ecl/targetCluster.ts","../../src/ecl/topology.ts","../../src/ecl/queryGraph.ts","../../src/ecl/query.ts","../../src/ecl/store.ts","../../src/ecl/dfuWorkunit.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\r\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\r\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\r\n","import { join, promiseTimeout, root, scopedLogger, utf8ToBase64 } from \"@hpcc-js/util\";\r\n\r\nconst logger = scopedLogger(\"comms/connection.ts\");\r\n\r\nexport type RequestType = \"post\" | \"get\" | \"jsonp\";\r\nexport type ResponseType = \"json\" | \"text\";\r\n\r\nexport type IOptionsSend = (options: IOptions, action: string, request: any, responseType: ResponseType, defaultSend: SendFunc, header?: any) => Promise<any>;\r\nexport interface IOptions {\r\n baseUrl: string;\r\n type?: RequestType;\r\n userID?: string;\r\n password?: string;\r\n rejectUnauthorized?: boolean;\r\n timeoutSecs?: number;\r\n hookSend?: IOptionsSend;\r\n encodeRequest?: boolean; // defaults to true\r\n}\r\nexport function instanceOfIOptions(object: any): object is IOptions {\r\n return \"baseUrl\" in object;\r\n}\r\n\r\nconst DefaultOptions: IOptions = {\r\n type: \"post\",\r\n baseUrl: \"\",\r\n userID: \"\",\r\n password: \"\",\r\n rejectUnauthorized: true,\r\n timeoutSecs: 60\r\n};\r\n\r\nexport interface IConnection {\r\n opts(_: Partial<IOptions>): this;\r\n opts(): IOptions;\r\n baseUrl: string;\r\n\r\n send(action: string, request: any, responseType?: ResponseType): Promise<any>;\r\n clone(): IConnection;\r\n}\r\nexport function instanceOfIConnection(object: any): object is IConnection {\r\n return typeof object.opts === \"function\" &&\r\n typeof object.send === \"function\" &&\r\n typeof object.clone === \"function\";\r\n}\r\n\r\n// comms ---\r\n\r\nfunction encode(uriComponent: string | number | boolean, encodeRequest: boolean): string {\r\n return (encodeRequest === undefined || encodeRequest === true) ? encodeURIComponent(uriComponent) : \"\" + uriComponent;\r\n}\r\n\r\nexport function serializeRequest(obj: any, encodeRequest: boolean = true, prefix: string = \"\"): string {\r\n if (prefix) {\r\n prefix += \".\";\r\n }\r\n if (typeof obj !== \"object\") {\r\n return encode(obj, encodeRequest);\r\n }\r\n\r\n const str: string[] = [];\r\n for (const key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n if (obj[key] instanceof Array) {\r\n // Specific to ESP - but no REST standard exists...\r\n let includeItemCount = false;\r\n obj[key].forEach((row: any, i: number) => {\r\n if (typeof row === \"object\") {\r\n includeItemCount = true;\r\n str.push(serializeRequest(row, encodeRequest, prefix + encode(`${key}.${i}`, encodeRequest)));\r\n } else {\r\n str.push(prefix + encode(`${key}_i${i}`, encodeRequest) + \"=\" + serializeRequest(row, encodeRequest));\r\n }\r\n });\r\n if (includeItemCount) {\r\n str.push(prefix + encode(`${key}.itemcount`, encodeRequest) + \"=\" + obj[key].length);\r\n }\r\n } else if (typeof obj[key] === \"object\") {\r\n if (obj[key] && obj[key][\"Item\"] instanceof Array) { // Specific to ws_machine.GetTargetClusterInfo?\r\n str.push(serializeRequest(obj[key][\"Item\"], encodeRequest, prefix + encode(key, encodeRequest)));\r\n str.push(prefix + encode(`${key}.itemcount`, encodeRequest) + \"=\" + obj[key][\"Item\"].length);\r\n } else {\r\n str.push(serializeRequest(obj[key], encodeRequest, prefix + encode(key, encodeRequest)));\r\n }\r\n } else if (obj[key] !== undefined) {\r\n str.push(prefix + encode(key, encodeRequest) + \"=\" + encode(obj[key], encodeRequest));\r\n } else {\r\n str.push(prefix + encode(key, encodeRequest));\r\n }\r\n }\r\n }\r\n return str.join(\"&\");\r\n}\r\n\r\nexport function deserializeResponse(body: string) {\r\n return JSON.parse(body);\r\n}\r\n\r\nexport function jsonp(opts: IOptions, action: string, request: any = {}, responseType: ResponseType = \"json\", header?: any): Promise<any> {\r\n if (header) {\r\n console.warn(\"Header attributes ignored for JSONP connections\");\r\n }\r\n return new Promise<any>((resolve, reject) => {\r\n let respondedTimeout = opts.timeoutSecs! * 1000;\r\n const respondedTick = 5000;\r\n const callbackName = \"jsonp_callback_\" + Math.round(Math.random() * 999999);\r\n (window as any)[callbackName] = function (response: any) {\r\n respondedTimeout = 0;\r\n doCallback();\r\n resolve(responseType === \"json\" && typeof response === \"string\" ? deserializeResponse(response) : response);\r\n };\r\n const script = document.createElement(\"script\");\r\n let url = join(opts.baseUrl, action);\r\n url += url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\r\n script.src = url + \"jsonp=\" + callbackName + \"&\" + serializeRequest(request, opts.encodeRequest);\r\n document.body.appendChild(script);\r\n const progress = setInterval(function () {\r\n if (respondedTimeout <= 0) {\r\n clearInterval(progress);\r\n } else {\r\n respondedTimeout -= respondedTick;\r\n if (respondedTimeout <= 0) {\r\n clearInterval(progress);\r\n logger.error(\"Request timeout: \" + script.src);\r\n doCallback();\r\n reject(Error(\"Request timeout: \" + script.src));\r\n } else {\r\n logger.debug(\"Request pending (\" + respondedTimeout / 1000 + \" sec): \" + script.src);\r\n }\r\n }\r\n }, respondedTick);\r\n\r\n function doCallback() {\r\n delete (window as any)[callbackName];\r\n document.body.removeChild(script);\r\n }\r\n });\r\n}\r\n\r\nfunction authHeader(opts: IOptions): object {\r\n return opts.userID ? { Authorization: `Basic ${utf8ToBase64(`${opts.userID}:${opts.password}`)}` } : {};\r\n}\r\n\r\n// _omitMap is a workaround for older HPCC-Platform instances without credentials ---\r\nconst _omitMap: { [baseUrl: string]: boolean } = {};\r\nfunction doFetch(opts: IOptions, action: string, requestInit: RequestInit, headersInit: HeadersInit, responseType: string) {\r\n headersInit = {\r\n ...authHeader(opts),\r\n ...headersInit\r\n };\r\n\r\n requestInit = {\r\n credentials: _omitMap[opts.baseUrl] ? \"omit\" : \"include\",\r\n ...requestInit,\r\n headers: headersInit\r\n };\r\n\r\n if (opts.baseUrl.indexOf(\"https:\") === 0) {\r\n // NodeJS / node-fetch only ---\r\n if (opts.rejectUnauthorized === false && root.__hpcc_rejectUnauthorizedAgent) {\r\n requestInit[\"dispatcher\"] = root.__hpcc_rejectUnauthorizedAgent;\r\n } else if (root.__hpcc_trustwaveAgent) {\r\n requestInit[\"agent\"] = root.__hpcc_trustwaveAgent;\r\n }\r\n }\r\n\r\n function handleResponse(response: Response): Promise<any> {\r\n if (response.ok) {\r\n return responseType === \"json\" ? response.json() : response.text();\r\n }\r\n throw new Error(response.statusText);\r\n }\r\n\r\n const fetchOverride = root.__hpcc_undiciFetch ?? fetch;\r\n return promiseTimeout(opts.timeoutSecs! * 1000, fetchOverride(join(opts.baseUrl, action), requestInit)\r\n .then(handleResponse)\r\n .catch(e => {\r\n // Try again with the opposite credentials mode ---\r\n requestInit.credentials = !_omitMap[opts.baseUrl] ? \"omit\" : \"include\";\r\n return fetchOverride(join(opts.baseUrl, action), requestInit)\r\n .then(handleResponse)\r\n .then(responseBody => {\r\n _omitMap[opts.baseUrl] = !_omitMap[opts.baseUrl]; // The \"opposite\" credentials mode is known to work ---\r\n return responseBody;\r\n });\r\n })\r\n );\r\n}\r\n\r\nexport function post(opts: IOptions, action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\r\n if (request.upload_) {\r\n delete request.upload_;\r\n action += \"?upload_\";\r\n }\r\n let abortSignal;\r\n if (request.abortSignal_) {\r\n abortSignal = request.abortSignal_;\r\n delete request.abortSignal_;\r\n }\r\n return doFetch(opts, action, {\r\n method: \"post\",\r\n body: serializeRequest(request, opts.encodeRequest),\r\n signal: abortSignal\r\n }, {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n ...header\r\n } as any, responseType);\r\n}\r\n\r\nexport function get(opts: IOptions, action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\r\n let abortSignal;\r\n if (request.abortSignal_) {\r\n abortSignal = request.abortSignal_;\r\n delete request.abortSignal_;\r\n }\r\n return doFetch(opts, `${action}?${serializeRequest(request, opts.encodeRequest)}`, {\r\n method: \"get\",\r\n signal: abortSignal\r\n }, {\r\n ...header\r\n } as any, responseType);\r\n}\r\n\r\nexport type SendFunc = (opts: IOptions, action: string, request: any, responseType: ResponseType, header?: any) => Promise<any>;\r\nexport function send(opts: IOptions, action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\r\n let retVal: Promise<any>;\r\n switch (opts.type) {\r\n case \"jsonp\":\r\n retVal = jsonp(opts, action, request, responseType, header);\r\n break;\r\n case \"get\":\r\n retVal = get(opts, action, request, responseType, header);\r\n break;\r\n case \"post\":\r\n default:\r\n retVal = post(opts, action, request, responseType, header);\r\n break;\r\n }\r\n return retVal;\r\n}\r\n\r\nlet hookedSend: SendFunc = send;\r\nexport function hookSend(newSend?: SendFunc): SendFunc {\r\n const retVal = hookedSend;\r\n if (newSend) {\r\n hookedSend = newSend;\r\n }\r\n return retVal;\r\n}\r\n\r\nexport class Connection implements IConnection {\r\n protected _opts: IOptions;\r\n get baseUrl() { return this._opts.baseUrl; }\r\n\r\n constructor(opts: IOptions) {\r\n this.opts(opts);\r\n }\r\n\r\n // IConnection ---\r\n opts(_: Partial<IOptions>): this;\r\n opts(): IOptions;\r\n opts(_?: Partial<IOptions>): this | IOptions {\r\n if (arguments.length === 0) return this._opts;\r\n this._opts = { ...DefaultOptions, ..._ };\r\n return this;\r\n }\r\n\r\n send(action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\r\n if (this._opts.hookSend) {\r\n return this._opts.hookSend(this._opts, action, request, responseType, hookedSend, header);\r\n }\r\n return hookedSend(this._opts, action, request, responseType, header);\r\n }\r\n\r\n clone() {\r\n return new Connection(this.opts());\r\n }\r\n}\r\n\r\nexport type IConnectionFactory = (opts: IOptions) => IConnection;\r\nexport let createConnection: IConnectionFactory = function (opts: IOptions): IConnection {\r\n return new Connection(opts);\r\n};\r\n\r\nexport function setTransportFactory(newFunc: IConnectionFactory): IConnectionFactory {\r\n const retVal = createConnection;\r\n createConnection = newFunc;\r\n return retVal;\r\n}\r\n","import { join } from \"@hpcc-js/util\";\r\nimport { createConnection, IConnection, IOptions, ResponseType } from \"./connection.ts\";\r\n\r\nexport type ESPResponseType = ResponseType | \"json2\" | \"xsd\";\r\n\r\nexport function isArray(arg: any) {\r\n return Object.prototype.toString.call(arg) === \"[object Array]\";\r\n}\r\n\r\nexport interface Exception {\r\n Code: number;\r\n Message: string;\r\n}\r\n\r\nexport interface Exceptions {\r\n Source: string;\r\n Exception: Exception[];\r\n}\r\n\r\nexport class ESPExceptions extends Error implements Exceptions {\r\n isESPExceptions = true;\r\n action: string;\r\n request: string;\r\n Source: string;\r\n Exception: Exception[];\r\n\r\n constructor(action: string, request: any, exceptions: Exceptions) {\r\n super(\"ESPException: \" + exceptions.Source);\r\n this.action = action;\r\n this.request = request;\r\n this.Source = exceptions.Source;\r\n this.Exception = exceptions.Exception;\r\n if (exceptions.Exception.length) {\r\n this.message = `${exceptions.Exception[0].Code}: ${exceptions.Exception[0].Message}`;\r\n } else {\r\n this.message = \"\";\r\n }\r\n }\r\n}\r\n\r\nexport function isExceptions(err: any): err is Exceptions {\r\n return err instanceof ESPExceptions || (err.isESPExceptions && Array.isArray(err.Exception));\r\n}\r\n\r\nfunction isConnection(optsConnection: IOptions | IConnection): optsConnection is IConnection {\r\n return (optsConnection as IConnection).send !== undefined;\r\n}\r\n\r\nexport class ESPConnection implements IConnection {\r\n private _connection: IConnection;\r\n get baseUrl() { return this._connection.opts().baseUrl; }\r\n private _service: string;\r\n private _version: string;\r\n\r\n constructor(optsConnection: IOptions | IConnection, service: string, version: string) {\r\n this._connection = isConnection(optsConnection) ? optsConnection : createConnection(optsConnection);\r\n this._service = service;\r\n this._version = version;\r\n }\r\n\r\n service(): string;\r\n service(_: string): ESPConnection;\r\n service(_?: string): string | ESPConnection {\r\n if (_ === void 0) return this._service;\r\n this._service = _;\r\n return this;\r\n }\r\n\r\n version(): string;\r\n version(_: string): ESPConnection;\r\n version(_?: string): string | ESPConnection {\r\n if (_ === void 0) return this._version;\r\n this._version = _;\r\n return this;\r\n }\r\n\r\n toESPStringArray(target: any, arrayName: string): any {\r\n if (isArray(target[arrayName])) {\r\n for (let i = 0; i < target[arrayName].length; ++i) {\r\n target[arrayName + \"_i\" + i] = target[arrayName][i];\r\n }\r\n delete target[arrayName];\r\n }\r\n return target;\r\n }\r\n\r\n // IConnection ---\r\n opts(_: Partial<IOptions>): this;\r\n opts(): IOptions;\r\n opts(_?: Partial<IOptions>): this | IOptions {\r\n if (_ === void 0) return this._connection.opts();\r\n this._connection.opts(_);\r\n return this;\r\n }\r\n\r\n send(action: string, _request: any = {}, espResponseType: ESPResponseType = \"json\", largeUpload: boolean = false, abortSignal?: AbortSignal, espResponseField?: string): Promise<any> {\r\n const request = { ..._request, ...{ ver_: this._version } };\r\n if (largeUpload) {\r\n request[\"upload_\"] = true;\r\n }\r\n if (abortSignal) {\r\n request[\"abortSignal_\"] = abortSignal;\r\n }\r\n let serviceAction: string;\r\n let responseType: ResponseType = \"json\";\r\n switch (espResponseType) {\r\n case \"text\":\r\n serviceAction = join(this._service, action);\r\n responseType = \"text\";\r\n break;\r\n case \"xsd\":\r\n serviceAction = join(this._service, action + \".xsd\");\r\n responseType = \"text\";\r\n break;\r\n case \"json2\":\r\n serviceAction = join(this._service, action + \"/json\");\r\n espResponseType = \"json\";\r\n const actionParts = action.split(\"/\");\r\n action = actionParts.pop()!;\r\n break;\r\n default:\r\n serviceAction = join(this._service, action + \".json\");\r\n }\r\n return this._connection.send(serviceAction, request, responseType).then((response) => {\r\n if (espResponseType === \"json\") {\r\n let retVal;\r\n if (response && response.Exceptions) {\r\n throw new ESPExceptions(action, request, response.Exceptions);\r\n } else if (response) {\r\n retVal = response[espResponseField || (action + \"Response\")];\r\n }\r\n if (!retVal) {\r\n throw new ESPExceptions(action, request, {\r\n Source: \"ESPConnection.send\",\r\n Exception: [{ Code: 0, Message: \"Missing Response\" }]\r\n });\r\n }\r\n return retVal;\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n clone() {\r\n return new ESPConnection(this._connection.clone(), this._service, this._version);\r\n }\r\n}\r\n\r\nexport class Service {\r\n protected _connection: ESPConnection;\r\n get baseUrl() { return this._connection.opts().baseUrl; }\r\n\r\n constructor(optsConnection: IOptions | IConnection, service: string, version: string) {\r\n this._connection = new ESPConnection(optsConnection, service, version);\r\n }\r\n\r\n opts() {\r\n return this._connection.opts();\r\n }\r\n\r\n connection(): ESPConnection {\r\n return this._connection.clone();\r\n }\r\n}\r\n","import { IConnection, IOptions } from \"../../../../connection.ts\";\r\nimport { Service } from \"../../../../espConnection.ts\";\r\n\r\nexport namespace FileSpray {\r\n\r\n export type int = number;\r\n export type double = number;\r\n export type base64Binary = string;\r\n export type long = number;\r\n export type dateTime = string;\r\n\r\n export enum DFUWUActions {\r\n Delete = \"Delete\",\r\n Protect = \"Protect\",\r\n Unprotect = \"Unprotect\",\r\n Restore = \"Restore\",\r\n SetToFailed = \"SetToFailed\",\r\n Archive = \"Archive\"\r\n }\r\n\r\n export interface AbortDFUWorkunit {\r\n wuid: string;\r\n }\r\n\r\n export interface Exception {\r\n Code: string;\r\n Audience: string;\r\n Source: string;\r\n Message: string;\r\n }\r\n\r\n export interface Exceptions {\r\n Source: string;\r\n Exception: Exception[];\r\n }\r\n\r\n export interface AbortDFUWorkunitResponse {\r\n Exceptions: Exceptions;\r\n }\r\n\r\n export interface Copy {\r\n sourceLogicalName: string;\r\n destGroup: string;\r\n destGroupRoxie: string;\r\n destLogicalName: string;\r\n sourceDali: string;\r\n srcusername: string;\r\n srcpassword: string;\r\n overwrite: boolean;\r\n ensure: boolean;\r\n replicate: boolean;\r\n ReplicateOffset: int;\r\n maxConnections: int;\r\n throttle: int;\r\n transferBufferSize: int;\r\n nosplit: boolean;\r\n norecover: boolean;\r\n compress: boolean;\r\n Wrap: boolean;\r\n Multicopy: boolean;\r\n SourceDiffKeyName: string;\r\n DestDiffKeyName: string;\r\n superCopy: boolean;\r\n push: boolean;\r\n pull: boolean;\r\n ifnewer: boolean;\r\n noCommon: boolean;\r\n encrypt: string;\r\n decrypt: string;\r\n preserveCompression: boolean;\r\n DFUServerQueue: string;\r\n ExpireDays: int;\r\n KeyCompression: string;\r\n }\r\n\r\n export interface CopyResponse {\r\n Exceptions: Exceptions;\r\n result: string;\r\n }\r\n\r\n export interface CreateDFUPublisherWorkunit {\r\n DFUServerQueue: string;\r\n }\r\n\r\n export interface result {\r\n ID: string;\r\n DFUServerName: string;\r\n ClusterName: string;\r\n JobName: string;\r\n Queue: string;\r\n User: string;\r\n isProtected: boolean;\r\n Command: int;\r\n CommandMessage: string;\r\n PercentDone: int;\r\n SecsLeft: int;\r\n ProgressMessage: string;\r\n SummaryMessage: string;\r\n State: int;\r\n SourceLogicalName: string;\r\n SourceIP: string;\r\n SourceFilePath: string;\r\n SourceDali: string;\r\n SourceRecordSize: int;\r\n SourceFormat: int;\r\n RowTag: string;\r\n SourceNumParts: int;\r\n SourceDirectory: string;\r\n DestLogicalName: string;\r\n DestGroupName: string;\r\n DestDirectory: string;\r\n DestIP: string;\r\n DestFilePath: string;\r\n DestFormat: int;\r\n DestNumParts: int;\r\n DestRecordSize: int;\r\n Replicate: boolean;\r\n Overwrite: boolean;\r\n Compress: boolean;\r\n SourceCsvSeparate: string;\r\n SourceCsvQuote: string;\r\n SourceCsvTerminate: string;\r\n SourceCsvEscape: string;\r\n TimeStarted: string;\r\n TimeStopped: string;\r\n StateMessage: string;\r\n MonitorEventName: string;\r\n MonitorSub: boolean;\r\n MonitorShotLimit: int;\r\n SourceDiffKeyName: string;\r\n DestDiffKeyName: string;\r\n Archived: boolean;\r\n encrypt: string;\r\n decrypt: string;\r\n failIfNoSourceFile: boolean;\r\n recordStructurePresent: boolean;\r\n quotedTerminator: boolean;\r\n preserveCompression: boolean;\r\n expireDays: int;\r\n PreserveFileParts: boolean;\r\n FileAccessCost: double;\r\n KbPerSecAve: int;\r\n KbPerSec: int;\r\n }\r\n\r\n export interface CreateDFUPublisherWorkunitResponse {\r\n Exceptions: Exceptions;\r\n result: result;\r\n }\r\n\r\n export interface CreateDFUWorkunit {\r\n DFUServerQueue: string;\r\n }\r\n\r\n export interface CreateDFUWorkunitResponse {\r\n Exceptions: Exceptions;\r\n result: result;\r\n }\r\n\r\n export interface DFUWUFileRequest {\r\n Wuid?: string;\r\n Type?: string;\r\n PlainText?: string;\r\n }\r\n\r\n export interface DFUWUFileResponse {\r\n Exceptions: Exceptions;\r\n file: string;\r\n }\r\n\r\n export interface DFUWUSearchRequest {\r\n\r\n }\r\n\r\n export interface ClusterNames {\r\n ClusterName: string[];\r\n }\r\n\r\n export interface DFUWUSearchResponse {\r\n Exceptions: Exceptions;\r\n ClusterNames: ClusterNames;\r\n }\r\n\r\n export interface wuids {\r\n Item: string[];\r\n }\r\n\r\n export interface DFUWorkunitsActionRequest {\r\n wuids?: wuids;\r\n Type?: DFUWUActions;\r\n }\r\n\r\n export interface DFUActionResult {\r\n ID: string;\r\n Action: string;\r\n Result: string;\r\n }\r\n\r\n export interface DFUActionResults {\r\n DFUActionResult: DFUActionResult[];\r\n }\r\n\r\n export interface DFUWorkunitsActionResponse {\r\n Exceptions: Exceptions;\r\n FirstColumn: string;\r\n DFUActionResults: DFUActionResults;\r\n }\r\n\r\n export interface DeleteDFUWorkunit {\r\n wuid: string;\r\n }\r\n\r\n export interface DeleteDFUWorkunitResponse {\r\n Exceptions: Exceptions;\r\n result: boolean;\r\n }\r\n\r\n export interface DeleteDFUWorkunits {\r\n wuids: wuids;\r\n }\r\n\r\n export interface DeleteDFUWorkunitsResponse {\r\n Exceptions: Exceptions;\r\n }\r\n\r\n export interface Names {\r\n Item: string[];\r\n }\r\n\r\n export interface DeleteDropZoneFilesRequest {\r\n DropZoneName?: string;\r\n NetAddress?: string;\r\n Path?: string;\r\n OS?: string;\r\n Names?: Names;\r\n }\r\n\r\n export interface Despray {\r\n destGroup: string;\r\n sourceLogicalName: string;\r\n destIP: string;\r\n destPath: string;\r\n destPlane: string;\r\n dstxml: base64Binary;\r\n overwrite: boolean;\r\n maxConnections: int;\r\n throttle: int;\r\n transferBufferSize: int;\r\n splitprefix: string;\r\n norecover: boolean;\r\n wrap: boolean;\r\n multiCopy: boolean;\r\n SingleConnection: boolean;\r\n DFUServerQueue: string;\r\n compress: boolean;\r\n encrypt: string;\r\n decrypt: string;\r\n }\r\n\r\n export interface DesprayResponse {\r\n Exceptions: Exceptions;\r\n wuid: string;\r\n }\r\n\r\n export interface DfuMonitorRequest {\r\n EventName?: string;\r\n LogicalName?: string;\r\n Ip?: string;\r\n Filename?: string;\r\n Sub?: boolean;\r\n ShotLimit?: int;\r\n }\r\n\r\n export interface DfuMonitorResponse {\r\n Exceptions: Exceptions;\r\n wuid: string;\r\n }\r\n\r\n export interface DropZoneFileSearchRequest {\r\n DropZoneName?: string;\r\n Server?: string;\r\n ECLWatchVisibleOnly?: boolean;\r\n NameFilter?: string;\r\n }\r\n\r\n export interface PhysicalFileStruct {\r\n name: string;\r\n Server: string;\r\n isDir: boolean;\r\n filesize: long;\r\n modifiedtime: string;\r\n Path: string;\r\n Files: Files;\r\n }\r\n\r\n export interface Files {\r\n PhysicalFileStruct: PhysicalFileStruct[];\r\n }\r\n\r\n export interface DropZoneFileSearchResponse {\r\n Exceptions: Exceptions;\r\n Files: Files;\r\n Warning: string;\r\n }\r\n\r\n export interface DropZoneFilesRequest {\r\n DropZoneName?: string;\r\n NetAddress?: string;\r\n Path?: string;\r\n OS?: string;\r\n Subfolder?: string;\r\n ECLWatchVisibleOnly?: boolean;\r\n DirectoryOnly?: boolean;\r\n }\r\n\r\n export interface DropZone {\r\n Name: string;\r\n NetAddress: string;\r\n Path: string;\r\n Computer: string;\r\n Linux: string;\r\n }\r\n\r\n export interface DropZones {\r\n DropZone: DropZone[];\r\n }\r\n\r\n export interface DropZoneFilesResponse {\r\n Exceptions: Exceptions;\r\n DropZoneName: string;\r\n NetAddress: string;\r\n Path: string;\r\n OS: int;\r\n ECLWatchVisibleOnly: boolean;\r\n DropZones: DropZones;\r\n Files: Files;\r\n }\r\n\r\n export interface EchoDateTime {\r\n dt: dateTime;\r\n }\r\n\r\n export interface EchoDateTimeResponse {\r\n result: dateTime;\r\n }\r\n\r\n export interface FileListRequest {\r\n DropZoneName?: string;\r\n Netaddr?: string;\r\n Path?: string;\r\n Mask?: string;\r\n OS?: string;\r\n DirectoryOnly?: boolean;\r\n }\r\n\r\n export interface files {\r\n PhysicalFileStruct: PhysicalFileStruct[];\r\n }\r\n\r\n export interface FileListResponse {\r\n Exceptions: Exceptions;\r\n Netaddr: string;\r\n Path: string;\r\n Mask: string;\r\n OS: int;\r\n DirectoryOnly: boolean;\r\n AcceptLanguage: string;\r\n files: files;\r\n }\r\n\r\n export interface GetDFUExceptions {\r\n wuid: string;\r\n }\r\n\r\n export interface DFUException {\r\n Code: int;\r\n Message: string;\r\n }\r\n\r\n export interface result2 {\r\n DFUException: DFUException[];\r\n }\r\n\r\n export interface GetDFUExceptionsResponse {\r\n Exceptions: Exceptions;\r\n result: result2;\r\n }\r\n\r\n export interface ProgressRequest {\r\n wuid?: string;\r\n }\r\n\r\n export interface ProgressResponse {\r\n Exceptions: Exceptions;\r\n wuid: string;\r\n PercentDone: int;\r\n SecsLeft: int;\r\n KbPerSecAve: int;\r\n KbPerSec: int;\r\n SlavesDone: int;\r\n TimeTaken: string;\r\n ProgressMessage: string;\r\n SummaryMessage: string;\r\n State: string;\r\n }\r\n\r\n export interface GetDFUServerQueuesRequest {\r\n DFUServerName?: string;\r\n }\r\n\r\n export interface GetDFUServerQueuesResponse {\r\n Exceptions: Exceptions;\r\n Names: Names;\r\n }\r\n\r\n export interface GetDFUWorkunit {\r\n wuid: string;\r\n }\r\n\r\n export interface GetDFUWorkunitResponse {\r\n Exceptions: Exceptions;\r\n result: result;\r\n AutoRefresh: int;\r\n }\r\n\r\n export interface GetDFUWorkunits {\r\n Wuid: string;\r\n Owner: string;\r\n Cluster: string;\r\n StateReq: string;\r\n Type: string;\r\n Jobname: string;\r\n PageSize: long;\r\n CurrentPage: int;\r\n PageStartFrom: long;\r\n Sortby: string;\r\n Descending: boolean;\r\n CacheHint: long;\r\n ParentWuid: string;\r\n PublisherWuid: string;\r\n includeProgressMessages: boolean;\r\n includeTimings: boolean;\r\n includeTransferRate: boolean;\r\n }\r\n\r\n export interface DFUWorkunit {\r\n ID: string;\r\n DFUServerName: string;\r\n ClusterName: string;\r\n JobName: string;\r\n Queue: string;\r\n User: string;\r\n isProtected: boolean;\r\n Command: int;\r\n CommandMessage: string;\r\n PercentDone: int;\r\n SecsLeft: int;\r\n ProgressMessage: string;\r\n SummaryMessage: string;\r\n State: int;\r\n SourceLogicalName: string;\r\n SourceIP: string;\r\n SourceFilePath: string;\r\n SourceDali: string;\r\n SourceRecordSize: int;\r\n SourceFormat: int;\r\n RowTag: string;\r\n SourceNumParts: int;\r\n SourceDirectory: string;\r\n DestLogicalName: string;\r\n DestGroupName: string;\r\n DestDirectory: string;\r\n DestIP: string;\r\n DestFilePath: string;\r\n DestFormat: int;\r\n DestNumParts: int;\r\n DestRecordSize: int;\r\n Replicate: boolean;\r\n Overwrite: boolean;\r\n Compress: boolean;\r\n SourceCsvSeparate: string;\r\n SourceCsvQuote: string;\r\n SourceCsvTerminate: string;\r\n SourceCsvEscape: string;\r\n TimeStarted: string;\r\n TimeStopped: string;\r\n StateMessage: string;\r\n MonitorEventName: string;\r\n MonitorSub: boolean;\r\n MonitorShotLimit: int;\r\n SourceDiffKeyName: string;\r\n DestDiffKeyName: string;\r\n Archived: boolean;\r\n encrypt: string;\r\n decrypt: string;\r\n failIfNoSourceFile: boolean;\r\n recordStructurePresent: boolean;\r\n quotedTerminator: boolean;\r\n preserveCompression: boolean;\r\n expireDays: int;\r\n PreserveFileParts: boolean;\r\n FileAccessCost: double;\r\n KbPerSecAve: int;\r\n KbPerSec: int;\r\n }\r\n\r\n export interface results {\r\n DFUWorkunit: DFUWorkunit[];\r\n }\r\n\r\n export interface GetDFUWorkunitsResponse {\r\n Exceptions: Exceptions;\r\n results: results;\r\n Type: string;\r\n Owner: string;\r\n Cluster: string;\r\n StateReq: string;\r\n PageSize: long;\r\n PrevPage: long;\r\n NextPage: long;\r\n LastPage: long;\r\n NumWUs: long;\r\n PageStartFrom: long;\r\n PageEndAt: long;\r\n First: boolean;\r\n Sortby: string;\r\n Descending: boolean;\r\n BasicQuery: string;\r\n Filters: string;\r\n CacheHint: long;\r\n }\r\n\r\n export interface GetRemoteTargetsRequest {\r\n\r\n }\r\n\r\n export interface TargetNames {\r\n Item: string[];\r\n }\r\n\r\n export interface GetRemoteTargetsResponse {\r\n Exceptions: Exceptions;\r\n TargetNames: TargetNames;\r\n AllowForeign: boolean;\r\n }\r\n\r\n export interface GetSprayTargetsRequest {\r\n\r\n }\r\n\r\n export interface GroupNode {\r\n Name: string;\r\n ClusterType: string;\r\n ReplicateOutputs: boolean;\r\n }\r\n\r\n export interface GroupNodes {\r\n GroupNode: GroupNode[];\r\n }\r\n\r\n export interface GetSprayTargetsResponse {\r\n Exceptions: Exceptions;\r\n GroupNodes: GroupNodes;\r\n }\r\n\r\n export interface OpenSaveRequest {\r\n Location?: string;\r\n Path?: string;\r\n Name?: string;\r\n Type?: string;\r\n DateTime?: string;\r\n BinaryFile?: boolean;\r\n }\r\n\r\n export interface OpenSaveResponse {\r\n Exceptions: Exceptions;\r\n Location: string;\r\n Path: string;\r\n Name: string;\r\n Type: string;\r\n DateTime: string;\r\n Viewable: boolean;\r\n }\r\n\r\n export interface FileSprayPingRequest {\r\n\r\n }\r\n\r\n export interface FileSprayPingResponse {\r\n\r\n }\r\n\r\n export interface Rename {\r\n srcname: string;\r\n dstname: string;\r\n overwrite: boolean;\r\n DFUServerQueue: string;\r\n }\r\n\r\n export interface RenameResponse {\r\n Exceptions: Exceptions;\r\n wuid: string;\r\n }\r\n\r\n export interface Replicate {\r\n sourceLogicalName: string;\r\n replicateOffset: int;\r\n cluster: string;\r\n repeatLast: boolean;\r\n onlyRepeated: boolean;\r\n DFUServerQueue: string;\r\n }\r\n\r\n export interface ReplicateResponse {\r\n Exceptions: Exceptions;\r\n wuid: string;\r\n }\r\n\r\n export interface ShowResultRequest {\r\n Result?: string;\r\n }\r\n\r\n export interface ShowResultResponse {\r\n Exceptions: Exceptions;\r\n Result: string;\r\n }\r\n\r\n export interface SprayFixed {\r\n sourceIP: string;\r\n sourcePlane: string;\r\n sourcePath: string;\r\n srcxml: base64Binary;\r\n sourceFormat: string;\r\n sourceRecordSize: int;\r\n destGroup: string;\r\n destLogicalName: string;\r\n destNumParts: int;\r\n overwrite: boolean;\r\n replicate: boolean;\r\n ReplicateOffset: int;\r\n maxConnections: int;\r\n throttle: int;\r\n transferBufferSize: int;\r\n prefix: string;\r\n nosplit: boolean;\r\n norecover: boolean;\r\n compress: boolean;\r\n push: boolean;\r\n pull: boolean;\r\n noCommon: boolean;\r\n encrypt: string;\r\n decrypt: string;\r\n wrap: boolean;\r\n failIfNoSourceFile: boolean;\r\n recordStructurePresent: boolean;\r\n quotedTerminator: boolean;\r\n expireDays: int;\r\n DFUServerQueue: string;\r\n }\r\n\r\n export interface SprayFixedResponse {\r\n Exceptions: Exceptions;\r\n wuid: string;\r\n }\r\n\r\n export interface SprayVariable {\r\n sourceIP: string;\r\n sourcePlane: string;\r\n sourcePath: string;\r\n srcxml: base64Binary;\r\n sourceMaxRecordSize: int;\r\n sourceFormat: int;\r\n NoSourceCsvSeparator: boolean;\r\n sourceCsvSeparate: string;\r\n sourceCsvTerminate: string;\r\n sourceCsvQuote: string;\r\n sourceCsvEscape: string;\r\n sourceRowTag: string;\r\n destGroup: string;\r\n destLogicalName: string;\r\n destNumParts: int;\r\n overwrite: boolean;\r\n replicate: boolean;\r\n ReplicateOffset: int;\r\n maxConnections: int;\r\n throttle: int;\r\n transferBufferSize: int;\r\n prefix: string;\r\n nosplit: boolean;\r\n norecover: boolean;\r\n compress: boolean;\r\n push: boolean;\r\n pull: boolean;\r\n noCommon: boolean;\r\n encrypt: string;\r\n decrypt: string;\r\n failIfNoSourceFile: boolean;\r\n recordStructurePresent: boolean;\r\n quotedTerminator: boolean;\r\n sourceRowPath: string;\r\n isJSON: boolean;\r\n expireDays: int;\r\n DFUServerQueue: string;\r\n srcUsername: string;\r\n srcPassword: string;\r\n }\r\n\r\n export interface SprayResponse {\r\n Exceptions: Exceptions;\r\n wuid: string;\r\n }\r\n\r\n export interface SubmitDFUWorkunit {\r\n wuid: string;\r\n }\r\n\r\n export interface SubmitDFUWorkunitResponse {\r\n Exceptions: Exceptions;\r\n }\r\n\r\n export interface wu {\r\n ID: string;\r\n DFUServerName: string;\r\n ClusterName: string;\r\n JobName: string;\r\n Queue: string;\r\n User: string;\r\n isProtected: boolean;\r\n Command: int;\r\n CommandMessage: string;\r\n PercentDone: int;\r\n SecsLeft: int;\r\n ProgressMessage: string;\r\n SummaryMessage: string;\r\n State: int;\r\n SourceLogicalName: string;\r\n SourceIP: string;\r\n SourceFilePath: string;\r\n SourceDali: string;\r\n SourceRecordSize: int;\r\n SourceFormat: int;\r\n RowTag: string;\r\n SourceNumParts: int;\r\n SourceDirectory: string;\r\n DestLogicalName: string;\r\n DestGroupName: string;\r\n DestDirectory: string;\r\n DestIP: string;\r\n DestFilePath: string;\r\n DestFormat: int;\r\n DestNumParts: int;\r\n DestRecordSize: int;\r\n Replicate: boolean;\r\n Overwrite: boolean;\r\n Compress: boolean;\r\n SourceCsvSeparate: string;\r\n SourceCsvQuote: string;\r\n SourceCsvTerminate: string;\r\n SourceCsvEscape: string;\r\n TimeStarted: string;\r\n TimeStopped: string;\r\n StateMessage: string;\r\n MonitorEventName: string;\r\n MonitorSub: boolean;\r\n MonitorShotLimit: int;\r\n SourceDiffKeyName: string;\r\n DestDiffKeyName: string;\r\n Archived: boolean;\r\n encrypt: string;\r\n decrypt: string;\r\n failIfNoSourceFile: boolean;\r\n recordStructurePresent: boolean;\r\n quotedTerminator: boolean;\r\n preserveCompression: boolean;\r\n expireDays: int;\r\n PreserveFileParts: boolean;\r\n FileAccessCost: double;\r\n KbPerSecAve: int;\r\n KbPerSec: int;\r\n }\r\n\r\n export interface UpdateDFUWorkunit {\r\n wu: wu;\r\n ClusterOrig: string;\r\n JobNameOrig: string;\r\n isProtectedOrig: boolean;\r\n StateOrig: int;\r\n }\r\n\r\n export interface UpdateDFUWorkunitResponse {\r\n Exceptions: Exceptions;\r\n }\r\n\r\n}\r\n\r\nexport class FileSprayServiceBase extends Service {\r\n\r\n constructor(optsConnection: IOptions | IConnection) {\r\n super(optsConnection, \"FileSpray\", \"1.27\");\r\n }\r\n\r\n AbortDFUWorkunit(request: Partial<FileSpray.AbortDFUWorkunit>): Promise<FileSpray.AbortDFUWorkunitResponse> {\r\n return this._connection.send(\"AbortDFUWorkunit\", request, \"json\", false, undefined, \"AbortDFUWorkunitResponse\");\r\n }\r\n\r\n Copy(request: Partial<FileSpray.Copy>): Promise<FileSpray.CopyResponse> {\r\n return this._connection.send(\"Copy\", request, \"json\", false, undefined, \"CopyResponse\");\r\n }\r\n\r\n CreateDFUPublisherWorkunit(request: Partial<FileSpray.CreateDFUPublisherWorkunit>): Promise<FileSpray.CreateDFUPublisherWorkunitResponse> {\r\n return this._connection.send(\"CreateDFUPublisherWorkunit\", request, \"json\", false, undefined, \"CreateDFUPublisherWorkunitResponse\");\r\n }\r\n\r\n CreateDFUWorkunit(request: Partial<FileSpray.CreateDFUWorkunit>): Promise<FileSpray.CreateDFUWorkunitResponse> {\r\n return this._connection.send(\"CreateDFUWorkunit\", request, \"json\", false, undefined, \"CreateDFUWorkunitResponse\");\r\n }\r\n\r\n DFUWUFile(request: Partial<FileSpray.DFUWUFileRequest>): Promise<FileSpray.DFUWUFileResponse> {\r\n return this._connection.send(\"DFUWUFile\", request, \"json\", false, undefined, \"DFUWUFileResponse\");\r\n }\r\n\r\n DFUWUSearch(request: Partial<FileSpray.DFUWUSearchRequest>): Promise<FileSpray.DFUWUSearchResponse> {\r\n return this._connection.send(\"DFUWUSearch\", request, \"json\", false, undefined, \"DFUWUSearchResponse\");\r\n }\r\n\r\n DFUWorkunitsAction(request: Partial<FileSpray.DFUWorkunitsActionRequest>): Promise<FileSpray.DFUWorkunitsActionResponse> {\r\n return this._connection.send(\"DFUWorkunitsAction\", request, \"json\", false, undefined, \"DFUWorkunitsActionResponse\");\r\n }\r\n\r\n DeleteDFUWorkunit(request: Partial<FileSpray.DeleteDFUWorkunit>): Promise<FileSpray.DeleteDFUWorkunitResponse> {\r\n return this._connection.send(\"DeleteDFUWorkunit\", request, \"json\", false, undefined, \"DeleteDFUWorkunitResponse\");\r\n }\r\n\r\n DeleteDFUWorkunits(request: Partial<FileSpray.DeleteDFUWorkunits>): Promise<FileSpray.DeleteDFUWorkunitsResponse> {\r\n return this._connection.send(\"DeleteDFUWorkunits\", request, \"json\", false, undefined, \"DeleteDFUWorkunitsResponse\");\r\n }\r\n\r\n DeleteDropZoneFiles(request: Partial<FileSpray.DeleteDropZoneFilesRequest>): Promise<FileSpray.DFUWorkunitsActionResponse> {\r\n return this._connection.send(\"DeleteDropZoneFiles\", request, \"json\", false, undefined, \"DFUWorkunitsActionResponse\");\r\n }\r\n\r\n Despray(request: Partial<FileSpray.Despray>): Promise<FileSpray.DesprayResponse> {\r\n return this._connection.send(\"Despray\", request, \"json\", false, undefined, \"DesprayResponse\");\r\n }\r\n\r\n DfuMonitor(request: Partial<FileSpray.DfuMonitorRequest>): Promise<FileSpray.DfuMonitorResponse> {\r\n return this._connection.send(\"DfuMonitor\", request, \"json\", false, undefined, \"DfuMonitorResponse\");\r\n }\r\n\r\n DropZoneFileSearch(request: Partial<FileSpray.DropZoneFileSearchRequest>): Promise<FileSpray.DropZoneFileSearchResponse> {\r\n return this._connection.send(\"DropZoneFileSearch\", request, \"json\", false, undefined, \"DropZoneFileSearchResponse\");\r\n }\r\n\r\n DropZoneFiles(request: Partial<FileSpray.DropZoneFilesRequest>): Promise<FileSpray.DropZoneFilesResponse> {\r\n return this._connection.send(\"DropZoneFiles\", request, \"json\", false, undefined, \"DropZoneFilesResponse\");\r\n }\r\n\r\n EchoDateTime(request: Partial<FileSpray.EchoDateTime>): Promise<FileSpray.EchoDateTimeResponse> {\r\n return this._connection.send(\"EchoDateTime\", request, \"json\", false, undefined, \"EchoDateTimeResponse\");\r\n }\r\n\r\n FileList(request: Partial<FileSpray.FileListRequest>): Promise<FileSpray.FileListResponse> {\r\n return this._connection.send(\"FileList\", request, \"json\", false, undefined, \"FileListResponse\");\r\n }\r\n\r\n GetDFUExceptions(request: Partial<FileSpray.GetDFUExceptions>): Promise<FileSpray.GetDFUExceptionsResponse> {\r\n return this._connection.send(\"GetDFUExceptions\", request, \"json\", false, undefined, \"GetDFUExceptionsResponse\");\r\n }\r\n\r\n GetDFUProgress(request: Partial<FileSpray.ProgressRequest>): Promise<FileSpray.ProgressResponse> {\r\n return this._connection.send(\"GetDFUProgress\", request, \"json\", false, undefined, \"ProgressResponse\");\r\n }\r\n\r\n GetDFUServerQueues(request: Partial<FileSpray.GetDFUServerQueuesRequest>): Promise<FileSpray.GetDFUServerQueuesResponse> {\r\n return this._connection.send(\"GetDFUServerQueues\", request, \"json\", false, undefined, \"GetDFUServerQueuesResponse\");\r\n }\r\n\r\n GetDFUWorkunit(request: Partial<FileSpray.GetDFUWorkunit>): Promise<FileSpray.GetDFUWorkunitResponse> {\r\n return this._connection.send(\"GetDFUWorkunit\", request, \"json\", false, undefined, \"GetDFUWorkunitResponse\");\r\n }\r\n\r\n GetDFUWorkunits(request: Partial<FileSpray.GetDFUWorkunits>): Promise<FileSpray.GetDFUWorkunitsResponse> {\r\n return this._connection.send(\"GetDFUWorkunits\", request, \"json\", false, undefined, \"GetDFUWorkunitsResponse\");\r\n }\r\n\r\n GetRemoteTargets(request: Partial<FileSpray.GetRemoteTargetsRequest>): Promise<FileSpray.GetRemoteTargetsResponse> {\r\n return this._connection.send(\"GetRemoteTargets\", request, \"json\", false, undefined, \"GetRemoteTargetsResponse\");\r\n }\r\n\r\n GetSprayTargets(request: Partial<FileSpray.GetSprayTargetsRequest>): Promise<FileSpray.GetSprayTargetsResponse> {\r\n return this._connection.send(\"GetSprayTargets\", request, \"json\", false, undefined, \"GetSprayTargetsResponse\");\r\n }\r\n\r\n OpenSave(request: Partial<FileSpray.OpenSaveRequest>): Promise<FileSpray.OpenSaveResponse> {\r\n return this._connection.send(\"OpenSave\", request, \"json\", false, undefined, \"OpenSaveResponse\");\r\n }\r\n\r\n Ping(request: Partial<FileSpray.FileSprayPingRequest>): Promise<FileSpray.FileSprayPingResponse> {\r\n return this._connection.send(\"Ping\", request, \"json\", false, undefined, \"FileSprayPingResponse\");\r\n }\r\n\r\n Rename(request: Partial<FileSpray.Rename>): Promise<FileSpray.RenameResponse> {\r\n return this._connection.send(\"Rename\", request, \"json\", false, undefined, \"RenameResponse\");\r\n }\r\n\r\n Replicate(request: Partial<Fi