presidium 4.6.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Docker.js CHANGED
@@ -2304,6 +2304,43 @@ class Docker {
2304
2304
  return data
2305
2305
  }
2306
2306
 
2307
+ /**
2308
+ * @name inspectTask
2309
+ *
2310
+ * @docs
2311
+ * ```coffeescript [specscript]
2312
+ * module DockerDocs 'https://docs.docker.com/reference/api/engine/version/v1.52/'
2313
+ *
2314
+ * inspectTask(taskId string) -> data Promise<{
2315
+ * ID: string,
2316
+ * Version: DockerDocs.ObjectVersion,
2317
+ * CreatedAt: string, # ISO 8601 date string
2318
+ * UpdatedAt: string, # ISO 8601 date string
2319
+ * Name: string,
2320
+ * Labels: Object<string>,
2321
+ * Spec: DockerDocs.TaskSpec,
2322
+ * ServiceID: string,
2323
+ * Slot: number,
2324
+ * NodeID: string,
2325
+ * AssignedGenericResources: Array<DockerDocs.GenericResources>,
2326
+ * Status: DockerDocs.TaskStatus,
2327
+ * DesiredState: 'new'|'allocated'|'pending'|'assigned'|'accepted'
2328
+ * |'preparing'|'ready'|'starting'|'running'|'complete'|'shutdown'
2329
+ * |'failed'|'rejected'|'remove'|'orphaned',
2330
+ * JobIteration: DockerDocs.ObjectVersion,
2331
+ * NetworksAttachments: Array<{
2332
+ * Network: DockerDocs.Network,
2333
+ * Addresses: Array<cidr string>,
2334
+ * }>,
2335
+ * }>
2336
+ * ```
2337
+ */
2338
+ async inspectTask(taskId) {
2339
+ const response = await this.http.get(`/tasks/${taskId}`)
2340
+ const data = await handleDockerHTTPResponse(response)
2341
+ return data
2342
+ }
2343
+
2307
2344
  /**
2308
2345
  * @name listNodes
2309
2346
  *
@@ -229,12 +229,14 @@ const createUpdateServiceSpec = function (options) {
229
229
  }
230
230
 
231
231
  if (options.networks) {
232
+ result.TaskTemplate ??= {}
232
233
  result.TaskTemplate.Networks = options.networks.map(all({
233
234
  Target: __,
234
235
  Aliases: [],
235
236
  DriverOpts: {},
236
237
  }))
237
238
  } else if (options.network) {
239
+ result.TaskTemplate ??= {}
238
240
  result.TaskTemplate.Networks = [{
239
241
  Target: options.network,
240
242
  Aliases: [],
@@ -366,11 +366,32 @@ const test = new Test('createUpdateServiceSpec', createUpdateServiceSpec)
366
366
  network: 'my-network',
367
367
  }, {
368
368
  Name: 'my-service',
369
- Networks: [{
370
- Target: 'my-network',
371
- Aliases: [],
372
- DriverOpts: {},
373
- }],
369
+ TaskTemplate: {
370
+ Networks: [{
371
+ Target: 'my-network',
372
+ Aliases: [],
373
+ DriverOpts: {},
374
+ }],
375
+ },
376
+ })
377
+
378
+ .case({
379
+ serviceName: 'my-service',
380
+ Spec: {},
381
+ networks: ['my-network', 'my-other-network'],
382
+ }, {
383
+ Name: 'my-service',
384
+ TaskTemplate: {
385
+ Networks: [{
386
+ Target: 'my-network',
387
+ Aliases: [],
388
+ DriverOpts: {},
389
+ }, {
390
+ Target: 'my-other-network',
391
+ Aliases: [],
392
+ DriverOpts: {},
393
+ }],
394
+ },
374
395
  })
375
396
 
376
397
  .case({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "presidium",
3
- "version": "4.6.0",
3
+ "version": "4.7.0",
4
4
  "description": "The Presidium library.",
5
5
  "author": "Richard Tong",
6
6
  "license": "CFOSS",