@osaas/cli 0.12.0 → 0.14.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/dist/cli.js CHANGED
@@ -49,7 +49,9 @@ cli
49
49
  cli.addCommand((0, cmd_1.default)());
50
50
  cli.addCommand(cmdUser.cmdList());
51
51
  cli.addCommand(cmdUser.cmdCreate());
52
+ cli.addCommand(cmdUser.cmdDescribe());
52
53
  cli.addCommand(cmdUser.cmdRemove());
54
+ cli.addCommand(cmdUser.cmdLogs());
53
55
  cli.addCommand(cmdTranscode.cmdTranscode());
54
56
  cli.addCommand(cmdTranscode.cmdEncore());
55
57
  cli.addCommand(cmdTranscode.cmdVodPipeline());
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2BAAkC;AAClC,+BAA4B;AAC5B,yCAAoC;AACpC,sDAAmC;AACnC,oDAAsC;AACtC,8DAAgD;AAChD,qDAAoC;AACpC,yDAAyC;AACzC,qDAAiC;AACjC,yDAAyC;AACzC,2DAA6C;AAC7C,mDAA6B;AAE7B,MAAM,GAAG,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE1B,oBAAoB;AACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC5D,CAAC;AAEF,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;AAEhF,GAAG;KACA,aAAa,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;KAC1C,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;AAEvD,GAAG,CAAC,UAAU,CAAC,IAAA,aAAQ,GAAE,CAAC,CAAC;AAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAClC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AACpC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AACpC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;AAC5C,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;AACzC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;AAC9C,GAAG,CAAC,UAAU,CAAC,IAAA,aAAW,GAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAU,GAAE,CAAC,CAAC;AAC7B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAO,GAAE,CAAC,CAAC;AAC1B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAW,GAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAa,GAAE,CAAC,CAAC;AAChC,GAAG,CAAC,UAAU,CAAC,IAAA,aAAK,GAAE,CAAC,CAAC;AACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2BAAkC;AAClC,+BAA4B;AAC5B,yCAAoC;AACpC,sDAAmC;AACnC,oDAAsC;AACtC,8DAAgD;AAChD,qDAAoC;AACpC,yDAAyC;AACzC,qDAAiC;AACjC,yDAAyC;AACzC,2DAA6C;AAC7C,mDAA6B;AAE7B,MAAM,GAAG,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE1B,oBAAoB;AACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC5D,CAAC;AAEF,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;AAEhF,GAAG;KACA,aAAa,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;KAC1C,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;AAEvD,GAAG,CAAC,UAAU,CAAC,IAAA,aAAQ,GAAE,CAAC,CAAC;AAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAClC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AACpC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AACtC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AACpC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAClC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;AAC5C,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;AACzC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;AAC9C,GAAG,CAAC,UAAU,CAAC,IAAA,aAAW,GAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAU,GAAE,CAAC,CAAC;AAC7B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAO,GAAE,CAAC,CAAC;AAC1B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAW,GAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAa,GAAE,CAAC,CAAC;AAChC,GAAG,CAAC,UAAU,CAAC,IAAA,aAAK,GAAE,CAAC,CAAC;AACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/live/cmd.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,OAAO,UAAU,OAAO,YAuC9B"}
1
+ {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/live/cmd.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,OAAO,UAAU,OAAO,YAsF9B"}
package/dist/live/cmd.js CHANGED
@@ -36,6 +36,53 @@ function cmdLive() {
36
36
  const streams = await (0, client_transcode_1.listSingleBitrateHLS)(ctx);
37
37
  streams.map((stream) => console.log(stream.name + ': ' + stream.hlsUrl.toString()));
38
38
  });
