import { Observable } from 'rxjs'; import { AppContext } from './app-context'; import { BatchConnection, BatchResponseItem } from './batch-connection'; import { NodeConnection, NodeRequestOptions } from './node-connection'; import { PowerShellSession, PowerShellSessionRequestOptions } from './powershell'; import { PowerShellStream } from './powershell-stream'; /** * The PowerShell Alternate processing class. */ export declare class PowerShellAlternate { /** * The key of powershell session. */ static readonly cimAlternateKey = "cimAlt"; /** * Create alternate PowerShell query for CIM query. * * @param nodeConnection The node connection object. * @param nodeName The node name. * @param options The node request options. * @return Observable if there is no alternate available, return null. */ static create(nodeConnection: NodeConnection, nodeName: string, options: NodeRequestOptions): Observable; /** * Create alternate PowerShell Stream query for CIM query. * * @param nodeConnection The node connection object. * @param nodeName The node name. * @param options The node request options. * @return Observable if there is no alternate available, return null. */ static createStream(powerShellStream: PowerShellStream, nodeName: string, options: NodeRequestOptions): Observable; /** * @deprecated * (not supported) * Create alternate PowerShell Batch query for CIM batch query. * * @param nodeConnection the node connection object * @param batchConnection The batch connection object. * @param nodeNames The list of node names. * @param options The node request options. * @return Observable if there is no alternate available, return null. */ static createBatch(nodeConnection: NodeConnection, batchConnection: BatchConnection, nodeNames: string[], options: NodeRequestOptions): Observable; /** * Reserve a session for all alternate CIM non-batch query. * * @param nodeName the node name. * @param nodeConnection the node connection object. * @param options the node request options. */ static reserveSession(appContext: AppContext, nodeName: string, options?: PowerShellSessionRequestOptions): PowerShellSession; /** * Dispose the session for alternate CIM non-batch query. * * @param session the session object. */ static disposeSession(session: PowerShellSession): void; /** * Find existing powershell session with the fixed key or create null session. * * @param nodeName the node name. * @param nodeConnection the node connection object. * @param options the node request options. */ private static findOrCreateNullPowerShell; /** * Convert the PowerShell results to Cim expected format. * * @param outputType The output data type. * @param data The input data. */ private static mapPowerShellToCim; /** * Adjust PowerShell CIM results data. * * @param data The result data. */ private static adjustCimResults; /** * Clean the cim instance object to remove schema/qualifier data. * * @param data The instance object from PowerShell. */ private static cleanCimInstance; }