@synteq/cli 0.1.4 → 0.1.6
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/api/client.d.ts +28 -37
- package/dist/api/client.js +47 -49
- package/dist/api/client.js.map +1 -1
- package/dist/api/types.d.ts +34 -23
- package/dist/commands/api.js +4 -4
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/catalog.js +1 -1
- package/dist/commands/catalog.js.map +1 -1
- package/dist/commands/config/set-api-url.js +37 -2
- package/dist/commands/config/set-api-url.js.map +1 -1
- package/dist/commands/gpu/activity.d.ts +1 -0
- package/dist/commands/gpu/activity.js +6 -0
- package/dist/commands/gpu/activity.js.map +1 -1
- package/dist/commands/gpu/bandwidth.d.ts +1 -0
- package/dist/commands/gpu/bandwidth.js +4 -0
- package/dist/commands/gpu/bandwidth.js.map +1 -1
- package/dist/commands/gpu/boot-order.d.ts +1 -0
- package/dist/commands/gpu/boot-order.js +5 -0
- package/dist/commands/gpu/boot-order.js.map +1 -1
- package/dist/commands/gpu/console.d.ts +1 -0
- package/dist/commands/gpu/console.js +5 -0
- package/dist/commands/gpu/console.js.map +1 -1
- package/dist/commands/gpu/details.d.ts +2 -0
- package/dist/commands/gpu/details.js +9 -0
- package/dist/commands/gpu/details.js.map +1 -1
- package/dist/commands/gpu/ip/add.d.ts +1 -0
- package/dist/commands/gpu/ip/add.js +6 -0
- package/dist/commands/gpu/ip/add.js.map +1 -1
- package/dist/commands/gpu/ip/list.d.ts +1 -0
- package/dist/commands/gpu/ip/list.js +4 -0
- package/dist/commands/gpu/ip/list.js.map +1 -1
- package/dist/commands/gpu/list.d.ts +1 -1
- package/dist/commands/gpu/list.js +2 -2
- package/dist/commands/gpu/list.js.map +1 -1
- package/dist/commands/gpu/order.js +2 -0
- package/dist/commands/gpu/order.js.map +1 -1
- package/dist/commands/gpu/power.d.ts +1 -0
- package/dist/commands/gpu/power.js +6 -0
- package/dist/commands/gpu/power.js.map +1 -1
- package/dist/commands/gpu/reinstall.d.ts +3 -0
- package/dist/commands/gpu/reinstall.js +7 -0
- package/dist/commands/gpu/reinstall.js.map +1 -1
- package/dist/commands/gpu/resize.d.ts +1 -0
- package/dist/commands/gpu/resize.js +6 -0
- package/dist/commands/gpu/resize.js.map +1 -1
- package/dist/commands/gpu/stats.d.ts +1 -0
- package/dist/commands/gpu/stats.js +5 -0
- package/dist/commands/gpu/stats.js.map +1 -1
- package/dist/commands/instant-metal/activity.d.ts +1 -0
- package/dist/commands/instant-metal/activity.js +6 -0
- package/dist/commands/instant-metal/activity.js.map +1 -1
- package/dist/commands/instant-metal/bandwidth.d.ts +1 -0
- package/dist/commands/instant-metal/bandwidth.js +4 -0
- package/dist/commands/instant-metal/bandwidth.js.map +1 -1
- package/dist/commands/instant-metal/boot-order.d.ts +1 -0
- package/dist/commands/instant-metal/boot-order.js +5 -0
- package/dist/commands/instant-metal/boot-order.js.map +1 -1
- package/dist/commands/instant-metal/console.d.ts +1 -0
- package/dist/commands/instant-metal/console.js +5 -0
- package/dist/commands/instant-metal/console.js.map +1 -1
- package/dist/commands/instant-metal/details.d.ts +2 -0
- package/dist/commands/instant-metal/details.js +9 -0
- package/dist/commands/instant-metal/details.js.map +1 -1
- package/dist/commands/instant-metal/ip/add.d.ts +1 -0
- package/dist/commands/instant-metal/ip/add.js +6 -0
- package/dist/commands/instant-metal/ip/add.js.map +1 -1
- package/dist/commands/instant-metal/ip/list.d.ts +1 -0
- package/dist/commands/instant-metal/ip/list.js +4 -0
- package/dist/commands/instant-metal/ip/list.js.map +1 -1
- package/dist/commands/instant-metal/list.d.ts +1 -1
- package/dist/commands/instant-metal/list.js +2 -2
- package/dist/commands/instant-metal/list.js.map +1 -1
- package/dist/commands/instant-metal/order.js +2 -0
- package/dist/commands/instant-metal/order.js.map +1 -1
- package/dist/commands/instant-metal/power.d.ts +1 -0
- package/dist/commands/instant-metal/power.js +6 -0
- package/dist/commands/instant-metal/power.js.map +1 -1
- package/dist/commands/instant-metal/reinstall.d.ts +3 -0
- package/dist/commands/instant-metal/reinstall.js +7 -0
- package/dist/commands/instant-metal/reinstall.js.map +1 -1
- package/dist/commands/instant-metal/resize.d.ts +1 -0
- package/dist/commands/instant-metal/resize.js +6 -0
- package/dist/commands/instant-metal/resize.js.map +1 -1
- package/dist/commands/instant-metal/stats.d.ts +1 -0
- package/dist/commands/instant-metal/stats.js +5 -0
- package/dist/commands/instant-metal/stats.js.map +1 -1
- package/dist/commands/order/gpu.js +2 -0
- package/dist/commands/order/gpu.js.map +1 -1
- package/dist/commands/order/instant-metal.js +2 -0
- package/dist/commands/order/instant-metal.js.map +1 -1
- package/dist/commands/order/storage.js +1 -1
- package/dist/commands/order/storage.js.map +1 -1
- package/dist/commands/order/vps.js +2 -0
- package/dist/commands/order/vps.js.map +1 -1
- package/dist/commands/os-images.js +1 -1
- package/dist/commands/os-images.js.map +1 -1
- package/dist/commands/resources.js +22 -21
- package/dist/commands/resources.js.map +1 -1
- package/dist/commands/storage/attach.d.ts +1 -1
- package/dist/commands/storage/attach.js +11 -11
- package/dist/commands/storage/attach.js.map +1 -1
- package/dist/commands/storage/detach.js +2 -2
- package/dist/commands/storage/detach.js.map +1 -1
- package/dist/commands/storage/list.js +1 -1
- package/dist/commands/storage/list.js.map +1 -1
- package/dist/commands/storage/order.d.ts +1 -1
- package/dist/commands/storage/order.js +10 -10
- package/dist/commands/storage/order.js.map +1 -1
- package/dist/commands/vds/activity.d.ts +1 -0
- package/dist/commands/vds/activity.js +6 -0
- package/dist/commands/vds/activity.js.map +1 -1
- package/dist/commands/vds/bandwidth.d.ts +1 -0
- package/dist/commands/vds/bandwidth.js +4 -0
- package/dist/commands/vds/bandwidth.js.map +1 -1
- package/dist/commands/vds/boot-order.d.ts +1 -0
- package/dist/commands/vds/boot-order.js +5 -0
- package/dist/commands/vds/boot-order.js.map +1 -1
- package/dist/commands/vds/console.d.ts +1 -0
- package/dist/commands/vds/console.js +5 -0
- package/dist/commands/vds/console.js.map +1 -1
- package/dist/commands/vds/details.d.ts +2 -0
- package/dist/commands/vds/details.js +9 -0
- package/dist/commands/vds/details.js.map +1 -1
- package/dist/commands/vds/ip/add.d.ts +1 -0
- package/dist/commands/vds/ip/add.js +6 -0
- package/dist/commands/vds/ip/add.js.map +1 -1
- package/dist/commands/vds/ip/list.d.ts +1 -0
- package/dist/commands/vds/ip/list.js +4 -0
- package/dist/commands/vds/ip/list.js.map +1 -1
- package/dist/commands/vds/list.d.ts +1 -1
- package/dist/commands/vds/list.js +2 -2
- package/dist/commands/vds/list.js.map +1 -1
- package/dist/commands/vds/order.d.ts +19 -2
- package/dist/commands/vds/order.js +210 -7
- package/dist/commands/vds/order.js.map +1 -1
- package/dist/commands/vds/power.d.ts +1 -0
- package/dist/commands/vds/power.js +6 -0
- package/dist/commands/vds/power.js.map +1 -1
- package/dist/commands/vds/reinstall.d.ts +3 -0
- package/dist/commands/vds/reinstall.js +7 -0
- package/dist/commands/vds/reinstall.js.map +1 -1
- package/dist/commands/vds/resize.d.ts +1 -0
- package/dist/commands/vds/resize.js +6 -0
- package/dist/commands/vds/resize.js.map +1 -1
- package/dist/commands/vds/stats.d.ts +1 -0
- package/dist/commands/vds/stats.js +5 -0
- package/dist/commands/vds/stats.js.map +1 -1
- package/dist/commands/vps/activity.js +4 -4
- package/dist/commands/vps/activity.js.map +1 -1
- package/dist/commands/vps/bandwidth.js +5 -5
- package/dist/commands/vps/bandwidth.js.map +1 -1
- package/dist/commands/vps/boot-order.js +5 -5
- package/dist/commands/vps/boot-order.js.map +1 -1
- package/dist/commands/vps/console.js +9 -9
- package/dist/commands/vps/console.js.map +1 -1
- package/dist/commands/vps/details.d.ts +4 -0
- package/dist/commands/vps/details.js +20 -9
- package/dist/commands/vps/details.js.map +1 -1
- package/dist/commands/vps/ip/add.js +10 -9
- package/dist/commands/vps/ip/add.js.map +1 -1
- package/dist/commands/vps/ip/list.js +6 -6
- package/dist/commands/vps/ip/list.js.map +1 -1
- package/dist/commands/vps/list.d.ts +3 -1
- package/dist/commands/vps/list.js +11 -7
- package/dist/commands/vps/list.js.map +1 -1
- package/dist/commands/vps/order.d.ts +3 -2
- package/dist/commands/vps/order.js +25 -16
- package/dist/commands/vps/order.js.map +1 -1
- package/dist/commands/vps/power.js +14 -13
- package/dist/commands/vps/power.js.map +1 -1
- package/dist/commands/vps/reinstall.d.ts +2 -0
- package/dist/commands/vps/reinstall.js +41 -14
- package/dist/commands/vps/reinstall.js.map +1 -1
- package/dist/commands/vps/resize.js +11 -10
- package/dist/commands/vps/resize.js.map +1 -1
- package/dist/commands/vps/stats.js +7 -7
- package/dist/commands/vps/stats.js.map +1 -1
- package/dist/help.js +0 -1
- package/dist/help.js.map +1 -1
- package/dist/tui/screens/Dashboard.js +1 -1
- package/dist/tui/screens/Dashboard.js.map +1 -1
- package/dist/tui/screens/Order.js +352 -45
- package/dist/tui/screens/Order.js.map +1 -1
- package/dist/tui/screens/Resources.js +31 -60
- package/dist/tui/screens/Resources.js.map +1 -1
- package/dist/ui/image-resolve.js +1 -1
- package/dist/ui/image-resolve.js.map +1 -1
- package/dist/ui/payment.d.ts +1 -1
- package/dist/ui/resource-detail.d.ts +3 -0
- package/dist/ui/{vps-detail.js → resource-detail.js} +11 -7
- package/dist/ui/resource-detail.js.map +1 -0
- package/dist/ui/resource-resolve.d.ts +4 -0
- package/dist/ui/resource-resolve.js +24 -0
- package/dist/ui/resource-resolve.js.map +1 -0
- package/dist/ui/wait.d.ts +1 -1
- package/dist/ui/wait.js +4 -4
- package/dist/ui/wait.js.map +1 -1
- package/package.json +1 -4
- package/dist/commands/bare-metal/index.d.ts +0 -4
- package/dist/commands/bare-metal/index.js +0 -5
- package/dist/commands/bare-metal/index.js.map +0 -1
- package/dist/commands/bare-metal/list.d.ts +0 -9
- package/dist/commands/bare-metal/list.js +0 -38
- package/dist/commands/bare-metal/list.js.map +0 -1
- package/dist/commands/bare-metal/order.d.ts +0 -6
- package/dist/commands/bare-metal/order.js +0 -27
- package/dist/commands/bare-metal/order.js.map +0 -1
- package/dist/ui/vps-detail.d.ts +0 -3
- package/dist/ui/vps-detail.js.map +0 -1
- package/dist/ui/vps-resolve.d.ts +0 -4
- package/dist/ui/vps-resolve.js +0 -24
- package/dist/ui/vps-resolve.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ResourceDetails from "../vps/details.js";
|
|
2
2
|
export default class InstantMetalDetails extends ResourceDetails {
|
|
3
3
|
static description: string;
|
|
4
|
+
static examples: string[];
|
|
4
5
|
static aliases: never[];
|
|
5
6
|
static args: {
|
|
6
7
|
id: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
@@ -13,4 +14,5 @@ export default class InstantMetalDetails extends ResourceDetails {
|
|
|
13
14
|
output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
15
|
insecure: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
16
|
};
|
|
17
|
+
protected matchesKind(): string;
|
|
16
18
|
}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import ResourceDetails from "../vps/details.js";
|
|
2
2
|
export default class InstantMetalDetails extends ResourceDetails {
|
|
3
3
|
static description = "Show full details for one Instant Metal instance. With no id, pick from a list.";
|
|
4
|
+
static examples = [
|
|
5
|
+
"<%= config.bin %> instant-metal details # pick from a list (TTY)",
|
|
6
|
+
"<%= config.bin %> instant-metal details web-01 # by hostname",
|
|
7
|
+
"<%= config.bin %> instant-metal details 019f155b # by short id",
|
|
8
|
+
"<%= config.bin %> instant-metal details 192.0.2.45 -o json # by IP, as JSON",
|
|
9
|
+
];
|
|
4
10
|
static aliases = [];
|
|
5
11
|
static args = ResourceDetails.args;
|
|
6
12
|
static flags = ResourceDetails.flags;
|
|
7
13
|
static baseFlags = ResourceDetails.baseFlags;
|
|
14
|
+
matchesKind() {
|
|
15
|
+
return "instant_metal";
|
|
16
|
+
}
|
|
8
17
|
}
|
|
9
18
|
//# sourceMappingURL=details.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/details.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,eAAe;IAC9D,MAAM,CAAC,WAAW,GAAG,iFAAiF,CAAC;IACvG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IACnC,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;IACrC,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/details.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,eAAe;IAC9D,MAAM,CAAC,WAAW,GAAG,iFAAiF,CAAC;IACvG,MAAM,CAAC,QAAQ,GAAG;QACd,2GAA2G;QAC3G,gGAAgG;QAChG,gGAAgG;QAChG,mGAAmG;KACpG,CAAC;IACJ,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IACnC,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;IACrC,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IAEnC,WAAW;QACnB,OAAO,eAAe,CAAC;IACzB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ResourceIpAdd from "../../vps/ip/add.js";
|
|
2
2
|
export default class InstantMetalIpAdd extends ResourceIpAdd {
|
|
3
3
|
static description: string;
|
|
4
|
+
static examples: string[];
|
|
4
5
|
static args: {
|
|
5
6
|
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
7
|
};
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import ResourceIpAdd from "../../vps/ip/add.js";
|
|
2
2
|
export default class InstantMetalIpAdd extends ResourceIpAdd {
|
|
3
3
|
static description = "Buy extra IPv4 addresses for an Instant Metal instance (charges immediately).";
|
|
4
|
+
static examples = [
|
|
5
|
+
"<%= config.bin %> instant-metal ip add 019e... # 1 IP, prompts for payment + confirm",
|
|
6
|
+
"<%= config.bin %> instant-metal ip add 019e... --quantity 2 --payment-method 019f... --yes",
|
|
7
|
+
"<%= config.bin %> instant-metal ip add 019e... --apply-credits --yes -o json # credits first; agent-friendly",
|
|
8
|
+
"<%= config.bin %> instant-metal ip add 019e... --billing-mode new_cycle --payment-method 019f... --yes",
|
|
9
|
+
];
|
|
4
10
|
static args = ResourceIpAdd.args;
|
|
5
11
|
static flags = ResourceIpAdd.flags;
|
|
6
12
|
static baseFlags = ResourceIpAdd.baseFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/instant-metal/ip/add.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,WAAW,GAAG,+EAA+E,CAAC;IACrG,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IACjC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/instant-metal/ip/add.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,WAAW,GAAG,+EAA+E,CAAC;IACrG,MAAM,CAAC,QAAQ,GAAG;QACd,0HAA0H;QAC1H,4FAA4F;QAC5F,oHAAoH;QACpH,wGAAwG;KACzG,CAAC;IACJ,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IACjC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ResourceIpList from "../../vps/ip/list.js";
|
|
2
2
|
export default class InstantMetalIpList extends ResourceIpList {
|
|
3
3
|
static description: string;
|
|
4
|
+
static examples: string[];
|
|
4
5
|
static args: {
|
|
5
6
|
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
7
|
};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import ResourceIpList from "../../vps/ip/list.js";
|
|
2
2
|
export default class InstantMetalIpList extends ResourceIpList {
|
|
3
3
|
static description = "List an Instant Metal instance's IP addresses and extra-IP add-ons.";
|
|
4
|
+
static examples = [
|
|
5
|
+
"<%= config.bin %> instant-metal ip list 019e...",
|
|
6
|
+
"<%= config.bin %> instant-metal ip list 019e... -o json # {ips, addons, pending_addons}",
|
|
7
|
+
];
|
|
4
8
|
static args = ResourceIpList.args;
|
|
5
9
|
static flags = ResourceIpList.flags;
|
|
6
10
|
static baseFlags = ResourceIpList.baseFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/instant-metal/ip/list.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,cAAc;IAC5D,MAAM,CAAC,WAAW,GAAG,qEAAqE,CAAC;IAC3F,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAClC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IACpC,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/instant-metal/ip/list.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,cAAc;IAC5D,MAAM,CAAC,WAAW,GAAG,qEAAqE,CAAC;IAC3F,MAAM,CAAC,QAAQ,GAAG;QACd,iDAAiD;QACjD,8FAA8F;KAC/F,CAAC;IACJ,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAClC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IACpC,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC"}
|
|
@@ -2,5 +2,5 @@ import ResourceList from "../vps/list.js";
|
|
|
2
2
|
export default class InstantMetalList extends ResourceList {
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
|
-
protected
|
|
5
|
+
protected matchesKind(): string;
|
|
6
6
|
}
|
|
@@ -6,8 +6,8 @@ export default class InstantMetalList extends ResourceList {
|
|
|
6
6
|
"<%= config.bin %> instant-metal list --project 019e...",
|
|
7
7
|
"<%= config.bin %> instant-metal list -o json",
|
|
8
8
|
];
|
|
9
|
-
|
|
10
|
-
return
|
|
9
|
+
matchesKind() {
|
|
10
|
+
return "instant_metal";
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/list.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,YAAY;IACxD,MAAM,CAAC,WAAW,GAAG,8CAA8C,CAAC;IACpE,MAAM,CAAC,QAAQ,GAAG;QAChB,sCAAsC;QACtC,wDAAwD;QACxD,8CAA8C;KAC/C,CAAC;IAEQ,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/list.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,YAAY;IACxD,MAAM,CAAC,WAAW,GAAG,8CAA8C,CAAC;IACpE,MAAM,CAAC,QAAQ,GAAG;QAChB,sCAAsC;QACtC,wDAAwD;QACxD,8CAA8C;KAC/C,CAAC;IAEQ,WAAW;QACnB,OAAO,eAAe,CAAC;IACzB,CAAC"}
|
|
@@ -4,6 +4,8 @@ export default class InstantMetalOrder extends ResourceOrder {
|
|
|
4
4
|
static examples = [
|
|
5
5
|
"<%= config.bin %> instant-metal order # interactive wizard, pre-filtered to Instant Metal",
|
|
6
6
|
"<%= config.bin %> instant-metal order --project <id> --plan <id> --location <id> --image <id> --payment-method <id>",
|
|
7
|
+
"<%= config.bin %> instant-metal order --plan <id> --location <id> --image <id> --payment-method <id> --billing-cycle yearly",
|
|
8
|
+
" # plan must have the yearly cycle enabled",
|
|
7
9
|
];
|
|
8
10
|
async run() {
|
|
9
11
|
this.argv.push("--category", "dedicated");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/order.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,WAAW,GAAG,kGAAkG,CAAC;IACxH,MAAM,CAAC,QAAQ,GAAG;QAChB,kHAAkH;QAClH,qHAAqH;
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/order.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,WAAW,GAAG,kGAAkG,CAAC;IACxH,MAAM,CAAC,QAAQ,GAAG;QAChB,kHAAkH;QAClH,qHAAqH;QACrH,6HAA6H;QAC7H,wGAAwG;KACzG,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ResourcePower from "../vps/power.js";
|
|
2
2
|
export default class InstantMetalPower extends ResourcePower {
|
|
3
3
|
static description: string;
|
|
4
|
+
static examples: string[];
|
|
4
5
|
static args: {
|
|
5
6
|
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
7
|
action: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import ResourcePower from "../vps/power.js";
|
|
2
2
|
export default class InstantMetalPower extends ResourcePower {
|
|
3
3
|
static description = "Power an Instant Metal instance on/off, reboot, shutdown, or cycle.";
|
|
4
|
+
static examples = [
|
|
5
|
+
"<%= config.bin %> instant-metal power 019e... on",
|
|
6
|
+
"<%= config.bin %> instant-metal power 019e... shutdown --wait # block until stopped; prompts first",
|
|
7
|
+
"<%= config.bin %> instant-metal power 019e... stop --yes # no prompt (required when piped)",
|
|
8
|
+
"<%= config.bin %> instant-metal power 019e... cycle --yes --wait --timeout 300 -o json",
|
|
9
|
+
];
|
|
4
10
|
static args = ResourcePower.args;
|
|
5
11
|
static flags = ResourcePower.flags;
|
|
6
12
|
static baseFlags = ResourcePower.baseFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/power.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,WAAW,GAAG,qEAAqE,CAAC;IAC3F,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IACjC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"power.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/power.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,WAAW,GAAG,qEAAqE,CAAC;IAC3F,MAAM,CAAC,QAAQ,GAAG;QACd,kDAAkD;QAClD,6GAA6G;QAC7G,0GAA0G;QAC1G,wFAAwF;KACzF,CAAC;IACJ,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IACjC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ResourceReinstall from "../vps/reinstall.js";
|
|
2
2
|
export default class InstantMetalReinstall extends ResourceReinstall {
|
|
3
3
|
static description: string;
|
|
4
|
+
static examples: string[];
|
|
4
5
|
static args: {
|
|
5
6
|
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
7
|
};
|
|
@@ -12,6 +13,8 @@ export default class InstantMetalReinstall extends ResourceReinstall {
|
|
|
12
13
|
"ssh-key": import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
14
|
"ssh-public-key": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
15
|
ciuser: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
"account-password": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
"account-password-stdin": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
18
|
wait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
19
|
timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
20
|
};
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import ResourceReinstall from "../vps/reinstall.js";
|
|
2
2
|
export default class InstantMetalReinstall extends ResourceReinstall {
|
|
3
3
|
static description = "Reinstall an Instant Metal instance with a new OS image (erases all data).";
|
|
4
|
+
static examples = [
|
|
5
|
+
"<%= config.bin %> instant-metal reinstall 019e... --image 019f... # confirms, then prompts (masked) for a root password",
|
|
6
|
+
"cat pass.txt | <%= config.bin %> instant-metal reinstall 019e... --image 019f... --password-stdin --yes",
|
|
7
|
+
"<%= config.bin %> instant-metal reinstall 019e... --image 019f... --ssh-key 019g... --wait --yes",
|
|
8
|
+
"<%= config.bin %> instant-metal reinstall 019e... --image 019f... --ssh-public-key 'ssh-ed25519 AAAA... user@host'",
|
|
9
|
+
"<%= config.bin %> instant-metal reinstall 019e... --image 019f... --ssh-key 019g... --ciuser ubuntu",
|
|
10
|
+
];
|
|
4
11
|
static args = ResourceReinstall.args;
|
|
5
12
|
static flags = ResourceReinstall.flags;
|
|
6
13
|
static baseFlags = ResourceReinstall.baseFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reinstall.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/reinstall.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,iBAAiB;IAClE,MAAM,CAAC,WAAW,GAAG,4EAA4E,CAAC;IAClG,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;IACrC,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;IACvC,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"reinstall.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/reinstall.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,iBAAiB;IAClE,MAAM,CAAC,WAAW,GAAG,4EAA4E,CAAC;IAClG,MAAM,CAAC,QAAQ,GAAG;QACd,sIAAsI;QACtI,yGAAyG;QACzG,kGAAkG;QAClG,oHAAoH;QACpH,qGAAqG;KACtG,CAAC;IACJ,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;IACrC,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;IACvC,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ResourceResize from "../vps/resize.js";
|
|
2
2
|
export default class InstantMetalResize extends ResourceResize {
|
|
3
3
|
static description: string;
|
|
4
|
+
static examples: string[];
|
|
4
5
|
static args: {
|
|
5
6
|
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
7
|
};
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import ResourceResize from "../vps/resize.js";
|
|
2
2
|
export default class InstantMetalResize extends ResourceResize {
|
|
3
3
|
static description = "Resize an Instant Metal instance (change CPU / RAM / disk / bandwidth in place).";
|
|
4
|
+
static examples = [
|
|
5
|
+
"<%= config.bin %> instant-metal resize 019e... --ram 8 --yes # bump RAM to 8 GB; keep CPU/disk",
|
|
6
|
+
"<%= config.bin %> instant-metal resize 019e... --plan <planId> --payment-method <id> --yes",
|
|
7
|
+
"<%= config.bin %> instant-metal resize 019e... --cpu 4 --ram 8 --disk 120 # TTY: quote + confirm interactively",
|
|
8
|
+
"<%= config.bin %> instant-metal resize 019e... --disk 200 --apply-credits -o json",
|
|
9
|
+
];
|
|
4
10
|
static args = ResourceResize.args;
|
|
5
11
|
static flags = ResourceResize.flags;
|
|
6
12
|
static baseFlags = ResourceResize.baseFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/resize.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,cAAc;IAC5D,MAAM,CAAC,WAAW,GAAG,kFAAkF,CAAC;IACxG,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAClC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IACpC,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/resize.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,cAAc;IAC5D,MAAM,CAAC,WAAW,GAAG,kFAAkF,CAAC;IACxG,MAAM,CAAC,QAAQ,GAAG;QACd,mHAAmH;QACnH,4FAA4F;QAC5F,sHAAsH;QACtH,mFAAmF;KACpF,CAAC;IACJ,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAClC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IACpC,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import ResourceStats from "../vps/stats.js";
|
|
2
2
|
export default class InstantMetalStats extends ResourceStats {
|
|
3
3
|
static description = "Show live CPU / memory / disk / uptime + network I/O for an Instant Metal instance.";
|
|
4
|
+
static examples = [
|
|
5
|
+
"<%= config.bin %> instant-metal stats 019e...",
|
|
6
|
+
"<%= config.bin %> instant-metal stats 019e... --timeframe day # sparklines over the last day",
|
|
7
|
+
"<%= config.bin %> instant-metal stats 019e... -o json # raw RRD array for scripting",
|
|
8
|
+
];
|
|
4
9
|
static args = ResourceStats.args;
|
|
5
10
|
static flags = ResourceStats.flags;
|
|
6
11
|
static baseFlags = ResourceStats.baseFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/stats.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,WAAW,GAAG,qFAAqF,CAAC;IAC3G,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IACjC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/commands/instant-metal/stats.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,WAAW,GAAG,qFAAqF,CAAC;IAC3G,MAAM,CAAC,QAAQ,GAAG;QACd,+CAA+C;QAC/C,iGAAiG;QACjG,gGAAgG;KACjG,CAAC;IACJ,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IACjC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC"}
|
|
@@ -4,6 +4,8 @@ export default class OrderGpu extends ResourceOrder {
|
|
|
4
4
|
static examples = [
|
|
5
5
|
"<%= config.bin %> order gpu # interactive wizard, pre-filtered to GPU",
|
|
6
6
|
"<%= config.bin %> order gpu --project <id> --plan <id> --location <id> --image <id> --ssh-key <id> --payment-method <id>",
|
|
7
|
+
"<%= config.bin %> order gpu --plan <id> --location <id> --image <id> --ssh-key <id> --payment-method <id> --billing-cycle quarterly",
|
|
8
|
+
" # plan must have the quarterly cycle enabled",
|
|
7
9
|
];
|
|
8
10
|
async run() {
|
|
9
11
|
this.argv.push("--category", "gpu_cloud");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gpu.js","sourceRoot":"","sources":["../../../src/commands/order/gpu.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,aAAa;IACjD,MAAM,CAAC,WAAW,GAChB,uFAAuF,CAAC;IAC1F,MAAM,CAAC,QAAQ,GAAG;QAChB,kHAAkH;QAClH,0HAA0H;
|
|
1
|
+
{"version":3,"file":"gpu.js","sourceRoot":"","sources":["../../../src/commands/order/gpu.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,aAAa;IACjD,MAAM,CAAC,WAAW,GAChB,uFAAuF,CAAC;IAC1F,MAAM,CAAC,QAAQ,GAAG;QAChB,kHAAkH;QAClH,0HAA0H;QAC1H,qIAAqI;QACrI,qHAAqH;KACtH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC"}
|
|
@@ -5,6 +5,8 @@ export default class OrderInstantMetal extends ResourceOrder {
|
|
|
5
5
|
static examples = [
|
|
6
6
|
"<%= config.bin %> order instant-metal # interactive wizard, Instant Metal plans",
|
|
7
7
|
"<%= config.bin %> order instant-metal --project <id> --plan <id> --location <id> --image <id> --ssh-key <id> --payment-method <id>",
|
|
8
|
+
"<%= config.bin %> order instant-metal --plan <id> --location <id> --image <id> --ssh-key <id> --payment-method <id> --billing-cycle yearly",
|
|
9
|
+
" # plan must have the yearly cycle enabled",
|
|
8
10
|
];
|
|
9
11
|
async run() {
|
|
10
12
|
this.argv.push("--category", "dedicated");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instant-metal.js","sourceRoot":"","sources":["../../../src/commands/order/instant-metal.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrC,MAAM,CAAC,WAAW,GAChB,kFAAkF,CAAC;IACrF,MAAM,CAAC,QAAQ,GAAG;QAChB,kHAAkH;QAClH,oIAAoI;
|
|
1
|
+
{"version":3,"file":"instant-metal.js","sourceRoot":"","sources":["../../../src/commands/order/instant-metal.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAC1D,MAAM,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrC,MAAM,CAAC,WAAW,GAChB,kFAAkF,CAAC;IACrF,MAAM,CAAC,QAAQ,GAAG;QAChB,kHAAkH;QAClH,oIAAoI;QACpI,4IAA4I;QAC5I,kHAAkH;KACnH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC"}
|
|
@@ -5,7 +5,7 @@ export default class OrderStorage extends StorageOrder {
|
|
|
5
5
|
static examples = [
|
|
6
6
|
"<%= config.bin %> order storage # interactive wizard",
|
|
7
7
|
"<%= config.bin %> order storage --name backups --size 500 --location <id> --payment-method <id>",
|
|
8
|
-
"<%= config.bin %> order storage --name scratch --size 2000 --location <id> --attach-
|
|
8
|
+
"<%= config.bin %> order storage --name scratch --size 2000 --location <id> --attach-resource <resource-id> --apply-credits",
|
|
9
9
|
];
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/commands/order/storage.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,MAAM,CAAC,WAAW,GAChB,mEAAmE,CAAC;IACtE,MAAM,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IACnC,MAAM,CAAC,QAAQ,GAAG;QAChB,6FAA6F;QAC7F,iGAAiG;QACjG,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/commands/order/storage.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,MAAM,CAAC,WAAW,GAChB,mEAAmE,CAAC;IACtE,MAAM,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IACnC,MAAM,CAAC,QAAQ,GAAG;QAChB,6FAA6F;QAC7F,iGAAiG;QACjG,4HAA4H;KAC7H,CAAC"}
|
|
@@ -5,6 +5,8 @@ export default class OrderVps extends ResourceOrder {
|
|
|
5
5
|
static examples = [
|
|
6
6
|
"<%= config.bin %> order vps # interactive: custom-spec wizard",
|
|
7
7
|
"<%= config.bin %> order vps --cpu 4 --ram 8 --disk 80 --location <id> --image <id> --ssh-key <id> --payment-method <id>",
|
|
8
|
+
"<%= config.bin %> order vps --plan <id> --location <id> --image <id> --ssh-key <id> --payment-method <id> --billing-cycle yearly",
|
|
9
|
+
" # plan must have the yearly cycle enabled",
|
|
8
10
|
];
|
|
9
11
|
async run() {
|
|
10
12
|
this.argv.push("--category", "vps");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vps.js","sourceRoot":"","sources":["../../../src/commands/order/vps.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,aAAa;IACjD,MAAM,CAAC,WAAW,GAChB,4FAA4F,CAAC;IAC/F,MAAM,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,GAAG;QAChB,0GAA0G;QAC1G,yHAAyH;
|
|
1
|
+
{"version":3,"file":"vps.js","sourceRoot":"","sources":["../../../src/commands/order/vps.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,aAAa;IACjD,MAAM,CAAC,WAAW,GAChB,4FAA4F,CAAC;IAC/F,MAAM,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,GAAG;QAChB,0GAA0G;QAC1G,yHAAyH;QACzH,kIAAkI;QAClI,kHAAkH;KACnH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC"}
|
|
@@ -19,7 +19,7 @@ export default class OsImages extends BaseCommand {
|
|
|
19
19
|
await this.initClients();
|
|
20
20
|
const { flags } = await this.parse(OsImages);
|
|
21
21
|
try {
|
|
22
|
-
const images = (await this.clients.api.
|
|
22
|
+
const images = (await this.clients.api.orders.catalog()).images;
|
|
23
23
|
this.emit(images, () => {
|
|
24
24
|
if (images.length === 0) {
|
|
25
25
|
this.log("No OS images available.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"os-images.js","sourceRoot":"","sources":["../../src/commands/os-images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,WAAW,GAChB,yFAAyF,CAAC;IAC5F,MAAM,CAAC,OAAO,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxC,MAAM,CAAC,QAAQ,GAAG;QAChB,6BAA6B;QAC7B,mFAAmF;QACnF,qCAAqC;KACtC,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;YACxB,WAAW,EACT,+GAA+G;YACjH,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"os-images.js","sourceRoot":"","sources":["../../src/commands/os-images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,WAAW,GAChB,yFAAyF,CAAC;IAC5F,MAAM,CAAC,OAAO,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxC,MAAM,CAAC,QAAQ,GAAG;QAChB,6BAA6B;QAC7B,mFAAmF;QACnF,qCAAqC;KACtC,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;YACxB,WAAW,EACT,+GAA+G;YACjH,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBACrB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;oBACpC,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,GAAG,CACN,WAAW,CACT,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EACpB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAChB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,OAAO;iBACV,CAAC,CACH,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC"}
|
|
@@ -3,19 +3,20 @@ import { BaseCommand } from "../base/command.js";
|
|
|
3
3
|
import { renderTable, shortId } from "../ui/table.js";
|
|
4
4
|
import { ApiError, AuthExpiredError, NetworkError } from "../api/errors.js";
|
|
5
5
|
import { statusColor } from "../ui/glyphs.js";
|
|
6
|
+
const VIRTUALIZED_KINDS = ["vps", "vds", "gpu_cloud", "instant_metal"];
|
|
6
7
|
export default class Resources extends BaseCommand {
|
|
7
8
|
static aliases = ["resource"];
|
|
8
|
-
static description = "List every resource across all kinds (vps,
|
|
9
|
+
static description = "List every resource across all kinds (vps, vds, gpu_cloud, instant_metal, transit, storage).";
|
|
9
10
|
static examples = [
|
|
10
11
|
"<%= config.bin %> resources",
|
|
11
|
-
"<%= config.bin %> resources --kind vps,
|
|
12
|
+
"<%= config.bin %> resources --kind vps,gpu_cloud",
|
|
12
13
|
"<%= config.bin %> resources --project 019e... --kind storage",
|
|
13
14
|
"<%= config.bin %> resources -o json",
|
|
14
15
|
];
|
|
15
16
|
static flags = {
|
|
16
17
|
project: Flags.string({ description: "Scope to a project id." }),
|
|
17
18
|
kind: Flags.string({
|
|
18
|
-
description: "Restrict to one or more kinds: vps,
|
|
19
|
+
description: "Restrict to one or more kinds: vps, vds, gpu_cloud, instant_metal, transit, storage (repeatable or comma-separated).",
|
|
19
20
|
multiple: true,
|
|
20
21
|
}),
|
|
21
22
|
};
|
|
@@ -27,11 +28,15 @@ export default class Resources extends BaseCommand {
|
|
|
27
28
|
.map((s) => s.trim().toLowerCase())
|
|
28
29
|
.filter(Boolean));
|
|
29
30
|
const wants = (k) => requested.size === 0 || requested.has(k);
|
|
31
|
+
// /resources returns every virtualized kind in one call; fetch once if
|
|
32
|
+
// ANY virtualized kind is wanted, then filter per-row by v.kind.
|
|
33
|
+
const wantsAnyVirtualized = VIRTUALIZED_KINDS.some((k) => wants(k));
|
|
30
34
|
const { api } = this.clients;
|
|
31
35
|
const errors = [];
|
|
32
|
-
const [vps,
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
const [vps, transit, storage] = await Promise.all([
|
|
37
|
+
wantsAnyVirtualized
|
|
38
|
+
? api.virtualized.list(flags.project).catch((e) => recordErr(e, "virtualized"))
|
|
39
|
+
: [],
|
|
35
40
|
wants("transit") ? api.transit.list(flags.project).catch((e) => recordErr(e, "transit")) : [],
|
|
36
41
|
wants("storage") ? api.storage.list(flags.project).catch((e) => recordErr(e, "storage")) : [],
|
|
37
42
|
]);
|
|
@@ -46,26 +51,22 @@ export default class Resources extends BaseCommand {
|
|
|
46
51
|
return [];
|
|
47
52
|
}
|
|
48
53
|
const rows = [
|
|
49
|
-
...vps
|
|
50
|
-
// Trust the server-stamped kind (vps / vds / gpu_cloud / instant_metal)
|
|
51
|
-
//
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
|
|
54
|
+
...vps
|
|
55
|
+
// Trust the server-stamped kind (vps / vds / gpu_cloud / instant_metal)
|
|
56
|
+
// and filter per-row when --kind narrows the virtualized subset. Old
|
|
57
|
+
// code fell back to "vps" when the field was missing, silently
|
|
58
|
+
// relabelling any un-stamped row.
|
|
59
|
+
.filter((v) => v.kind !== undefined &&
|
|
60
|
+
VIRTUALIZED_KINDS.includes(v.kind) &&
|
|
61
|
+
wants(v.kind))
|
|
62
|
+
.map((v) => ({
|
|
63
|
+
kind: v.kind,
|
|
55
64
|
id: v.id,
|
|
56
65
|
name: v.hostname,
|
|
57
66
|
status: v.status,
|
|
58
67
|
location: v.location?.city ?? v.location?.name ?? "",
|
|
59
68
|
project_name: v.project_name ?? "",
|
|
60
69
|
})),
|
|
61
|
-
...metal.map((m) => ({
|
|
62
|
-
kind: "metal",
|
|
63
|
-
id: m.id,
|
|
64
|
-
name: m.hostname ?? m.reference,
|
|
65
|
-
status: m.is_active ? "active" : "inactive",
|
|
66
|
-
location: m.location_city ?? m.location_name ?? "",
|
|
67
|
-
project_name: m.project_name ?? "",
|
|
68
|
-
})),
|
|
69
70
|
...transit.map((t) => ({
|
|
70
71
|
kind: "transit",
|
|
71
72
|
id: t.id,
|
|
@@ -79,7 +80,7 @@ export default class Resources extends BaseCommand {
|
|
|
79
80
|
id: s.id,
|
|
80
81
|
name: s.name,
|
|
81
82
|
status: s.status,
|
|
82
|
-
location: s.
|
|
83
|
+
location: s.attached_resource_hostname ?? "",
|
|
83
84
|
project_name: s.project_name ?? "",
|
|
84
85
|
})),
|
|
85
86
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/commands/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,MAAM,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/commands/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export default class StorageAttach extends BaseCommand {
|
|
|
6
6
|
volume: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
-
|
|
9
|
+
resource: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
10
|
};
|
|
11
11
|
run(): Promise<void>;
|
|
12
12
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { Args, Flags } from "@oclif/core";
|
|
2
2
|
import { BaseCommand } from "../../base/command.js";
|
|
3
3
|
import { resolveVolume } from "../../ui/volume-resolve.js";
|
|
4
|
-
import {
|
|
4
|
+
import { resolveResourceRef } from "../../ui/resource-resolve.js";
|
|
5
5
|
export default class StorageAttach extends BaseCommand {
|
|
6
6
|
static description = [
|
|
7
|
-
"Attach a block volume to a VPS.",
|
|
7
|
+
"Attach a block volume to a virtualized resource (VPS, VDS, GPU Cloud, or Instant Metal).",
|
|
8
8
|
"",
|
|
9
9
|
"The volume must be detached and live on the same cluster/location as",
|
|
10
|
-
"the target
|
|
10
|
+
"the target resource. Re-attaching a volume re-binds its existing disk, so",
|
|
11
11
|
"data is preserved across detach/attach cycles.",
|
|
12
12
|
].join("\n");
|
|
13
13
|
static examples = [
|
|
14
|
-
"<%= config.bin %> storage attach backups --
|
|
15
|
-
"<%= config.bin %> storage attach 019e... --
|
|
16
|
-
"<%= config.bin %> storage attach 019e... --
|
|
14
|
+
"<%= config.bin %> storage attach backups --resource web-01 # by volume name + resource hostname",
|
|
15
|
+
"<%= config.bin %> storage attach 019e... --resource 019f...",
|
|
16
|
+
"<%= config.bin %> storage attach 019e... --resource 019f... -o json # emits {status, volume_id, resource_id, disk_slot}",
|
|
17
17
|
];
|
|
18
18
|
static args = {
|
|
19
19
|
volume: Args.string({
|
|
@@ -22,8 +22,8 @@ export default class StorageAttach extends BaseCommand {
|
|
|
22
22
|
}),
|
|
23
23
|
};
|
|
24
24
|
static flags = {
|
|
25
|
-
|
|
26
|
-
description: "Target
|
|
25
|
+
resource: Flags.string({
|
|
26
|
+
description: "Target resource — short id from `vps list` / `vds list` / `gpu list` / `instant-metal list`, full UUID, hostname, or IP. Must be on the volume's cluster.",
|
|
27
27
|
required: true,
|
|
28
28
|
}),
|
|
29
29
|
};
|
|
@@ -32,10 +32,10 @@ export default class StorageAttach extends BaseCommand {
|
|
|
32
32
|
const { args, flags } = await this.parse(StorageAttach);
|
|
33
33
|
try {
|
|
34
34
|
const volume = await resolveVolume(this.clients.api, args.volume);
|
|
35
|
-
const
|
|
36
|
-
const result = await this.clients.api.storage.attach(volume.id,
|
|
35
|
+
const resource = await resolveResourceRef(this.clients.api, flags.resource);
|
|
36
|
+
const result = await this.clients.api.storage.attach(volume.id, resource.id);
|
|
37
37
|
this.emit(result, () => {
|
|
38
|
-
this.log(`Attached ${volume.name} → ${
|
|
38
|
+
this.log(`Attached ${volume.name} → ${resource.hostname}`);
|
|
39
39
|
if (result.disk_slot)
|
|
40
40
|
this.log(`Disk slot: ${result.disk_slot}`);
|
|
41
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../src/commands/storage/attach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../src/commands/storage/attach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,WAAW,GAAG;QACnB,0FAA0F;QAC1F,EAAE;QACF,sEAAsE;QACtE,2EAA2E;QAC3E,gDAAgD;KACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,CAAC,QAAQ,GAAG;QAChB,2GAA2G;QAC3G,6DAA6D;QAC7D,0HAA0H;KAC3H,CAAC;IACF,MAAM,CAAC,IAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EACT,8EAA8E;YAChF,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,WAAW,EACT,2JAA2J;YAC7J,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC3D,IAAI,MAAM,CAAC,SAAS;oBAAE,IAAI,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { isInteractive } from "../../ui/wizard.js";
|
|
|
5
5
|
import { resolveVolume } from "../../ui/volume-resolve.js";
|
|
6
6
|
export default class StorageDetach extends BaseCommand {
|
|
7
7
|
static description = [
|
|
8
|
-
"Detach a block volume from its current
|
|
8
|
+
"Detach a block volume from its current resource.",
|
|
9
9
|
"",
|
|
10
10
|
"Disruptive if the guest still has the disk mounted — asks for",
|
|
11
11
|
"confirmation on a TTY (default No). When stdout is piped, pass --yes",
|
|
@@ -38,7 +38,7 @@ export default class StorageDetach extends BaseCommand {
|
|
|
38
38
|
exit: 1,
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
const target = volume.
|
|
41
|
+
const target = volume.attached_resource_hostname ? ` from ${volume.attached_resource_hostname}` : "";
|
|
42
42
|
const outcome = await confirmDestructive({
|
|
43
43
|
message: `Detach ${volume.name} (${volume.size_gb} GB)${target}?`,
|
|
44
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detach.js","sourceRoot":"","sources":["../../../src/commands/storage/detach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,WAAW,GAAG;QACnB,
|
|
1
|
+
{"version":3,"file":"detach.js","sourceRoot":"","sources":["../../../src/commands/storage/detach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,WAAW,GAAG;QACnB,kDAAkD;QAClD,EAAE;QACF,+DAA+D;QAC/D,sEAAsE;QACtE,oEAAoE;KACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,CAAC,QAAQ,GAAG;QAChB,uEAAuE;QACvE,+FAA+F;KAChG,CAAC;IACF,MAAM,CAAC,IAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EACT,4DAA4D;YAC9D,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kEAAkE;SAChF,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAElE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,mDAAmD,CAAC,EAAE;wBAClF,IAAI,EAAE,CAAC;qBACR,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;oBACvC,OAAO,EAAE,UAAU,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,OAAO,MAAM,GAAG;iBAClE,CAAC,CAAC;gBACH,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;oBAC5C,OAAO;gBACT,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC"}
|
|
@@ -28,7 +28,7 @@ export default class StorageList extends BaseCommand {
|
|
|
28
28
|
v.name,
|
|
29
29
|
formatSize(v.size_gb),
|
|
30
30
|
statusColor(v.status),
|
|
31
|
-
v.
|
|
31
|
+
v.attached_resource_hostname ?? (v.attached_resource_id ? shortId(v.attached_resource_id) : ""),
|
|
32
32
|
v.project_name ?? "",
|
|
33
33
|
])));
|
|
34
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/storage/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,WAAW,GAAG,6BAA6B,CAAC;IACnD,MAAM,CAAC,QAAQ,GAAG;QAChB,gCAAgC;QAChC,kDAAkD;QAClD,wCAAwC;KACzC,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;gBACD,MAAM,UAAU,GAAG,CAAC,EAAU,EAAU,EAAE,CACxC,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC;gBACjE,IAAI,CAAC,GAAG,CACN,WAAW,CACT,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,EAC1D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,CAAC,CAAC,IAAI;oBACN,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;oBACrB,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;oBACrB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/storage/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,WAAW,GAAG,6BAA6B,CAAC;IACnD,MAAM,CAAC,QAAQ,GAAG;QAChB,gCAAgC;QAChC,kDAAkD;QAClD,wCAAwC;KACzC,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;gBACD,MAAM,UAAU,GAAG,CAAC,EAAU,EAAU,EAAE,CACxC,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC;gBACjE,IAAI,CAAC,GAAG,CACN,WAAW,CACT,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,EAC1D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,CAAC,CAAC,IAAI;oBACN,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;oBACrB,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;oBACrB,CAAC,CAAC,0BAA0B,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/F,CAAC,CAAC,YAAY,IAAI,EAAE;iBACrB,CAAC,CACH,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC"}
|