39
+ live
40
+ .command('create-multi')
41
+ .description('Create and start RTMP endpoint for live multi bitrate stream')
42
+ .argument('<name>', 'Stream name')
43
+ .action(async (name, options, command) => {
44
+ try {
45
+ const globalOpts = command.optsWithGlobals();
46
+ const environment = globalOpts?.env || 'prod';
47
+ const ctx = new client_core_1.Context({ environment });
48
+ const { rtmpUrl, hlsUrl } = await (0, client_transcode_1.createLiveMultiBitrateHLS)(ctx, name);
49
+ console.log(`Start streaming to ${rtmpUrl} and watch at ${hlsUrl}`);
50
+ }
51
+ catch (err) {
52
+ console.log(err.message);
53
+ }
54
+ });
55
+ live
56
+ .command('start-multi')
57
+ .description('Start RTMP endpoint for live multi bitrate stream')
58
+ .argument('<name>', 'Stream name')
59
+ .action(async (name, options, command) => {
60
+ try {
61
+ const globalOpts = command.optsWithGlobals();
62
+ const environment = globalOpts?.env || 'prod';
63
+ const ctx = new client_core_1.Context({ environment });
64
+ const { rtmpUrl, hlsUrl } = await (0, client_transcode_1.startLiveMultiBitrateHLS)(ctx, name);
65
+ console.log(`Start streaming to ${rtmpUrl} and watch at ${hlsUrl}`);
66
+ }
67
+ catch (err) {
68
+ console.log(err.message);
69
+ }
70
+ });
71
+ live
72
+ .command('stop-multi')
73
+ .description('Stop live multi bitrate stream')
74
+ .argument('<name>', 'Stream name')
75
+ .action(async (name, options, command) => {
76
+ try {
77
+ const globalOpts = command.optsWithGlobals();
78
+ const environment = globalOpts?.env || 'prod';
79
+ const ctx = new client_core_1.Context({ environment });
80
+ await (0, client_transcode_1.stopLiveMultiBitrateHLS)(ctx, name);
81
+ }
82
+ catch (err) {
83
+ console.log(err.message);
84
+ }
85
+ });
39
86
  return live;
40
87
  }
41
88
  exports.default = cmdLive;
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/live/cmd.ts"],"names":[],"mappings":";;AAAA,oDAA6C;AAC7C,8DAIiC;AACjC,yCAAoC;AAEpC,SAAwB,OAAO;IAC7B,MAAM,IAAI,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI;SACD,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,qDAAqD,CAAC;SAClE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,qBAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,6CAA0B,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,iBAAiB,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,8DAA8D,CAAC;SAC3E,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,qBAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACzC,MAAM,IAAA,6CAA0B,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,qBAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,IAAA,uCAAoB,EAAC,GAAG,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAC3D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO,IAAI,CAAC;AACd,CAAC;AAvCD,0BAuCC"}
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/live/cmd.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { Command } from 'commander';
2
2
  export declare function cmdList(): Command;
3
3
  export declare function cmdCreate(): Command;
4
+ export declare function cmdDescribe(): Command;
4
5
  export declare function cmdRemove(): Command;
6
+ export declare function cmdLogs(): Command;
5
7
  //# sourceMappingURL=cmd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/user/cmd.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,OAAO,YA0BtB;AAED,wBAAgB,SAAS,YAiCxB;AAED,wBAAgB,SAAS,YAsBxB"}
