@synteq/cli 0.2.0 → 1.1.1
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 +362 -5
- package/dist/api/client.js +559 -44
- package/dist/api/client.js.map +1 -1
- package/dist/api/factory.js +5 -2
- package/dist/api/factory.js.map +1 -1
- package/dist/api/types.d.ts +892 -3
- package/dist/apps-support/deploy.d.ts +197 -0
- package/dist/apps-support/deploy.js +639 -0
- package/dist/apps-support/deploy.js.map +1 -0
- package/dist/apps-support/dotenv.d.ts +67 -0
- package/dist/apps-support/dotenv.js +136 -0
- package/dist/apps-support/dotenv.js.map +1 -0
- package/dist/apps-support/env-rollout.d.ts +18 -0
- package/dist/apps-support/env-rollout.js +52 -0
- package/dist/apps-support/env-rollout.js.map +1 -0
- package/dist/apps-support/git.d.ts +14 -0
- package/dist/apps-support/git.js +25 -0
- package/dist/apps-support/git.js.map +1 -0
- package/dist/apps-support/link.d.ts +25 -0
- package/dist/apps-support/link.js +39 -0
- package/dist/apps-support/link.js.map +1 -0
- package/dist/apps-support/log-stream.d.ts +25 -0
- package/dist/apps-support/log-stream.js +85 -0
- package/dist/apps-support/log-stream.js.map +1 -0
- package/dist/apps-support/paid-app.d.ts +64 -0
- package/dist/apps-support/paid-app.js +195 -0
- package/dist/apps-support/paid-app.js.map +1 -0
- package/dist/apps-support/plans.d.ts +44 -0
- package/dist/apps-support/plans.js +43 -0
- package/dist/apps-support/plans.js.map +1 -0
- package/dist/apps-support/resolve.d.ts +10 -0
- package/dist/apps-support/resolve.js +53 -0
- package/dist/apps-support/resolve.js.map +1 -0
- package/dist/apps-support/time.d.ts +20 -0
- package/dist/apps-support/time.js +82 -0
- package/dist/apps-support/time.js.map +1 -0
- package/dist/auth/scope.js +4 -0
- package/dist/auth/scope.js.map +1 -1
- package/dist/auth/tokens.d.ts +3 -0
- package/dist/auth/tokens.js +6 -4
- package/dist/auth/tokens.js.map +1 -1
- package/dist/base/command.d.ts +35 -0
- package/dist/base/command.js +87 -4
- package/dist/base/command.js.map +1 -1
- package/dist/commands/agents.d.ts +10 -0
- package/dist/commands/agents.js +53 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/api.d.ts +0 -1
- package/dist/commands/api.js +6 -5
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/app/deployment/list.d.ts +14 -0
- package/dist/commands/app/deployment/list.js +45 -0
- package/dist/commands/app/deployment/list.js.map +1 -0
- package/dist/commands/app/deployment/rollback.d.ts +18 -0
- package/dist/commands/app/deployment/rollback.js +57 -0
- package/dist/commands/app/deployment/rollback.js.map +1 -0
- package/dist/commands/app/deployment/show.d.ts +26 -0
- package/dist/commands/app/deployment/show.js +98 -0
- package/dist/commands/app/deployment/show.js.map +1 -0
- package/dist/commands/app/domain/add.d.ts +17 -0
- package/dist/commands/app/domain/add.js +59 -0
- package/dist/commands/app/domain/add.js.map +1 -0
- package/dist/commands/app/domain/list.d.ts +14 -0
- package/dist/commands/app/domain/list.js +42 -0
- package/dist/commands/app/domain/list.js.map +1 -0
- package/dist/commands/app/domain/remove.d.ts +16 -0
- package/dist/commands/app/domain/remove.js +51 -0
- package/dist/commands/app/domain/remove.js.map +1 -0
- package/dist/commands/app/domain/verify.d.ts +15 -0
- package/dist/commands/app/domain/verify.js +39 -0
- package/dist/commands/app/domain/verify.js.map +1 -0
- package/dist/commands/app/env/add.d.ts +22 -0
- package/dist/commands/app/env/add.js +103 -0
- package/dist/commands/app/env/add.js.map +1 -0
- package/dist/commands/app/env/list.d.ts +17 -0
- package/dist/commands/app/env/list.js +40 -0
- package/dist/commands/app/env/list.js.map +1 -0
- package/dist/commands/app/env/reveal.d.ts +17 -0
- package/dist/commands/app/env/reveal.js +40 -0
- package/dist/commands/app/env/reveal.js.map +1 -0
- package/dist/commands/app/env/rm.d.ts +16 -0
- package/dist/commands/app/env/rm.js +48 -0
- package/dist/commands/app/env/rm.js.map +1 -0
- package/dist/commands/app/health.d.ts +14 -0
- package/dist/commands/app/health.js +40 -0
- package/dist/commands/app/health.js.map +1 -0
- package/dist/commands/app/index.d.ts +6 -0
- package/dist/commands/app/index.js +7 -0
- package/dist/commands/app/index.js.map +1 -0
- package/dist/commands/app/link.d.ts +22 -0
- package/dist/commands/app/link.js +31 -0
- package/dist/commands/app/link.js.map +1 -0
- package/dist/commands/app/logs.d.ts +25 -0
- package/dist/commands/app/logs.js +121 -0
- package/dist/commands/app/logs.js.map +1 -0
- package/dist/commands/app/metrics.d.ts +21 -0
- package/dist/commands/app/metrics.js +123 -0
- package/dist/commands/app/metrics.js.map +1 -0
- package/dist/commands/app/plan/change.d.ts +18 -0
- package/dist/commands/app/plan/change.js +79 -0
- package/dist/commands/app/plan/change.js.map +1 -0
- package/dist/commands/app/plan/show.d.ts +14 -0
- package/dist/commands/app/plan/show.js +40 -0
- package/dist/commands/app/plan/show.js.map +1 -0
- package/dist/commands/app/settings/set.d.ts +25 -0
- package/dist/commands/app/settings/set.js +96 -0
- package/dist/commands/app/settings/set.js.map +1 -0
- package/dist/commands/app/settings/show.d.ts +14 -0
- package/dist/commands/app/settings/show.js +48 -0
- package/dist/commands/app/settings/show.js.map +1 -0
- package/dist/commands/app/unlink.d.ts +8 -0
- package/dist/commands/app/unlink.js +25 -0
- package/dist/commands/app/unlink.js.map +1 -0
- package/dist/commands/apps/create.d.ts +26 -0
- package/dist/commands/apps/create.js +91 -0
- package/dist/commands/apps/create.js.map +1 -0
- package/dist/commands/apps/list.d.ts +16 -0
- package/dist/commands/apps/list.js +54 -0
- package/dist/commands/apps/list.js.map +1 -0
- package/dist/commands/baremetal/activity.d.ts +14 -0
- package/dist/commands/baremetal/activity.js +53 -0
- package/dist/commands/baremetal/activity.js.map +1 -0
- package/dist/commands/baremetal/bandwidth.d.ts +10 -0
- package/dist/commands/baremetal/bandwidth.js +86 -0
- package/dist/commands/baremetal/bandwidth.js.map +1 -0
- package/dist/commands/baremetal/console.d.ts +20 -0
- package/dist/commands/baremetal/console.js +72 -0
- package/dist/commands/baremetal/console.js.map +1 -0
- package/dist/commands/baremetal/details.d.ts +11 -0
- package/dist/commands/baremetal/details.js +116 -0
- package/dist/commands/baremetal/details.js.map +1 -0
- package/dist/commands/baremetal/index.d.ts +5 -0
- package/dist/commands/baremetal/index.js +6 -0
- package/dist/commands/baremetal/index.js.map +1 -0
- package/dist/commands/baremetal/install-password.d.ts +14 -0
- package/dist/commands/baremetal/install-password.js +80 -0
- package/dist/commands/baremetal/install-password.js.map +1 -0
- package/dist/commands/baremetal/list.d.ts +11 -0
- package/dist/commands/baremetal/list.js +59 -0
- package/dist/commands/baremetal/list.js.map +1 -0
- package/dist/commands/baremetal/order.d.ts +34 -0
- package/dist/commands/baremetal/order.js +394 -0
- package/dist/commands/baremetal/order.js.map +1 -0
- package/dist/commands/baremetal/power.d.ts +18 -0
- package/dist/commands/baremetal/power.js +168 -0
- package/dist/commands/baremetal/power.js.map +1 -0
- package/dist/commands/baremetal/reinstall.d.ts +21 -0
- package/dist/commands/baremetal/reinstall.js +168 -0
- package/dist/commands/baremetal/reinstall.js.map +1 -0
- package/dist/commands/config/profile/add.d.ts +11 -0
- package/dist/commands/config/profile/add.js +51 -0
- package/dist/commands/config/profile/add.js.map +1 -0
- package/dist/commands/config/profile/list.d.ts +7 -0
- package/dist/commands/config/profile/list.js +29 -0
- package/dist/commands/config/profile/list.js.map +1 -0
- package/dist/commands/config/profile/remove.d.ts +11 -0
- package/dist/commands/config/profile/remove.js +35 -0
- package/dist/commands/config/profile/remove.js.map +1 -0
- package/dist/commands/config/profile/use.d.ts +10 -0
- package/dist/commands/config/profile/use.js +44 -0
- package/dist/commands/config/profile/use.js.map +1 -0
- package/dist/commands/config/show.js +4 -1
- package/dist/commands/config/show.js.map +1 -1
- package/dist/commands/credits/add.js +2 -2
- package/dist/commands/credits/add.js.map +1 -1
- package/dist/commands/credits/index.js +5 -1
- package/dist/commands/credits/index.js.map +1 -1
- package/dist/commands/deploy.d.ts +51 -0
- package/dist/commands/deploy.js +515 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/function/create.d.ts +29 -0
- package/dist/commands/function/create.js +113 -0
- package/dist/commands/function/create.js.map +1 -0
- package/dist/commands/function/credits/add.d.ts +29 -0
- package/dist/commands/function/credits/add.js +209 -0
- package/dist/commands/function/credits/add.js.map +1 -0
- package/dist/commands/function/credits/auto-reload.d.ts +27 -0
- package/dist/commands/function/credits/auto-reload.js +107 -0
- package/dist/commands/function/credits/auto-reload.js.map +1 -0
- package/dist/commands/function/credits/index.d.ts +22 -0
- package/dist/commands/function/credits/index.js +80 -0
- package/dist/commands/function/credits/index.js.map +1 -0
- package/dist/commands/function/cron/add.d.ts +19 -0
- package/dist/commands/function/cron/add.js +74 -0
- package/dist/commands/function/cron/add.js.map +1 -0
- package/dist/commands/function/cron/list.d.ts +12 -0
- package/dist/commands/function/cron/list.js +55 -0
- package/dist/commands/function/cron/list.js.map +1 -0
- package/dist/commands/function/cron/rm.d.ts +17 -0
- package/dist/commands/function/cron/rm.js +73 -0
- package/dist/commands/function/cron/rm.js.map +1 -0
- package/dist/commands/function/cron/run.d.ts +16 -0
- package/dist/commands/function/cron/run.js +59 -0
- package/dist/commands/function/cron/run.js.map +1 -0
- package/dist/commands/function/cron/update.d.ts +21 -0
- package/dist/commands/function/cron/update.js +87 -0
- package/dist/commands/function/cron/update.js.map +1 -0
- package/dist/commands/function/delete.d.ts +23 -0
- package/dist/commands/function/delete.js +90 -0
- package/dist/commands/function/delete.js.map +1 -0
- package/dist/commands/function/deploy.d.ts +64 -0
- package/dist/commands/function/deploy.js +608 -0
- package/dist/commands/function/deploy.js.map +1 -0
- package/dist/commands/function/env/list.d.ts +12 -0
- package/dist/commands/function/env/list.js +46 -0
- package/dist/commands/function/env/list.js.map +1 -0
- package/dist/commands/function/env/reveal.d.ts +21 -0
- package/dist/commands/function/env/reveal.js +54 -0
- package/dist/commands/function/env/reveal.js.map +1 -0
- package/dist/commands/function/env/rm.d.ts +17 -0
- package/dist/commands/function/env/rm.js +62 -0
- package/dist/commands/function/env/rm.js.map +1 -0
- package/dist/commands/function/env/set.d.ts +28 -0
- package/dist/commands/function/env/set.js +124 -0
- package/dist/commands/function/env/set.js.map +1 -0
- package/dist/commands/function/index.d.ts +14 -0
- package/dist/commands/function/index.js +11 -0
- package/dist/commands/function/index.js.map +1 -0
- package/dist/commands/function/init.d.ts +47 -0
- package/dist/commands/function/init.js +269 -0
- package/dist/commands/function/init.js.map +1 -0
- package/dist/commands/function/invoke.d.ts +29 -0
- package/dist/commands/function/invoke.js +138 -0
- package/dist/commands/function/invoke.js.map +1 -0
- package/dist/commands/function/link.d.ts +23 -0
- package/dist/commands/function/link.js +80 -0
- package/dist/commands/function/link.js.map +1 -0
- package/dist/commands/function/list.d.ts +16 -0
- package/dist/commands/function/list.js +55 -0
- package/dist/commands/function/list.js.map +1 -0
- package/dist/commands/function/logs.d.ts +29 -0
- package/dist/commands/function/logs.js +171 -0
- package/dist/commands/function/logs.js.map +1 -0
- package/dist/commands/function/pause.d.ts +19 -0
- package/dist/commands/function/pause.js +50 -0
- package/dist/commands/function/pause.js.map +1 -0
- package/dist/commands/function/releases.d.ts +15 -0
- package/dist/commands/function/releases.js +62 -0
- package/dist/commands/function/releases.js.map +1 -0
- package/dist/commands/function/resume.d.ts +16 -0
- package/dist/commands/function/resume.js +47 -0
- package/dist/commands/function/resume.js.map +1 -0
- package/dist/commands/function/rollback.d.ts +18 -0
- package/dist/commands/function/rollback.js +69 -0
- package/dist/commands/function/rollback.js.map +1 -0
- package/dist/commands/function/settings/set.d.ts +23 -0
- package/dist/commands/function/settings/set.js +119 -0
- package/dist/commands/function/settings/set.js.map +1 -0
- package/dist/commands/function/show.d.ts +15 -0
- package/dist/commands/function/show.js +80 -0
- package/dist/commands/function/show.js.map +1 -0
- package/dist/commands/function/unlink.d.ts +9 -0
- package/dist/commands/function/unlink.js +34 -0
- package/dist/commands/function/unlink.js.map +1 -0
- package/dist/commands/link.d.ts +77 -0
- package/dist/commands/link.js +530 -0
- package/dist/commands/link.js.map +1 -0
- package/dist/commands/login.js +9 -0
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/order.js +3 -1
- package/dist/commands/order.js.map +1 -1
- package/dist/commands/payments/methods/delete.js +2 -2
- package/dist/commands/payments/methods/delete.js.map +1 -1
- package/dist/commands/resources.js +50 -7
- package/dist/commands/resources.js.map +1 -1
- package/dist/commands/status.d.ts +12 -0
- package/dist/commands/status.js +71 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/storage/detach.js +1 -1
- package/dist/commands/storage/detach.js.map +1 -1
- package/dist/commands/storage/list.js +6 -2
- package/dist/commands/storage/list.js.map +1 -1
- package/dist/commands/storage/order.d.ts +2 -0
- package/dist/commands/storage/order.js +100 -18
- package/dist/commands/storage/order.js.map +1 -1
- package/dist/commands/storage/resize.js +19 -6
- package/dist/commands/storage/resize.js.map +1 -1
- package/dist/commands/tickets/create.d.ts +2 -0
- package/dist/commands/tickets/create.js +40 -1
- package/dist/commands/tickets/create.js.map +1 -1
- package/dist/commands/tickets/download.d.ts +18 -0
- package/dist/commands/tickets/download.js +138 -0
- package/dist/commands/tickets/download.js.map +1 -0
- package/dist/commands/tickets/list.js +13 -7
- package/dist/commands/tickets/list.js.map +1 -1
- package/dist/commands/tickets/reply.d.ts +2 -0
- package/dist/commands/tickets/reply.js +33 -4
- package/dist/commands/tickets/reply.js.map +1 -1
- package/dist/commands/vds/order.js +72 -7
- package/dist/commands/vds/order.js.map +1 -1
- package/dist/commands/vps/console.js +14 -6
- package/dist/commands/vps/console.js.map +1 -1
- package/dist/commands/vps/details.js +7 -1
- package/dist/commands/vps/details.js.map +1 -1
- package/dist/commands/vps/ip/add.js +76 -9
- package/dist/commands/vps/ip/add.js.map +1 -1
- package/dist/commands/vps/list.js +13 -4
- package/dist/commands/vps/list.js.map +1 -1
- package/dist/commands/vps/order.d.ts +19 -0
- package/dist/commands/vps/order.js +179 -23
- package/dist/commands/vps/order.js.map +1 -1
- package/dist/commands/vps/power.js +2 -2
- package/dist/commands/vps/power.js.map +1 -1
- package/dist/commands/vps/reinstall.js +2 -2
- package/dist/commands/vps/reinstall.js.map +1 -1
- package/dist/commands/vps/resize.js +36 -13
- package/dist/commands/vps/resize.js.map +1 -1
- package/dist/commands/whoami.d.ts +5 -0
- package/dist/commands/whoami.js +8 -3
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config/paths.d.ts +1 -1
- package/dist/config/paths.js +6 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/store.d.ts +58 -0
- package/dist/config/store.js +84 -2
- package/dist/config/store.js.map +1 -1
- package/dist/functions-support/credits.d.ts +64 -0
- package/dist/functions-support/credits.js +181 -0
- package/dist/functions-support/credits.js.map +1 -0
- package/dist/functions-support/cron.d.ts +17 -0
- package/dist/functions-support/cron.js +99 -0
- package/dist/functions-support/cron.js.map +1 -0
- package/dist/functions-support/env.d.ts +23 -0
- package/dist/functions-support/env.js +44 -0
- package/dist/functions-support/env.js.map +1 -0
- package/dist/functions-support/link.d.ts +25 -0
- package/dist/functions-support/link.js +51 -0
- package/dist/functions-support/link.js.map +1 -0
- package/dist/functions-support/poll.d.ts +40 -0
- package/dist/functions-support/poll.js +109 -0
- package/dist/functions-support/poll.js.map +1 -0
- package/dist/functions-support/resolve.d.ts +3 -0
- package/dist/functions-support/resolve.js +31 -0
- package/dist/functions-support/resolve.js.map +1 -0
- package/dist/functions-support/runtime.d.ts +30 -0
- package/dist/functions-support/runtime.js +52 -0
- package/dist/functions-support/runtime.js.map +1 -0
- package/dist/functions-support/source.d.ts +92 -0
- package/dist/functions-support/source.js +343 -0
- package/dist/functions-support/source.js.map +1 -0
- package/dist/help/scope-aware-help.js +10 -1
- package/dist/help/scope-aware-help.js.map +1 -1
- package/dist/tui/App.js +10 -25
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/Menu.d.ts +3 -1
- package/dist/tui/components/Menu.js +7 -3
- package/dist/tui/components/Menu.js.map +1 -1
- package/dist/tui/router.d.ts +1 -1
- package/dist/tui/router.js.map +1 -1
- package/dist/tui/screens/Billing.js +56 -4
- package/dist/tui/screens/Billing.js.map +1 -1
- package/dist/tui/screens/Dashboard.js +8 -7
- package/dist/tui/screens/Dashboard.js.map +1 -1
- package/dist/tui/screens/Deploy.d.ts +2 -0
- package/dist/tui/screens/Deploy.js +912 -0
- package/dist/tui/screens/Deploy.js.map +1 -0
- package/dist/tui/screens/Order.js +359 -26
- package/dist/tui/screens/Order.js.map +1 -1
- package/dist/tui/screens/Resources.js +273 -31
- package/dist/tui/screens/Resources.js.map +1 -1
- package/dist/tui/screens/Tickets.js +18 -6
- package/dist/tui/screens/Tickets.js.map +1 -1
- package/dist/tui/screens/deployPreset.d.ts +20 -0
- package/dist/tui/screens/deployPreset.js +11 -0
- package/dist/tui/screens/deployPreset.js.map +1 -0
- package/dist/tui/screens/resources/AppDetail.d.ts +7 -0
- package/dist/tui/screens/resources/AppDetail.js +810 -0
- package/dist/tui/screens/resources/AppDetail.js.map +1 -0
- package/dist/tui/screens/resources/FunctionDetail.d.ts +7 -0
- package/dist/tui/screens/resources/FunctionDetail.js +751 -0
- package/dist/tui/screens/resources/FunctionDetail.js.map +1 -0
- package/dist/ui/attach.d.ts +15 -0
- package/dist/ui/attach.js +63 -0
- package/dist/ui/attach.js.map +1 -0
- package/dist/ui/baremetal-resolve.d.ts +10 -0
- package/dist/ui/baremetal-resolve.js +50 -0
- package/dist/ui/baremetal-resolve.js.map +1 -0
- package/dist/ui/confirm.js +1 -1
- package/dist/ui/confirm.js.map +1 -1
- package/dist/ui/cycle.d.ts +66 -0
- package/dist/ui/cycle.js +96 -0
- package/dist/ui/cycle.js.map +1 -0
- package/dist/ui/deploy-ui.d.ts +75 -0
- package/dist/ui/deploy-ui.js +243 -0
- package/dist/ui/deploy-ui.js.map +1 -0
- package/dist/ui/order-result.d.ts +4 -0
- package/dist/ui/order-result.js +32 -0
- package/dist/ui/order-result.js.map +1 -0
- package/dist/ui/payment-gate.d.ts +26 -0
- package/dist/ui/payment-gate.js +70 -0
- package/dist/ui/payment-gate.js.map +1 -0
- package/dist/ui/payment.js +10 -3
- package/dist/ui/payment.js.map +1 -1
- package/dist/ui/portal.d.ts +1 -1
- package/dist/ui/portal.js +7 -2
- package/dist/ui/portal.js.map +1 -1
- package/dist/ui/project-resolve.d.ts +25 -0
- package/dist/ui/project-resolve.js +31 -0
- package/dist/ui/project-resolve.js.map +1 -0
- package/dist/ui/render-mode.d.ts +5 -0
- package/dist/ui/render-mode.js +1 -1
- package/dist/ui/render-mode.js.map +1 -1
- package/dist/ui/resource-detail.js +0 -3
- package/dist/ui/resource-detail.js.map +1 -1
- package/dist/ui/resource-resolve.d.ts +9 -2
- package/dist/ui/resource-resolve.js +11 -4
- package/dist/ui/resource-resolve.js.map +1 -1
- package/dist/ui/spinner.d.ts +10 -1
- package/dist/ui/spinner.js +12 -3
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/table.d.ts +7 -0
- package/dist/ui/table.js +11 -0
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/tax.d.ts +10 -0
- package/dist/ui/tax.js +31 -0
- package/dist/ui/tax.js.map +1 -0
- package/dist/ui/ticket-resolve.d.ts +9 -1
- package/dist/ui/ticket-resolve.js +13 -2
- package/dist/ui/ticket-resolve.js.map +1 -1
- package/dist/ui/volume-resolve.js +4 -1
- package/dist/ui/volume-resolve.js.map +1 -1
- package/dist/ui/wait.d.ts +4 -0
- package/dist/ui/wait.js +7 -2
- package/dist/ui/wait.js.map +1 -1
- package/dist/ui/wizard.d.ts +2 -1
- package/dist/ui/wizard.js +1 -1
- package/dist/ui/wizard.js.map +1 -1
- package/dist/version-check-bin.js +2 -2
- package/dist/version-check-bin.js.map +1 -1
- package/dist/version-check.d.ts +5 -0
- package/dist/version-check.js +6 -1
- package/dist/version-check.js.map +1 -1
- package/package.json +53 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bandwidth.js","sourceRoot":"","sources":["../../../src/commands/baremetal/bandwidth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base/command.js";
|
|
2
|
+
import type { BaremetalService } from "../../api/types.js";
|
|
3
|
+
/** The portal page that brokers and renders a bare metal BMC console. */
|
|
4
|
+
export declare function consolePagePath(serviceId: string): string;
|
|
5
|
+
export declare function consolePayload(server: BaremetalService, url: string): {
|
|
6
|
+
available: true;
|
|
7
|
+
console_type: "vnc";
|
|
8
|
+
url: string;
|
|
9
|
+
server_id: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function consoleLines(server: BaremetalService, url: string): string[];
|
|
12
|
+
export default class BaremetalConsole extends BaseCommand {
|
|
13
|
+
static description: string;
|
|
14
|
+
static apiKeyScope: string;
|
|
15
|
+
static examples: string[];
|
|
16
|
+
static args: {
|
|
17
|
+
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Args } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../base/command.js";
|
|
3
|
+
import { resolveBaremetalRef, labelFor } from "../../ui/baremetal-resolve.js";
|
|
4
|
+
import { dim } from "../../ui/glyphs.js";
|
|
5
|
+
import { panel } from "../../ui/wizard.js";
|
|
6
|
+
import { portalUrl } from "../../ui/portal.js";
|
|
7
|
+
/** The portal page that brokers and renders a bare metal BMC console. */
|
|
8
|
+
export function consolePagePath(serviceId) {
|
|
9
|
+
return `/console/baremetal/${serviceId}`;
|
|
10
|
+
}
|
|
11
|
+
// Pure payload/line builders, exported so tests assert on the ACTUAL printed
|
|
12
|
+
// text without driving the full oclif lifecycle.
|
|
13
|
+
export function consolePayload(server, url) {
|
|
14
|
+
return { available: true, console_type: "vnc", url, server_id: server.id };
|
|
15
|
+
}
|
|
16
|
+
export function consoleLines(server, url) {
|
|
17
|
+
return [
|
|
18
|
+
panel(`Open the console for ${labelFor(server)} in a browser`, [
|
|
19
|
+
["Type", "graphical (BMC KVM over VNC)"],
|
|
20
|
+
["URL", url],
|
|
21
|
+
]),
|
|
22
|
+
dim("Bare metal consoles are brokered by the portal (ILA Site Agent → Console Server) and rendered with noVNC — the CLI can't attach a terminal to them."),
|
|
23
|
+
dim(`The console works on a powered-off machine too: ${"`"}synteq baremetal power ${server.id}${"`"} shows live state.`),
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
export default class BaremetalConsole extends BaseCommand {
|
|
27
|
+
// A bare metal server's console is the BMC's KVM, brokered by ILA: the
|
|
28
|
+
// portal asks the server's Site Agent for a console session, Console
|
|
29
|
+
// Server tunnels the BMC's VNC stream, and the portal relays it to the
|
|
30
|
+
// browser over a ticketed WebSocket (backend: routers/customer/
|
|
31
|
+
// baremetal_console.py). Nothing here talks to the BMC, and the CLI
|
|
32
|
+
// never sees a session credential — it resolves the server and prints
|
|
33
|
+
// the portal page that does all of that, exactly like `vps console`'s
|
|
34
|
+
// graphical (VNC) branch, which also hands off to the browser.
|
|
35
|
+
static description = [
|
|
36
|
+
"Open a bare metal server's BMC console (graphical, via the portal).",
|
|
37
|
+
"",
|
|
38
|
+
"Physical servers expose a KVM console through their BMC. The portal",
|
|
39
|
+
"brokers a session with ILA and renders it in the browser (noVNC), so",
|
|
40
|
+
"this command resolves the server and prints the console URL — the same",
|
|
41
|
+
"hand-off `vps console` does for graphical consoles. Works whether the",
|
|
42
|
+
"machine is on or off.",
|
|
43
|
+
].join("\n");
|
|
44
|
+
static apiKeyScope = "none";
|
|
45
|
+
static examples = [
|
|
46
|
+
"<%= config.bin %> baremetal console 019e... # print the portal console URL",
|
|
47
|
+
"<%= config.bin %> baremetal console web-01 -o json # {available, console_type, url, server_id}",
|
|
48
|
+
];
|
|
49
|
+
static args = {
|
|
50
|
+
id: Args.string({
|
|
51
|
+
description: "Server id (full or the short id from `baremetal list`), hostname, reference, or IP.",
|
|
52
|
+
required: true,
|
|
53
|
+
}),
|
|
54
|
+
};
|
|
55
|
+
async run() {
|
|
56
|
+
await this.initClients();
|
|
57
|
+
const { args } = await this.parse(BaremetalConsole);
|
|
58
|
+
try {
|
|
59
|
+
const server = await resolveBaremetalRef(this.clients.api, args.id);
|
|
60
|
+
const apiBase = this.clients.config.get().api_base_url;
|
|
61
|
+
const url = portalUrl(apiBase, consolePagePath(server.id));
|
|
62
|
+
this.emit(consolePayload(server, url), () => {
|
|
63
|
+
for (const line of consoleLines(server, url))
|
|
64
|
+
this.log(line);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
this.fail(err);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/commands/baremetal/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base/command.js";
|
|
2
|
+
export default class BaremetalDetails extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static apiKeyScope: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static args: {
|
|
7
|
+
id: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
private pickFrom;
|
|
11
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { Args } from "@oclif/core";
|
|
2
|
+
import select from "@inquirer/select";
|
|
3
|
+
import { BaseCommand } from "../../base/command.js";
|
|
4
|
+
import { resolveBaremetal, labelFor } from "../../ui/baremetal-resolve.js";
|
|
5
|
+
import { panel } from "../../ui/wizard.js";
|
|
6
|
+
import { shortId } from "../../ui/table.js";
|
|
7
|
+
import { statusColor } from "../../ui/glyphs.js";
|
|
8
|
+
export default class BaremetalDetails extends BaseCommand {
|
|
9
|
+
static description = "Show full details for one bare metal server. With no id, pick from a list.";
|
|
10
|
+
static apiKeyScope = "read:baremetal";
|
|
11
|
+
static examples = [
|
|
12
|
+
"<%= config.bin %> baremetal details # pick from a list (TTY)",
|
|
13
|
+
"<%= config.bin %> baremetal details web-01 # by hostname or reference",
|
|
14
|
+
"<%= config.bin %> baremetal details 019f155b # by short id",
|
|
15
|
+
"<%= config.bin %> baremetal details 192.0.2.45 -o json # by IP, as JSON",
|
|
16
|
+
];
|
|
17
|
+
static args = {
|
|
18
|
+
id: Args.string({
|
|
19
|
+
description: "Server — short id, full UUID, hostname, reference, or IP. Omit on a TTY to pick from a list.",
|
|
20
|
+
}),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
await this.initClients();
|
|
24
|
+
const { args } = await this.parse(BaremetalDetails);
|
|
25
|
+
const isTty = process.stdout.isTTY && process.stdin.isTTY;
|
|
26
|
+
try {
|
|
27
|
+
const all = await this.clients.api.baremetal.list();
|
|
28
|
+
if (all.length === 0) {
|
|
29
|
+
this.error("No bare metal servers.", { exit: 1 });
|
|
30
|
+
}
|
|
31
|
+
let chosen;
|
|
32
|
+
if (!args.id) {
|
|
33
|
+
if (!isTty || this.outputFormat === "json") {
|
|
34
|
+
this.error("Provide a server id / hostname / reference / IP (a picker only runs on an interactive terminal).", { exit: 1 });
|
|
35
|
+
}
|
|
36
|
+
chosen = await this.pickFrom(all, "Pick a bare metal server");
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const matches = resolveBaremetal(all, args.id);
|
|
40
|
+
if (matches.length === 0) {
|
|
41
|
+
this.error(`No server matches "${args.id}". Run \`synteq baremetal list\` to see ids.`, { exit: 1 });
|
|
42
|
+
}
|
|
43
|
+
if (matches.length === 1) {
|
|
44
|
+
chosen = matches[0];
|
|
45
|
+
}
|
|
46
|
+
else if (!isTty || this.outputFormat === "json") {
|
|
47
|
+
this.error(`"${args.id}" matched ${matches.length} servers. Refine the query or use a full id.`, { exit: 1 });
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
chosen = await this.pickFrom(matches, `"${args.id}" matched ${matches.length} — pick one`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
this.emit(chosen, () => this.log(formatDetail(chosen)));
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
this.fail(err);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async pickFrom(list, message) {
|
|
60
|
+
const id = await select({
|
|
61
|
+
message,
|
|
62
|
+
pageSize: Math.min(12, list.length),
|
|
63
|
+
choices: list.map((s) => ({
|
|
64
|
+
name: `${shortId(s.id)} ${labelFor(s).padEnd(24)} ${statusColor(s.is_active ? "active" : "inactive")}`,
|
|
65
|
+
value: s.id,
|
|
66
|
+
description: s.primary_ipv4 ?? undefined,
|
|
67
|
+
})),
|
|
68
|
+
});
|
|
69
|
+
return list.find((s) => s.id === id);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function formatDetail(s) {
|
|
73
|
+
const sections = [];
|
|
74
|
+
const addPanel = (title, rows) => {
|
|
75
|
+
const hasValue = rows.some(([, v]) => v !== undefined && v !== "");
|
|
76
|
+
if (!hasValue)
|
|
77
|
+
return;
|
|
78
|
+
sections.push(panel(title, rows));
|
|
79
|
+
};
|
|
80
|
+
addPanel(`${labelFor(s)} — ${statusColor(s.is_active ? (s.ila_reachable === false ? "unreachable" : "active") : "inactive")}`, [
|
|
81
|
+
["Id", s.id],
|
|
82
|
+
["Reference", s.reference],
|
|
83
|
+
["Location", s.location_city ?? s.location_name ?? undefined],
|
|
84
|
+
["Project", s.project_name ?? undefined],
|
|
85
|
+
["ILA managed", s.ila_managed ? "yes" : "no"],
|
|
86
|
+
]);
|
|
87
|
+
const hw = s.hardware;
|
|
88
|
+
const cpuLine = s.cpu_model
|
|
89
|
+
? `${s.cpu_model}${s.cpu_cores != null ? ` (${s.cpu_cores} cores)` : ""}`
|
|
90
|
+
: s.cpu_cores != null
|
|
91
|
+
? `${s.cpu_cores} cores`
|
|
92
|
+
: undefined;
|
|
93
|
+
addPanel("Hardware", [
|
|
94
|
+
["CPU", cpuLine],
|
|
95
|
+
["RAM", s.ram_gb != null ? `${s.ram_gb} GB` : undefined],
|
|
96
|
+
["Storage", s.storage_summary ?? undefined],
|
|
97
|
+
["GPU", hw?.summary ? hw.summary.gpu : undefined],
|
|
98
|
+
["Rack", s.rack_name ? `${s.rack_name}${s.rack_position != null ? ` (U${s.rack_position})` : ""}` : undefined],
|
|
99
|
+
]);
|
|
100
|
+
const ipRows = (s.ip_addresses ?? []).map((ip, i) => [
|
|
101
|
+
i === 0 ? "IP addresses" : "",
|
|
102
|
+
ip,
|
|
103
|
+
]);
|
|
104
|
+
addPanel("Network", [
|
|
105
|
+
["Primary IPv4", s.primary_ipv4 ?? undefined],
|
|
106
|
+
["Primary IPv6", s.primary_ipv6 ?? undefined],
|
|
107
|
+
...ipRows,
|
|
108
|
+
]);
|
|
109
|
+
addPanel("Billing", [
|
|
110
|
+
["Created", s.created_at?.slice(0, 10)],
|
|
111
|
+
["Next due", s.next_due?.slice(0, 10)],
|
|
112
|
+
["Monthly", s.monthly_price != null ? `$${s.monthly_price}` : undefined],
|
|
113
|
+
]);
|
|
114
|
+
return sections.join("\n\n");
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/commands/baremetal/details.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import BaremetalList from "./list.js";
|
|
2
|
+
export default class BaremetalDefault extends BaremetalList {
|
|
3
|
+
static description = "Bare metal (physical, ILA-managed dedicated servers) — list, details, power, reinstall, install-password, order. Bare `synteq baremetal` lists them.";
|
|
4
|
+
static apiKeyScope = "read:baremetal";
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/baremetal/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,WAAW,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,aAAa;IACzD,MAAM,CAAC,WAAW,GAChB,sJAAsJ,CAAC;IACzJ,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base/command.js";
|
|
2
|
+
export default class BaremetalInstallPassword extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static apiKeyScope: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static args: {
|
|
7
|
+
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
static flags: {
|
|
10
|
+
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
check: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../base/command.js";
|
|
3
|
+
import { resolveBaremetalRef, labelFor } from "../../ui/baremetal-resolve.js";
|
|
4
|
+
import { panel } from "../../ui/wizard.js";
|
|
5
|
+
import { isInteractive, confirmAction } from "../../ui/wizard.js";
|
|
6
|
+
import { dim } from "../../ui/glyphs.js";
|
|
7
|
+
export default class BaremetalInstallPassword extends BaseCommand {
|
|
8
|
+
static description = [
|
|
9
|
+
"Reveal the one-time install password set during provisioning.",
|
|
10
|
+
"",
|
|
11
|
+
"The password is kept for 7 days after installation and can be read",
|
|
12
|
+
"more than once in that window (it is not burned on first read — a",
|
|
13
|
+
"mistimed click or refresh must not destroy the only copy). Every",
|
|
14
|
+
"read is logged. After 7 days it is gone and this command 404s.",
|
|
15
|
+
"Without --yes, asks for confirmation on a TTY before revealing.",
|
|
16
|
+
].join("\n");
|
|
17
|
+
// Session-only server-side: POST .../install-password/reveal dispenses a
|
|
18
|
+
// root credential and matches no rule in the backend's _API_KEY_RULES —
|
|
19
|
+
// deliberately outside the bare-metal key surface of read/power/settings.
|
|
20
|
+
// (The read-only --check path WOULD be reachable under read:baremetal, but
|
|
21
|
+
// the command's primary action is the reveal; scope to the stricter one.)
|
|
22
|
+
static apiKeyScope = "none";
|
|
23
|
+
static examples = [
|
|
24
|
+
"<%= config.bin %> baremetal install-password 019e... # confirms, then prints it",
|
|
25
|
+
"<%= config.bin %> baremetal install-password 019e... --yes # no prompt",
|
|
26
|
+
"<%= config.bin %> baremetal install-password 019e... --check # just check availability, don't reveal",
|
|
27
|
+
"<%= config.bin %> baremetal install-password 019e... --yes -o json",
|
|
28
|
+
];
|
|
29
|
+
static args = {
|
|
30
|
+
id: Args.string({
|
|
31
|
+
description: "Server id (full or the short id from `baremetal list`), hostname, reference, or IP.",
|
|
32
|
+
required: true,
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
static flags = {
|
|
36
|
+
yes: Flags.boolean({
|
|
37
|
+
char: "y",
|
|
38
|
+
description: "Skip the confirmation prompt. Required when stdout is not a TTY.",
|
|
39
|
+
}),
|
|
40
|
+
check: Flags.boolean({
|
|
41
|
+
description: "Only report whether a password is still available — don't reveal it.",
|
|
42
|
+
}),
|
|
43
|
+
};
|
|
44
|
+
async run() {
|
|
45
|
+
await this.initClients();
|
|
46
|
+
const { args, flags } = await this.parse(BaremetalInstallPassword);
|
|
47
|
+
try {
|
|
48
|
+
const server = await resolveBaremetalRef(this.clients.api, args.id);
|
|
49
|
+
if (flags.check) {
|
|
50
|
+
const status = await this.clients.api.baremetal.installPasswordStatus(server.id);
|
|
51
|
+
this.emit(status, () => {
|
|
52
|
+
this.log(status.available
|
|
53
|
+
? `An install password is available for ${labelFor(server)}. Run without --check to reveal it.`
|
|
54
|
+
: `No install password available for ${labelFor(server)} (never set, or past its 7-day window).`);
|
|
55
|
+
});
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (!flags.yes) {
|
|
59
|
+
if (!(isInteractive() && this.outputFormat === "table")) {
|
|
60
|
+
this.error("Revealing the install password needs confirmation — re-run with --yes (can't prompt with piped or -o json output).", { exit: 1 });
|
|
61
|
+
}
|
|
62
|
+
const go = await confirmAction(`Reveal the install password for ${labelFor(server)}? This is logged.`, false);
|
|
63
|
+
if (!go) {
|
|
64
|
+
this.log("Aborted — password not revealed.");
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const out = await this.clients.api.baremetal.revealInstallPassword(server.id);
|
|
69
|
+
this.emit(out, () => {
|
|
70
|
+
this.log(panel(labelFor(server), [["Install password", out.password]]));
|
|
71
|
+
this.log("");
|
|
72
|
+
this.log(dim("This was recorded in the server's activity log."));
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
this.fail(err);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=install-password.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-password.js","sourceRoot":"","sources":["../../../src/commands/baremetal/install-password.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base/command.js";
|
|
2
|
+
export default class BaremetalList extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static apiKeyScope: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
hostname: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
ip: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../base/command.js";
|
|
3
|
+
import { renderTable, shortId, truncationNote } from "../../ui/table.js";
|
|
4
|
+
import { statusColor } from "../../ui/glyphs.js";
|
|
5
|
+
import { labelFor } from "../../ui/baremetal-resolve.js";
|
|
6
|
+
export default class BaremetalList extends BaseCommand {
|
|
7
|
+
static description = "List your bare metal (physical, ILA-managed) servers.";
|
|
8
|
+
static apiKeyScope = "read:baremetal";
|
|
9
|
+
static examples = [
|
|
10
|
+
"<%= config.bin %> baremetal list",
|
|
11
|
+
"<%= config.bin %> baremetal list --hostname web",
|
|
12
|
+
"<%= config.bin %> baremetal list -o json",
|
|
13
|
+
];
|
|
14
|
+
static flags = {
|
|
15
|
+
hostname: Flags.string({ description: "Filter to servers whose hostname or reference matches (substring)." }),
|
|
16
|
+
ip: Flags.string({ description: "Filter to servers whose IPs contain this substring." }),
|
|
17
|
+
};
|
|
18
|
+
async run() {
|
|
19
|
+
await this.initClients();
|
|
20
|
+
const { flags } = await this.parse(BaremetalList);
|
|
21
|
+
try {
|
|
22
|
+
// /baremetal is paged (50/200, portal #419); its `q=` matches
|
|
23
|
+
// hostname / reference / primary IP / id, so hand it the filter and
|
|
24
|
+
// re-apply the same substring rules on the page.
|
|
25
|
+
const page = await this.clients.api.baremetal.listPage({ q: flags.hostname ?? flags.ip });
|
|
26
|
+
let servers = page.items;
|
|
27
|
+
if (flags.hostname) {
|
|
28
|
+
const needle = flags.hostname.toLowerCase();
|
|
29
|
+
servers = servers.filter((s) => (s.hostname ?? "").toLowerCase().includes(needle) ||
|
|
30
|
+
s.reference.toLowerCase().includes(needle));
|
|
31
|
+
}
|
|
32
|
+
if (flags.ip) {
|
|
33
|
+
const needle = flags.ip.toLowerCase();
|
|
34
|
+
servers = servers.filter((s) => (s.ip_addresses ?? []).some((ip) => ip.toLowerCase().includes(needle)));
|
|
35
|
+
}
|
|
36
|
+
const note = truncationNote(page.items.length, page.total, "--hostname / --ip");
|
|
37
|
+
this.emit(servers, () => {
|
|
38
|
+
if (servers.length === 0) {
|
|
39
|
+
this.log("No bare metal servers.");
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.log(renderTable(["ID", "NAME", "STATUS", "IP", "LOCATION", "PROJECT"], servers.map((s) => [
|
|
43
|
+
shortId(s.id),
|
|
44
|
+
labelFor(s),
|
|
45
|
+
statusColor(s.is_active ? (s.ila_reachable === false ? "unreachable" : "active") : "inactive"),
|
|
46
|
+
s.primary_ipv4 ?? s.ip_addresses?.[0] ?? "",
|
|
47
|
+
s.location_city ?? s.location_name ?? "",
|
|
48
|
+
s.project_name ?? "",
|
|
49
|
+
])));
|
|
50
|
+
});
|
|
51
|
+
if (note)
|
|
52
|
+
this.info(note);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
this.fail(err);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/baremetal/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base/command.js";
|
|
2
|
+
import type { BaremetalCatalogOffer, BaremetalOrderSpec, PreviewOrderOut } from "../../api/types.js";
|
|
3
|
+
export declare function buildNoStockLines(apiBaseUrl: string): string[];
|
|
4
|
+
export declare function buildOrderSpecFromFlags(flags: {
|
|
5
|
+
offering: string;
|
|
6
|
+
project?: string;
|
|
7
|
+
hostname: string;
|
|
8
|
+
"install-profile"?: string;
|
|
9
|
+
"ssh-key"?: string;
|
|
10
|
+
"ssh-public-key"?: string;
|
|
11
|
+
}): BaremetalOrderSpec;
|
|
12
|
+
export declare function buildTaxedTotalRows(preview: PreviewOrderOut | null, netFirstInvoice: number): [string, string][];
|
|
13
|
+
export default class BaremetalOrder extends BaseCommand {
|
|
14
|
+
static description: string;
|
|
15
|
+
static apiKeyScope: string;
|
|
16
|
+
static examples: string[];
|
|
17
|
+
static flags: {
|
|
18
|
+
gpu: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
offering: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
hostname: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
"install-profile": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
"ssh-key": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
"ssh-public-key": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
"payment-method": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
"apply-credits": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
27
|
+
"no-interactive": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
28
|
+
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
29
|
+
};
|
|
30
|
+
run(): Promise<void>;
|
|
31
|
+
private printNoStock;
|
|
32
|
+
private runWizard;
|
|
33
|
+
}
|
|
34
|
+
export declare function isGpuOffer(o: BaremetalCatalogOffer): boolean;
|