Skip to main content
When you create a resource or list resources in interactive mode, the CLI prompts you for parameter values step by step, validates each value before continuing and shows the resulting configuration before you apply it. To use the interactive mode, add the -i or --interactive parameter to your CLI command.

Creating resources interactively

When you run a resource creation command in the interactive mode, the CLI prompts for parameters in this order:
  1. Metadata parameters.
  2. Required parameters.
  3. Optional parameters.
How the parameters are filled in depends on their data type:
  • For string parameters, specify the string directly or use contents of a file if the string is too long. For example:
    cloud-init-user-data (string): file: ./user-data.txt
    
  • For oneof, enum and bool parameters, the CLI prompts you to select one of the supported values.
If some parameters repeat, the CLI prompts you to fill in each of them separately. After you fill in the parameters, the CLI shows the full resource configuration and lets you apply it, correct the values or abort creation. For example, to create a virtual machine (VM) in the interactive mode:
  1. Create a boot disk.
  2. Run the VM creation command:
    nebius compute instance create --interactive
    
    Example session:
    ...
    parent-id (required) (string): project-***
    Human readable name for the resource.
    name (string): example-vm
    Labels associated with the resource.
    labels (map) string=string[,string=string]:
    
    Populate required fields
    resources-platform (required) (string): gpu-l40s-d
    resources-preset (required) (string): 1gpu-16vcpu-96gb
    network-interfaces-0-subnet-id (required) (string): vpcsubnet-***
    network-interfaces-0-name (required) (string): eth0
    Do you want to populate the network-interfaces-0-ip-address message ? [Y/n]: y
    network-interfaces-0-ip-address-allocation-id (string): vpcallocation-***
    Do you want to populate the network-interfaces-0-public-ip-address message ? [Y/n]: y
    network-interfaces-0-public-ip-address-allocation-id (string): vpcallocation-***
    network-interfaces-0-public-ip-address-static (bool): true
    Do you want to populate the network-interfaces-0-aliases message ? [Y/n]: n
    Do you want to populate the network-interfaces-0-security-groups message ? [Y/n]: n
    Add another entry to the network-interfaces list? [Y/n]: n
    
    Do you want to populate the optional fields? [y/N]: y
    ...
    Do you want to populate the boot-disk message ? [Y/n]: y
    boot-disk-attach-mode (required) (enum): READ_WRITE
    Select one of (boot-disk-type (required)): boot-disk-existing-disk (message)
    Do you want to populate the boot-disk-existing-disk message ? [Y/n]: y
    boot-disk-existing-disk-id (required) (string): computedisk-***
    boot-disk-device-id (string): dev-1
    ...
    
    First, you set the metadata parameters, such as parent-id and name. Then, you set the required parameters, such as resources-platform and resources-preset. Finally, you set the optional parameters, such as boot-disk-attach-mode and boot-disk-existing-disk-id. Although the boot disk parameters are marked as optional, they still require input for the command to succeed.
    To create a VM, you can either create a boot disk in advance and then set it in the boot-disk-existing-disk configuration. Alternatively, use the boot-disk-managed-disk configuration and create the boot disk and the VM simultaneously.
    After you fill in the parameters, the CLI shows the full resource and lets you apply it.

Listing resources interactively

When you run a command in interactive mode, the CLI displays the output in an alternate screen with pagination. In this mode, you can:
  • Use the keyboard to switch between pages.
  • Use the keyboard or mouse to scroll through the current page.
For example, to check Audit Logs in the interactive mode, run:
nebius audit v2 audit-event list \
   --interactive \
   --parent-id <tenant_ID> \
   --start 2025-09-01T00:00:00Z \
   --end 2025-10-01T00:00:00Z \
   --page-size 10 \
   --format 'table(action,resource.metadata.type,status,time)'
The --page-size parameter sets the number of items per page. If you do not specify this parameter, the default value is 100. The --format parameter sets the output format. Supported values are yaml, json, jsonpath, table and text. In the given example, the --format parameter displays the output as a table and includes only the action, resource.metadata.type, status and time columns. Example output:
ACTION  TIME                            RESOURCE.METADATA.TYPE  STATUS
GET     2025-09-30T23:41:01.735292820Z  vpcsubnet               DONE
GET     2025-09-30T23:39:57.822525674Z  vpcsubnet               DONE
GET     2025-09-30T23:39:57.732298637Z  vpcsubnet               DONE
DELETE  2025-09-30T23:35:46.248317235Z  serviceaccount          DONE
DELETE  2025-09-30T23:35:46.019666980Z  serviceaccount          DONE
LIST    2025-09-30T23:35:45.868348266Z  serviceaccount          DONE
LIST    2025-09-30T23:35:45.225734490Z  group                   DONE
LIST    2025-09-30T23:35:43.908091679Z  accesskey               DONE
LIST    2025-09-30T23:35:43.458795049Z  statickey               DONE
LIST    2025-09-30T23:35:33.063804463Z  computeimage            DONE

page 5 ←/→ pages ↑/↓ scroll A/D = horizontal scroll q/Esc exit Enter = next page