1
+ {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/user/cmd.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,OAAO,YA0BtB;AAED,wBAAgB,SAAS,YAiCxB;AAED,wBAAgB,WAAW,YA6B1B;AAED,wBAAgB,SAAS,YAsBxB;AAED,wBAAgB,OAAO,YA0BtB"}
package/dist/user/cmd.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cmdRemove = exports.cmdCreate = exports.cmdList = void 0;
3
+ exports.cmdLogs = exports.cmdRemove = exports.cmdDescribe = exports.cmdCreate = exports.cmdList = void 0;
4
4
  const client_core_1 = require("@osaas/client-core");
5
5
  const commander_1 = require("commander");
6
6
  const util_1 = require("./util");
@@ -51,6 +51,31 @@ function cmdCreate() {
51
51
  return create;
52
52
  }
53
53
  exports.cmdCreate = cmdCreate;
54
+ function cmdDescribe() {
55
+ const describe = new commander_1.Command('describe');
56
+ describe
57
+ .description('Get details for a service instance')
58
+ .argument('<serviceId>', 'The Service Id')
59
+ .argument('<name>', 'The instance name')
60
+ .action(async (serviceId, name, options, command) => {
61
+ try {
62
+ const globalOpts = command.optsWithGlobals();
63
+ const environment = globalOpts?.env || 'prod';
64
+ const ctx = new client_core_1.Context({ environment });
65
+ const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
66
+ const instance = await (0, client_core_1.getInstance)(ctx, serviceId, name, serviceAccessToken);
67
+ delete instance['resources'];
68
+ Object.keys(instance).forEach((key) => {
69
+ console.log(`${key}: ${instance[key]}`);
70
+ });
71
+ }
72
+ catch (err) {
73
+ console.log(err.message);
74
+ }
75
+ });
76
+ return describe;
77
+ }
78
+ exports.cmdDescribe = cmdDescribe;
54
79
  function cmdRemove() {
55
80
  const remove = new commander_1.Command('remove');
56
81
  remove
@@ -74,4 +99,26 @@ function cmdRemove() {
74
99
  return remove;
75
100
  }
76
101
  exports.cmdRemove = cmdRemove;
102
+ function cmdLogs() {
103
+ const logs = new commander_1.Command('logs');
104
+ logs
105
+ .description('Get logs for a service instance')
106
+ .argument('<serviceId>', 'The Service Id')
107
+ .argument('<name>', 'The instance name')
108
+ .action(async (serviceId, name, options, command) => {
109
+ try {
110
+ const globalOpts = command.optsWithGlobals();
111
+ const environment = globalOpts?.env || 'prod';
112
+ const ctx = new client_core_1.Context({ environment });
113
+ const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
114
+ const logs = await (0, client_core_1.getLogsForInstance)(ctx, serviceId, name, serviceAccessToken);
115
+ console.log(logs);
116
+ }
117
+ catch (err) {
118
+ console.log(err.message);
119
+ }
120
+ });
121
+ return logs;
122
+ }
123
+ exports.cmdLogs = cmdLogs;
77
124
  //# sourceMappingURL=cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/user/cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/user/cmd.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osaas/cli",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "Open Source Cloud CLI",
5
5
  "author": "Eyevinn Technology <work@eyevinn.se>",
6
6
  "homepage": "https://www.osaas.io",
@@ -21,10 +21,10 @@
21
21
  "test": "jest --pass-with-no-tests"
22
22
  },
23
23
  "dependencies": {
24
- "@osaas/client-core": "^0.9.0",
25
- "@osaas/client-db": "^0.2.0",
26
- "@osaas/client-intercom": "^0.1.1",
27
- "@osaas/client-transcode": "^0.9.0",
24
+ "@osaas/client-core": "^0.10.0",
25
+ "@osaas/client-db": "^0.2.1",
26
+ "@osaas/client-intercom": "^0.1.2",
27
+ "@osaas/client-transcode": "^0.10.0",
28
28
  "chalk": "4.1.2",
29
29
  "commander": "^12.1.0",
30
30
  "fast-jwt": "^4.0.1"
@@ -32,5 +32,5 @@
32
32
  "publishConfig": {
33
33
  "access": "public"
34
34
  },
35
- "gitHead": "61c869aa7e838cb6140f4032d6f0038ec35f33a5"
35
+ "gitHead": "9baef7ee44b9d175ac4bf42f72ed2f353d0347cd"
36
36
  }
package/src/cli.ts CHANGED
@@ -29,7 +29,9 @@ cli
29
29
  cli.addCommand(cmdAdmin());
30
30
  cli.addCommand(cmdUser.cmdList());
31
31
  cli.addCommand(cmdUser.cmdCreate());
32
+ cli.addCommand(cmdUser.cmdDescribe());
32
33
  cli.addCommand(cmdUser.cmdRemove());
34
+ cli.addCommand(cmdUser.cmdLogs());
33
35
  cli.addCommand(cmdTranscode.cmdTranscode());
34
36
  cli.addCommand(cmdTranscode.cmdEncore());
35
37
  cli.addCommand(cmdTranscode.cmdVodPipeline());
package/src/live/cmd.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  import { Context } from '@osaas/client-core';
2
2
  import {
3
+ createLiveMultiBitrateHLS,
3
4
  createLiveSingleBitrateHLS,
4
5
  listSingleBitrateHLS,
5
- removeLiveSingleBitrateHLS
6
+ removeLiveSingleBitrateHLS,
7
+ startLiveMultiBitrateHLS,
8
+ stopLiveMultiBitrateHLS
6
9
  } from '@osaas/client-transcode';
7
10
  import { Command } from 'commander';
8
11
 
@@ -44,5 +47,52 @@ export default function cmdLive() {
44
47
  );
45
48
  });
46
49
 
