mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
Add types for netconf (#38287)
* add types for netconf * refactor: set `strictNullChecks` to true * refactor: change to 'dt.json' from 'dtslint.json' * docs: add notes * docs: minor change
This commit is contained in:
parent
6d85a30eca
commit
c3471843aa
57
types/netconf/index.d.ts
vendored
Normal file
57
types/netconf/index.d.ts
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
// Type definitions for netconf 2.0
|
||||
// Project: https://github.com/darylturner/node-netconf
|
||||
// Definitions by: Leodinas Hao <https://github.com/leodinas-hao>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
export class Client {
|
||||
/**
|
||||
* Creates a new Client object by passing in the connection parameters. Both password and private key authentication methods are supported
|
||||
*/
|
||||
constructor(params: {
|
||||
host: string,
|
||||
username: string,
|
||||
port?: number,
|
||||
password?: string,
|
||||
pkey?: string,
|
||||
})
|
||||
|
||||
/**
|
||||
* Opens a session
|
||||
*/
|
||||
open(callback: ((err: any) => void)): void;
|
||||
|
||||
/**
|
||||
* Sends requests. Requests are sent using the .rpc() method
|
||||
*/
|
||||
rpc(request: any, callback: ((err: any, reply: any) => void)): void;
|
||||
|
||||
/**
|
||||
* Closes the session
|
||||
*/
|
||||
close(callback?: (err: any) => void): void;
|
||||
|
||||
/**
|
||||
* Collects some useful information from several RPC calls and presents the results back
|
||||
*/
|
||||
facts(callback: ((err: any, facts: { hostname: string, version: string, module: string, uptime: string, serial: string }) => void)): void;
|
||||
|
||||
/**
|
||||
* Loads configuration data into candidate-config using NETCONF. Default options are equivalent to "load merge" and would expect configuration data in JunOS curly-brace format
|
||||
*/
|
||||
load(args: string | { config: any, action?: 'merge' | 'replace' | 'override' | 'update' | 'set', format?: 'text' | 'xml' }, callback: (err: any, reply: any) => void): void;
|
||||
|
||||
/**
|
||||
* Commits candidate configuration to device
|
||||
*/
|
||||
commit(callback: ((err: any, reply: any) => void)): void;
|
||||
|
||||
/**
|
||||
* Shows difference between running and candidate-config. Equivalent to "show | compare".
|
||||
*/
|
||||
compare(callback: ((err: any, diff: any) => void)): void;
|
||||
|
||||
/**
|
||||
* Discards candidate configuration on device
|
||||
*/
|
||||
rollback(callback: ((err: any, reply: any) => void)): void;
|
||||
}
|
||||
21
types/netconf/netconf-tests.ts
Normal file
21
types/netconf/netconf-tests.ts
Normal file
@ -0,0 +1,21 @@
|
||||
import * as netconf from 'netconf';
|
||||
|
||||
const router = new netconf.Client({
|
||||
host: '172.28.128.3',
|
||||
username: 'vagrant',
|
||||
password: 'password',
|
||||
});
|
||||
|
||||
router.open((err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
router.rpc('get-arp-table-information', (err, reply) => {
|
||||
router.close();
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
// console.log(reply);
|
||||
});
|
||||
});
|
||||
23
types/netconf/tsconfig.json
Normal file
23
types/netconf/tsconfig.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictFunctionTypes": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"netconf-tests.ts"
|
||||
]
|
||||
}
|
||||
3
types/netconf/tslint.json
Normal file
3
types/netconf/tslint.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json"
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user