import { Observable } from 'rxjs'; import { BatchConnection, BatchResponseItem } from './batch-connection'; import { CimMultiple, CimResult, CimSingle } from './cim'; import { NodeConnection, NodeRequestOptions } from './node-connection'; /** * The CIM Connection class. */ export declare class CimConnection { private nodeConnection; private batchConnection; /** * Initializes a new instance of the CimService class. * * @param nodeConnection the NodeConnection class instance injected. * @param batchConnection the BatchConnection class instance injected. */ constructor(nodeConnection: NodeConnection, batchConnection: BatchConnection); /** * CIM GET MultipleInstances * * @param nodeName the name of the node to use for this request * @param namespace the cim namespace. * @param className the class name. * @param options the options for this request. * @return Observable the query observable. */ getInstanceMultiple(nodeName: string, namespace: string, className: string, options?: NodeRequestOptions): Observable; /** * CIM GET SingleInstance * * @param nodeName the name of the node to use for this request * @param namespace the cim namespace. * @param className the class name. * @param keyProperties the key properties object. * @param options the options for this request. * @return Observable the query observable. */ getInstanceSingle(nodeName: string, namespace: string, className: string, keyProperties: any, options?: NodeRequestOptions): Observable; /** * CIM POST InstanceMethod * * @param nodeName the name of the node to use for this request * @param namespace the cim namespace. * @param className the class name. * @param methodName the method name. * @param keyProperties the key properties object. * @param data the method input data. * @param options the options for this request. * @return Observable the query observable. */ invokeMethodInstance(nodeName: string, namespace: string, className: string, methodName: string, keyProperties: any, data?: any, options?: NodeRequestOptions): Observable; /** * CIM POST StaticMethod * * @param nodeName the name of the node to use for this request * @param namespace the cim namespace. * @param className the class name. * @param methodName the method name. * @param data the method input data. * @param options the options for this request. * @return Observable the query observable. */ invokeMethodStatic(nodeName: string, namespace: string, className: string, methodName: string, data?: any, options?: NodeRequestOptions): Observable; /** * CIM PUT SingleInstance * * @param nodeName the name of the node to use for this request * @param namespace the cim namespace. * @param className the class name. * @param keyProperties the key properties object. * @param data the method input data. * @param options the options for this request. * @return Observable the query observable. */ setInstance(nodeName: string, namespace: string, className: string, keyProperties: any, data: any, options?: NodeRequestOptions): Observable; /** * CIM PATCH SingleInstance * * @param nodeName the name of the node to use for this request * @param namespace the cim namespace. * @param className the class name. * @param keyProperties the key properties object. * @param data the method input data. * @param options the options for this request. * @return Observable the query observable. */ modifyInstance(nodeName: string, namespace: string, className: string, keyProperties: any, data: any, options?: NodeRequestOptions): Observable; /** * CIM DELETE SingleInstance * * @param nodeName the name of the node to use for this request * @param namespace the cim namespace. * @param className the class name. * @param keyProperties the key properties object. * @param options the options for this request. * @return Observable the query observable. */ deleteInstance(nodeName: string, namespace: string, className: string, keyProperties: any, options?: NodeRequestOptions): Observable; /** * CIM POST WqlQuery * * @param nodeName the name of the node to use for this request * @param namespace the cim namespace. * @param query the WQL string. * @param options the options for this request. * @return Observable the query observable. */ getInstanceQuery(nodeName: string, namespace: string, query: string, options?: NodeRequestOptions): Observable; /** * Handle the fallback from CIM to powershell with JEA, if applicable * @param error The error to handle * @param nodeName The node name * @param options The request options */ private handleJeaFallback; /********************************** * Cim Batch Section **********************************/ /** * CIM GET MultipleInstances for list of nodes * * @param nodeNamesList the Nodes to use for this request. * @param namespace the cim namespace. * @param className the class name. * @param options the options for this request. * @return Observable the query observable. */ getBatchInstanceMultiple(nodeNamesList: string[], namespace: string, className: string, options?: NodeRequestOptions): Observable; /** * CIM GET SingleInstance for list of nodes * * @param nodeNamesList the Nodes to use for this request. * @param namespace the cim namespace. * @param className the class name. * @param keyProperties the key properties object. * @param options the options for this request. * @return Observable the query observable. */ getBatchInstanceSingle(nodeNamesList: string[], namespace: string, className: string, keyProperties: any, options?: NodeRequestOptions): Observable; /** * CIM POST InstanceMethod for list of nodes * * @param nodeNamesList the Nodes to use for this request. * @param namespace the cim namespace. * @param className the class name. * @param methodName the method name. * @param keyProperties the key properties object. * @param data the method input data. * @param options the options for this request. * @return Observable the query observable. */ invokeBatchMethodInstance(nodeNamesList: string[], namespace: string, className: string, methodName: string, keyProperties: any, data?: any, options?: NodeRequestOptions): Observable; /** * CIM POST StaticMethod for list of nodes * * @param nodeNamesList the Nodes to use for this request. * @param namespace the cim namespace. * @param className the class name. * @param methodName the method name. * @param data the method input data. * @param options the options for this request. * @return Observable the query observable. */ invokeBatchMethodStatic(nodeNamesList: string[], namespace: string, className: string, methodName: string, data?: any, options?: NodeRequestOptions): Observable; /** * CIM PUT SingleInstance for list of nodes * * @param nodeName the name of the node to use for this request * @param namespace the cim namespace. * @param className the class name. * @param keyProperties the key properties object. * @param data the method input data. * @param options the options for this request. * @return Observable the query observable. */ setBatchInstance(nodeNamesList: string[], namespace: string, className: string, keyProperties: any, data: any, options?: NodeRequestOptions): Observable; /** * CIM DELETE SingleInstance for list of nodes * * @param nodeNamesList the Nodes to use for this request. * @param namespace the cim namespace. * @param className the class name. * @param keyProperties the key properties object. * @param options the options for this request. * @return Observable the query observable. */ deleteBatchInstance(nodeNamesList: string[], namespace: string, className: string, keyProperties: any, options?: NodeRequestOptions): Observable; /** * CIM POST WqlQuery for list of nodes * * @param nodeNamesList the Nodes to use for this request. * @param namespace the cim namespace. * @param query the WQL string. * @param options the options for this request. * @return Observable the query observable. */ getBatchInstanceQuery(nodeNamesList: string[], namespace: string, query: string, options?: NodeRequestOptions): Observable; /** * Cim batch post helper * * @param nodeNamesList The list of Nodes to run the call against * @param cimUrl The CIM end point to call * @param jsonBody The body of Post in json format. * @param options the request options. */ private cimBatchPost; /** * Set PowerShell parameters to the options object. * * @param options The node request options. * @param outputType The output data type. * @param keys The key data. * @param data The arguments data. */ private setPowerShellParameters; }