Kvindo™ Cloud Docs


Language

Virtual Machine

A Virtual Machine (VM) is a cloud compute resource that provides isolated processing capacity with dedicated vCPUs and RAM. VMs run your workloads on shared physical hardware while remaining fully isolated from other tenants.

Key concepts

• Offer — the compute flavour (offerId) that fixes the vCPUs, RAM, and CPU share. Changing a VM's offer or CPU generation automatically stops and restarts the VM

• Boot disk — the VM boots from an attached Volume seeded with an OS image (osImageId)

• Subnet — the VPC subnet the VM's primary NIC lands in; the VM gets a private IP from its range

• Floating IP — optional public IPv4 address attached to the VM

• Security Group — firewall rules controlling inbound and outbound traffic

• SSH Key — public key injected into a Linux VM's authorized_keys at creation

• OS type — linux (SSH-key login) or windows (auto-generated Administrator password). Note: the public offer catalog currently has no Windows image at all, so windows cannot actually be provisioned yet

Parameters
UI Name API / kc name Terraform name Optional Format Default Is read only Description
VPC Subnet spec.vpcSubnetId spec.vpc_subnet_id Yes ULID (nullable) — references a VPC Subnet — No Subnet the VM's primary NIC lands in (immutable after creation)
Floating IP spec.floatingIpId spec.floating_ip_id Yes ULID (nullable) — references a Floating IP — No Public IPv4 to associate with the VM
Boot volume attachment spec.boot_volume_attachment Yes object (nullable) — { volume_id: ULID } — No Terraform-only convenience field: attaches an existing Volume as the boot disk directly inside the VM resource. No JSON/API/kc equivalent — the REST API, kc, and the Python SDK attach the boot Volume via a separate VolumeAttachment resource instead
Offer spec.offerId spec.offer_id Yes string (≤32 chars) — No Compute flavour — there is no server-side default, so pass one explicitly (e.g. g3-1c1-100 = 1 core / 1 GB / 100% CPU); see Console → Compute for options. The CPU generation encoded in the offer (the g3/c3 prefix) is immutable after creation; the offer can otherwise be changed on modify
Image spec.imageId spec.image_id Yes ULID (nullable) — references an Image — No Restore the VM from a captured backup Image (immutable after creation). Omit for a fresh VM — the OS comes from the boot Volume's osImageId
Image boot volume index spec.imageBootVolumeDeviceIndex spec.image_boot_volume_device_index Yes integer (nullable) — No When restoring from an Image, which of its volumes becomes the boot disk. Required when imageId is set
SSH Keys spec.sshKeyIds spec.ssh_key_ids Yes list of ULID — references SSH Keys [] No Public keys injected into the (Linux) VM
Security Groups spec.securityGroupIds spec.security_group_ids Yes list of ULID — references Security Groups [] No Firewall rules applied to the VM
Image Schedules spec.imageScheduleIds spec.image_schedule_ids Yes list of ULID — references Image Schedules [] No Automatic backup-image schedules attached to the VM
On/Off Schedules spec.onOffScheduleIds spec.on_off_schedule_ids Yes list of ULID — references VM On/Off Schedules [] No Schedules that power the VM on or off automatically
Command Schedules spec.commandScheduleIds spec.command_schedule_ids Yes list of ULID — references VM Command Schedules [] No Commands run inside the VM on a recurring schedule
OS Type spec.osType spec.os_type Yes string (nullable) linux No linux (SSH keys) or windows (auto-generated Administrator password). Note: the public offer catalog currently has no Windows image at all, so windows cannot actually be provisioned yet
VM State spec.vmState spec.vm_state Yes string (nullable) — running / stopped running No Desired power state of the VM: running or stopped. Set it to stopped to power the VM off and back to running to start it again
Bootstrap command spec.bootstrapCommand spec.bootstrap_command Yes object (nullable) — No Command run at first boot. The VM reports execution results back; see status.bootstrapCommand below
Command spec.bootstrapCommand.command spec.bootstrap_command.command Yes string — No Command run at first boot
Private IPv4 status.privateIpv4 status.private_ipv4 — string (nullable) — Yes Private IPv4 assigned from the subnet range
Public IPv4 status.publicIpv4 status.public_ipv4 — string (nullable) — Yes Public IPv4 (when a Floating IP is attached)
Private IPv6 status.privateIpv6 status.private_ipv6 — string (nullable) — Yes Private IPv6 of the VM. IPv6 is not yet implemented — reserved for future use
Public IPv6 status.publicIpv6 status.public_ipv6 — string (nullable) — Yes Public IPv6 of the VM. IPv6 is not yet implemented — reserved for future use
Windows password status.windowsAdministratorPassword status.windows_administrator_password — string (nullable, sensitive) — Yes Auto-generated Administrator password for Windows VMs
Bootstrap command result status.bootstrapCommand status.bootstrap_command — object (nullable) — Yes Result of executing the bootstrap command; null if no bootstrap command is set on the VM
Return code status.bootstrapCommand.returnCode status.bootstrap_command.return_code — integer (nullable) — Yes Exit code of the bootstrap command, reported back by the VM after it runs
Output status.bootstrapCommand.output status.bootstrap_command.output — string (nullable, ≤10000 chars) — Yes Combined stdout+stderr of the bootstrap command; truncated in the middle if longer than 10000 characters
Duration status.bootstrapCommand.durationMs status.bootstrap_command.duration_ms — integer (nullable) — Yes How long the bootstrap command took to run, in milliseconds
Networking

Every VM is attached to a VPC subnet and receives a private IP from the subnet CIDR. To expose the VM to the internet, attach a Floating IP. To control traffic at the VM level attach a Security Group (a stateful firewall whose rules apply to all traffic in and out of the VM).

Storage

A VM boots from an attached Volume seeded with an OS image. Additional block storage can be attached as further Volumes via Volume Attachments. Volumes are independent of the VM lifetime and can be re-attached after the VM is deleted.

Images & backups

Capture a VM's disks into an Image for backup or cloning — on demand, or automatically with an Image Schedule. To restore, create a VM with its imageId set to a captured Image. (The base OS of a fresh VM comes from its boot Volume's osImageId, not from imageId.)

Pricing

VMs are billed based on the selected offer (vCPU + RAM). The monthly price is shown on the VM overview card. Billing starts when the VM reaches the stable state and stops when it is deleted; it's billed hourly, and the hour it's deleted in is charged in full. VM counts, vCPUs, and RAM are governed by organization Quotas. Per-generation VM counts are tracked as a separate quota — the C3Count quota parameter defaults to 0, meaning c3-generation VM creation is blocked until an admin raises it. c3 offers currently exist only in the g-ru-msk-1 region — no other region has c3 hardware.

Troubleshooting

If a VM is stuck in reconciling, check status.lastChangeRequest.errorMessage. Common causes: image not found on the target provider, provider-level quota exceeded, or a network provisioning timeout.

• SSH unreachable — check that the Security Group allows inbound TCP 22 from your IP, and that the Floating IP is attached

• UnableToReconcile — the last change request failed; the error is shown in the Last Change Request panel

Examples

A VM with a public floating IP, an SSH key, and a boot volume seeded with an OS image. (Create the network first — see the Networking example.)

Terraform

Python SDK

kc CLI


Related pages

Examples

More in this section

An unhandled error has occurred. Reload 🗙