exoscale.compute.api.vm
Higher order functions to manipulate VMs
by-name
(by-name config vm)
The infamous name resolver, using listVirtualMachines since Cloudstack does not allow singular get calls
ensure-up
(ensure-up config target timeout)
Wait for machine to be up by probbing the SSH port. This assumes that inbound SSH is authorized
resolve-id
(resolve-id config target)
Yield a target VM id from a target definition (name, ID, or vm return)
resolve-indirect-params
(resolve-indirect-params config {:keys [zoneid zone serviceoffering template]})
sanitize-nic
(sanitize-nic {:keys [macaddress ipaddress ip6address], :as nic})
Keep relevant information for public NICs. We do not keep network IDs and name since this isn’t actionable information.
sanitize-template
(sanitize-template {:keys [templatename templateid]})
Rewrite template information to contain UUIDs
ssh
(ssh config target command)
Asynchronously reach out to a machine to execute an ssh command