1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const Modem = require("docker-modem");
|
4 | const container_1 = require("./container");
|
5 | const image_1 = require("./image");
|
6 | const volume_1 = require("./volume");
|
7 | const network_1 = require("./network");
|
8 | const node_1 = require("./node");
|
9 | const plugin_1 = require("./plugin");
|
10 | const secret_1 = require("./secret");
|
11 | const service_1 = require("./service");
|
12 | const swarm_1 = require("./swarm");
|
13 | const task_1 = require("./task");
|
14 | /**
|
15 | * Docker class with all methods
|
16 | */
|
17 | class Docker {
|
18 | /**
|
19 | * Creates the Docker object
|
20 | * @param {Object} opts Docker options
|
21 | */
|
22 | constructor(opts) {
|
23 | this.modem = new Modem(opts);
|
24 | this.container = new container_1.default(this.modem);
|
25 | this.image = new image_1.default(this.modem);
|
26 | this.volume = new volume_1.default(this.modem);
|
27 | this.network = new network_1.default(this.modem);
|
28 | this.node = new node_1.default(this.modem);
|
29 | this.plugin = new plugin_1.default(this.modem);
|
30 | this.secret = new secret_1.default(this.modem);
|
31 | this.service = new service_1.default(this.modem);
|
32 | this.swarm = new swarm_1.default(this.modem);
|
33 | this.task = new task_1.default(this.modem);
|
34 | }
|
35 | /**
|
36 | * Validate credentials for a registry and get identity token,
|
37 | * if available, for accessing the registry without password
|
38 | * https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/check-auth-configuration
|
39 | * @param {Object} opts Auth options
|
40 | * @return {Promise} Promise returning the result
|
41 | */
|
42 | auth(opts) {
|
43 | const call = {
|
44 | path: '/auth?',
|
45 | method: 'POST',
|
46 | options: opts,
|
47 | statusCodes: {
|
48 | 200: true,
|
49 | 204: true,
|
50 | 500: 'server error'
|
51 | }
|
52 | };
|
53 | return new Promise((resolve, reject) => {
|
54 | this.modem.dial(call, (err, data) => {
|
55 | if (err)
|
56 | return reject(err);
|
57 | resolve(data);
|
58 | });
|
59 | });
|
60 | }
|
61 | /**
|
62 | * Get system wide information about docker
|
63 | * https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/display-system-wide-information
|
64 | * @return {Promise} Promise returning the result
|
65 | */
|
66 | info() {
|
67 | const call = {
|
68 | path: '/info?',
|
69 | method: 'GET',
|
70 | statusCodes: {
|
71 | 200: true,
|
72 | 500: 'server error'
|
73 | }
|
74 | };
|
75 | return new Promise((resolve, reject) => {
|
76 | this.modem.dial(call, (err, data) => {
|
77 | if (err)
|
78 | return reject(err);
|
79 | resolve(data);
|
80 | });
|
81 | });
|
82 | }
|
83 | /**
|
84 | * Get docker version information of server
|
85 | * https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/show-the-docker-version-information
|
86 | * @return {Promise} Promise returning the result
|
87 | */
|
88 | version() {
|
89 | const call = {
|
90 | path: '/version?',
|
91 | method: 'GET',
|
92 | statusCodes: {
|
93 | 200: true,
|
94 | 500: 'server error'
|
95 | }
|
96 | };
|
97 | return new Promise((resolve, reject) => {
|
98 | this.modem.dial(call, (err, data) => {
|
99 | if (err)
|
100 | return reject(err);
|
101 | resolve(data);
|
102 | });
|
103 | });
|
104 | }
|
105 | /**
|
106 | * Ping the docker server
|
107 | * https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/ping-the-docker-server
|
108 | * @return {Promise} Promise returning the result
|
109 | */
|
110 | ping() {
|
111 | const call = {
|
112 | path: '/_ping?',
|
113 | method: 'GET',
|
114 | statusCodes: {
|
115 | 200: true,
|
116 | 500: 'server error'
|
117 | }
|
118 | };
|
119 | return new Promise((resolve, reject) => {
|
120 | this.modem.dial(call, (err, data) => {
|
121 | if (err)
|
122 | return reject(err);
|
123 | resolve(data);
|
124 | });
|
125 | });
|
126 | }
|
127 | /**
|
128 | * Get container events from docker, can be in real time via streaming or via polling (with since)
|
129 | * https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/monitor-docker-s-events
|
130 | * @param {Object} opts Options to send with the request (optional)
|
131 | * @return {Promise} Promise returning the result
|
132 | */
|
133 | events(opts = {}) {
|
134 | const call = {
|
135 | path: '/events?',
|
136 | method: 'GET',
|
137 | options: opts,
|
138 | isStream: true,
|
139 | statusCodes: {
|
140 | 200: true,
|
141 | 500: 'server error'
|
142 | }
|
143 | };
|
144 | return new Promise((resolve, reject) => {
|
145 | this.modem.dial(call, (err, data) => {
|
146 | if (err)
|
147 | return reject(err);
|
148 | resolve(data);
|
149 | });
|
150 | });
|
151 | }
|
152 | }
|
153 | exports.Docker = Docker;
|
154 | //# sourceMappingURL=docker.js.map |
\ | No newline at end of file |