> ## Documentation Index
> Fetch the complete documentation index at: https://biznetgio.creations.ren/llms.txt
> Use this file to discover all available pages before exploring further.

# NEO Lite Pro (Terraform)

> Terraform resources and data sources for NEO Lite Pro VPS

NEO Lite Pro is the premium KVM VPS tier (dedicated vCPU/RAM, NVMe SSD), exposed through the `/neolite-pros` API group. The schema mirrors NEO Lite - with its own keypair, disk, and snapshot pools - and drops `migrate_to_pro` (Pro is the migration *destination*).

<Info>
  Every create/upgrade places a **real paid order**. Read the [billing guide](/guides/billing) for `cycle` values and `pay_with_credit_card` semantics.
</Info>

## `biznetgio_neolite_pro_vm`

```hcl theme={null}
data "biznetgio_neolite_pro_products" "all" {}

data "biznetgio_neolite_pro_os_list" "ubuntu" {
  product_id = data.biznetgio_neolite_pro_products.all.products[0].product_id
}

resource "biznetgio_neolite_pro_keypair" "main" {
  name = "neo-lite-pro-key"
}

resource "biznetgio_neolite_pro_vm" "main" {
  ssh_and_console_user = "admin"
  console_password     = "s3cretP4ssw0rd"
  vm_name              = "neo-pro-1"
  product_id           = data.biznetgio_neolite_pro_products.all.products[0].product_id
  select_os            = data.biznetgio_neolite_pro_os_list.ubuntu.oss[0].name
  keypair_id           = biznetgio_neolite_pro_keypair.main.keypair_id
  cycle                = "m"
}
```

| Name                                  | Type   | Mode                | Notes                                                                                 |
| ------------------------------------- | ------ | ------------------- | ------------------------------------------------------------------------------------- |
| `id`                                  | string | computed            | equals `account_id`                                                                   |
| `ssh_and_console_user`                | string | required            | 6–32 chars, `[a-zA-Z0-9\-.]`; create-only                                             |
| `console_password`                    | string | required, sensitive | ≥8 chars, alphanumeric with upper+lower+digit; create-only                            |
| `product_id`                          | int64  | required            | from `biznetgio_neolite_pro_products`; change triggers change-package                 |
| `select_os`                           | string | required            | from `biznetgio_neolite_pro_os_list`; create-only (OS change = `rebuild_os`)          |
| `keypair_id`                          | int64  | required            | from `biznetgio_neolite_pro_keypair`; change triggers change-keypair                  |
| `cycle`                               | string | required            | `m a q s b t p4 p5`; create-only                                                      |
| `vm_name`                             | string | optional            | default `server-name`; 6–16 chars; updatable                                          |
| `description`                         | string | optional            | default `""`; create-only                                                             |
| `pay_with_credit_card`                | bool   | optional            | default `true`                                                                        |
| `promocode`                           | string | optional            | create-only                                                                           |
| `power_state`                         | string | optional            | `start stop suspend resume shutdown`; API called only on change                       |
| `rebuild_os`                          | string | optional            | one-shot destructive OS reinstall; change value to re-fire                            |
| `disk_size`                           | int64  | optional            | absolute GB target, grow-only                                                         |
| `status`                              | string | computed            | `Active` / `Pending` / `Suspended` / `Terminated`                                     |
| `order_id`                            | string | computed            |                                                                                       |
| `uptime`                              | int64  | computed            | seconds                                                                               |
| `maxdisk` / `maxmem` / `mem` / `cpus` | int64  | computed            |                                                                                       |
| `ciuser`                              | string | computed            |                                                                                       |
| `cipassword`                          | string | computed, sensitive |                                                                                       |
| `osname`                              | string | computed            |                                                                                       |
| `region` / `region_label`             | string | computed            |                                                                                       |
| `next_due`                            | string | computed            | next billing date                                                                     |
| `recurring_amount`                    | int64  | computed            |                                                                                       |
| `billingcycle`                        | string | computed            |                                                                                       |
| `product_name`                        | string | computed            |                                                                                       |
| `last_invoice`                        | block  | computed            | `id`, `paid_id`, `status`, `date`, `duedate`, `paybefore`, `datepaid`, `invoice_type` |
| `raw`                                 | string | computed, sensitive | secrets redacted                                                                      |
| `timeouts`                            | block  | optional            | create/update/delete, defaults 20m/20m/10m                                            |

