import * as plugins from './plugins.js'; import { CliClient } from './classes.cliclient.js'; export const runCli = async () => { const cliQenv = new plugins.qenv.Qenv(); const cloudlyUrl = await cliQenv.getEnvVarOnDemand('CLOUDLY_URL'); const token = process.env.CLOUDLY_TOKEN; const username = process.env.CLOUDLY_USERNAME; const password = process.env.CLOUDLY_PASSWORD; const apiClient = new plugins.servezoneApi.CloudlyApiClient({ registerAs: 'cli', cloudlyUrl, }); await apiClient.start(); if (token) { await apiClient.getIdentityByToken(token, { tagConnection: true, statefullIdentity: true }); } else if (username && password) { await apiClient.loginWithUsernameAndPassword(username, password); } else { console.log('No credentials provided. Set CLOUDLY_TOKEN or CLOUDLY_USERNAME/CLOUDLY_PASSWORD.'); } const cliClient = new CliClient(apiClient); // Default action example: list clusters when invoked without subcommands await cliClient.getClusters(); };