import { DiskModel, MachineModel, MachinesModel, NetworkModel } from "../src"; import { config, getClient } from "./client_loader"; import { log } from "./utils"; // create network Object const n = new NetworkModel(); n.name = "wedtest"; n.ip_range = "10.249.0.0/16"; // create disk Object const disk = new DiskModel(); disk.name = "wedDisk"; disk.size = 8; disk.mountpoint = "/testdisk"; // create vm node Object const vm = new MachineModel(); vm.name = "testvm"; vm.node_id = 17; vm.disks = [disk]; vm.public_ip = false; vm.planetary = true; vm.cpu = 1; vm.memory = 1024 * 2; vm.rootfs_size = 0; vm.flist = "https://hub.grid.tf/tf-official-apps/base:latest.flist"; vm.entrypoint = "/sbin/zinit init"; vm.env = { SSH_KEY: config.ssh_key, }; // vm.ip = "10.249.2.5" // create a machine with specific private ip // create VMs Object const vms = new MachinesModel(); vms.name = "newVMS"; vms.network = n; vms.machines = [vm]; vms.metadata = ""; vms.description = "test deploying VMs via ts grid3 client"; async function main() { const grid3 = await getClient(); // deploy vms const res = await grid3.machines.deploy(vms); log(res); // get the deployment const l = await grid3.machines.getObj(vms.name); log(l); // // delete // const d = await grid3.machines.delete({ name: vms.name }); // log(d); await grid3.disconnect(); } main();