Import with the numeric account id. To migrate a NEO Lite VM into this tier, use `migrate_to_pro` on `biznetgio_neolite_vm` instead of creating here.

## `biznetgio_neolite_pro_keypair`

Identical to `biznetgio_neolite_keypair`, but in the NEO Lite Pro pool.

```hcl theme={null}
resource "biznetgio_neolite_pro_keypair" "main" {
  name = "neo-lite-pro-key"
}
```

| Name          | Type   | Mode                | Notes                                       |
| ------------- | ------ | ------------------- | ------------------------------------------- |
| `id`          | string | computed            | equals `keypair_id`                         |
| `name`        | string | required            | create-only                                 |
| `keypair_id`  | int64  | computed            |                                             |
| `public_key`  | string | computed            |                                             |
| `private_key` | string | computed, sensitive | returned once at create; preserved in state |

Updates are rejected. Import with the keypair id.

## `biznetgio_neolite_pro_snapshot`

Identical to `biznetgio_neolite_snapshot`, for Pro VMs.

```hcl theme={null}
resource "biznetgio_neolite_pro_snapshot" "main" {
  neolite_account_id = biznetgio_neolite_pro_vm.main.id
  name               = "pro-snapshot"
  cycle              = "m"
}
```

| Name                   | Type   | Mode     | Notes                        |
| ---------------------- | ------ | -------- | ---------------------------- |
| `id`                   | string | computed | equals snapshot `account_id` |
| `neolite_account_id`   | int64  | required |                              |
| `cycle`                | string | required | `m a q s b t p4 p5`          |
| `name`                 | string | optional | default `snapshot-name`      |
| `description`          | string | optional | default `""`                 |
| `pay_with_credit_card` | bool   | optional | default `true`               |
| `promocode`            | string | optional |                              |
| `status`               | string | computed |                              |
| `order_id`             | string | computed |                              |
| `timeouts`             | block  | optional | create/delete                |

All inputs create-only. Import with the snapshot account id.

## `biznetgio_neolite_pro_disk`

Additional disk for a NEO Lite Pro VM. Same semantics as `biznetgio_neolite_disk`, with a 30 GB minimum.

```hcl theme={null}
resource "biznetgio_neolite_pro_disk" "main" {
  product_id           = 60
  cycle                = "m"
  neolite_account_id   = biznetgio_neolite_pro_vm.main.id
  service_name         = "pro-extra-disk"
  size                 = 30
}
```

| Name                   | Type   | Mode                | Notes                                   |
| ---------------------- | ------ | ------------------- | --------------------------------------- |
| `id`                   | string | computed            | equals disk `account_id`                |
| `product_id`           | int64  | required            | from `GET /neolite-pros/disks/products` |
| `cycle`                | string | required            | `m a q s b t p4 p5`                     |
| `neolite_account_id`   | int64  | required            |                                         |
| `service_name`         | string | optional            | default `service-name`                  |
| `size`                 | int64  | optional            | default `30` GB, minimum 30, grow-only  |
| `promocode`            | string | optional            |                                         |
| `pay_with_credit_card` | bool   | optional            | default `true`                          |
| `status`               | string | computed            |                                         |
| `order_id`             | string | computed            |                                         |
| `raw`                  | string | computed, sensitive |                                         |
| `timeouts`             | block  | optional            | create/update/delete                    |

Import with the disk account id.

## Data sources

All five mirror the NEO Lite data sources, targeting the `/neolite-pros` group:

### `biznetgio_neolite_pro_products`

Product catalog; `products` items include `product_id`, `name`, `description`, `category_id`, `category_name`, `options`, and nested `billing`.

### `biznetgio_neolite_pro_os_list`

OS images for a product (`product_id` argument required); `oss` items: `vmid`, `node`, `name`, `maxmem`, `maxcpu`.

### `biznetgio_neolite_pro_change_package_options`

Raw JSON of change-package options for an account (`account_id` argument).

### `biznetgio_neolite_pro_storage_upgrade_options`

Raw JSON of storage upgrade pricing for an account (`account_id` argument).

### `biznetgio_neolite_pro_ip_availability`

`product_id` argument; returns `available` (bool).