50
+ live
51
+ .command('create-multi')
52
+ .description('Create and start RTMP endpoint for live multi bitrate stream')
53
+ .argument('<name>', 'Stream name')
54
+ .action(async (name, options, command) => {
55
+ try {
56
+ const globalOpts = command.optsWithGlobals();
57
+ const environment = globalOpts?.env || 'prod';
58
+ const ctx = new Context({ environment });
59
+ const { rtmpUrl, hlsUrl } = await createLiveMultiBitrateHLS(ctx, name);
60
+ console.log(`Start streaming to ${rtmpUrl} and watch at ${hlsUrl}`);
61
+ } catch (err) {
62
+ console.log((err as Error).message);
63
+ }
64
+ });
65
+
66
+ live
67
+ .command('start-multi')
68
+ .description('Start RTMP endpoint for live multi bitrate stream')
69
+ .argument('<name>', 'Stream name')
70
+ .action(async (name, options, command) => {
71
+ try {
72
+ const globalOpts = command.optsWithGlobals();
73
+ const environment = globalOpts?.env || 'prod';
74
+ const ctx = new Context({ environment });
75
+ const { rtmpUrl, hlsUrl } = await startLiveMultiBitrateHLS(ctx, name);
76
+ console.log(`Start streaming to ${rtmpUrl} and watch at ${hlsUrl}`);
77
+ } catch (err) {
78
+ console.log((err as Error).message);
79
+ }
80
+ });
81
+
82
+ live
83
+ .command('stop-multi')
84
+ .description('Stop live multi bitrate stream')
85
+ .argument('<name>', 'Stream name')
86
+ .action(async (name, options, command) => {
87
+ try {
88
+ const globalOpts = command.optsWithGlobals();
89
+ const environment = globalOpts?.env || 'prod';
90
+ const ctx = new Context({ environment });
91
+ await stopLiveMultiBitrateHLS(ctx, name);
92
+ } catch (err) {
93
+ console.log((err as Error).message);
94
+ }
95
+ });
96
+
47
97
  return live;
48
98
  }
package/src/user/cmd.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import {
2
2
  Context,
3
3
  createInstance,
4
+ getInstance,
5
+ getLogsForInstance,
4
6
  listInstances,
5
7
  removeInstance
6
8
  } from '@osaas/client-core';
@@ -70,6 +72,37 @@ export function cmdCreate() {
70
72
  return create;
71
73
  }
72
74
 
75
+ export function cmdDescribe() {
76
+ const describe = new Command('describe');
77
+
78
+ describe
79
+ .description('Get details for a service instance')
80
+ .argument('<serviceId>', 'The Service Id')
81
+ .argument('<name>', 'The instance name')
82
+ .action(async (serviceId, name, options, command) => {
83
+ try {
84
+ const globalOpts = command.optsWithGlobals();
85
+ const environment = globalOpts?.env || 'prod';
86
+ const ctx = new Context({ environment });
87
+ const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
88
+
89
+ const instance = await getInstance(
90
+ ctx,
91
+ serviceId,
92
+ name,
93
+ serviceAccessToken
94
+ );
95
+ delete instance['resources'];
96
+ Object.keys(instance).forEach((key) => {
97
+ console.log(`${key}: ${instance[key]}`);
98
+ });
99
+ } catch (err) {
100
+ console.log((err as Error).message);
101
+ }
102
+ });
103
+ return describe;
104
+ }
105
+
73
106
  export function cmdRemove() {
74
107
  const remove = new Command('remove');
75
108
 
@@ -93,3 +126,31 @@ export function cmdRemove() {
93
126
  });
94
127
  return remove;
95
128
  }
129
+
130
+ export function cmdLogs() {
131
+ const logs = new Command('logs');
132
+
133
+ logs
134
+ .description('Get logs for a service instance')
135
+ .argument('<serviceId>', 'The Service Id')
136
+ .argument('<name>', 'The instance name')
137
+ .action(async (serviceId, name, options, command) => {
138
+ try {
139
+ const globalOpts = command.optsWithGlobals();
140
+ const environment = globalOpts?.env || 'prod';
141
+ const ctx = new Context({ environment });
142
+ const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
143
+
144
+ const logs = await getLogsForInstance(
145
+ ctx,
146
+ serviceId,
147
+ name,
148
+ serviceAccessToken
149
+ );
150
+ console.log(logs);
151
+ } catch (err) {
152
+ console.log((err as Error).message);
153
+ }
154
+ });
155
+ return logs;
156
+ }