Type object
File match *-clab.yaml *-clab.yml *.clab.yaml *.clab.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/containerlab/latest.json
Source https://raw.githubusercontent.com/srl-labs/containerlab/main/schemas/clab.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

name string required

topology name

pattern=^[a-zA-Z0-9][a-zA-Z0-9-._]*$
topology object required

topology configuration container

5 nested properties
nodes object required

topology nodes configuration container

groups object

topology groups configuration container

kinds object

topology kinds configuration container

53 nested properties
nokia_srlinux object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
nokia_srsim object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
nokia_sros object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
arista_ceos object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
vyosnetworks_vyos object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
juniper_crpd object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
sonic-vs object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
sonic-vm object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
dell_ftosv object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
dell_sonic object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
juniper_vmx object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
juniper_vsrx object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
juniper_vjunosrouter object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
juniper_vjunosswitch object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
juniper_vjunosevolved object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cjunosevolved object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
juniper_cjunosevolved object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
aruba_aoscx object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_xrd object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_xrv object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_xrv9k object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_nxos object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_n9kv object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_csr object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_cat9kv object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_ftdv object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_iol object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_c8000 object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_c8000v object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_sdwan object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cisco_asav object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
linux object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
bridge object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
ovs-bridge object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
host object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
ipinfusion_ocnos object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
keysight_ixia-c-one object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
checkpoint_cloudguard object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
ext-container object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
rare object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
cumulus_cvx object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
openbsd object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
freebsd object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
openwrt object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
huawei_vrp object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
generic_vm object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
fdio_vpp object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
arrcus_arcos object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
mikrotik_ros object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
6wind_vsr object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
spirent_stc object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
veesix_osvbng object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
ostinato object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

config object

containerlab config engine parameters

stages object

node's stages configurations

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
defaults object

topology node configuration container

All of: variant, variant, variant, variant, variant
40 nested properties
image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

1 nested properties
ceos-copy-to-flash string[]

list of cEOS-specific configuration or override files to be copied to the flash directory and evaluated on startup

minItems=1uniqueItems=true
config object

containerlab config engine parameters

1 nested properties
vars object

config variables passed to config engine

stages object

node's stages configurations

5 nested properties
create object

create stage configuration

create-links object

create stage configuration

configure object

create stage configuration

healthy object

create stage configuration

exit object

create stage configuration

dns object
3 nested properties
servers string[]

DNS server addresses

uniqueItems=true
search string[]

DNS search domains

uniqueItems=true
options string[]

DNS options

uniqueItems=true
certificate object
4 nested properties
sans string[]

list of subject alternative names to use for this node

uniqueItems=true
key-size integer

size of the to be generated key

validity-duration string

Duration for how long the certificate issued by the CA will be valid.

healthcheck object
5 nested properties
test string[]

test command

interval integer

test execution interval

retries integer

test execution retries

timeout integer

test execution timeout in seconds

start-period integer

time in seconds to wait before starting the healthcheck

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
links link-config-short | link-type-veth | link-type-mgmt-net | link-type-macvlan | link-type-host | link-type-vxlan | link-type-vxlan-stitched | link-type-dummy[]
minItems=1
prefix string
pattern=^$|^__lab-name$|^[a-zA-Z0-9][a-zA-Z0-9-._]*$
mgmt object

configuration container for management network

11 nested properties
network string
bridge string

Set bridge to use for the management network (instead of the default generated bridge).

ipv4-subnet string

IPv4 subnet to use for the custom management network. e.g. 172.100.100.0/24

pattern=(^.+/[0-9]{1,2}$)|(auto)
ipv6-subnet string

IPv6 subnet to be used for the custom management network. e.g. 3fff:172:100:100::/64

pattern=(^.+/[0-9]{1,3}$)|(auto)
ipv4-gw string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
ipv6-gw string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
ipv4-range string

IPv4 range out of the ipv4-subnet to use for the custom management network. e.g. 172.100.100.128/25

pattern=^.+/[0-9]{1,2}$
ipv6-range string

IPv6 range out of the ipv6-subnet to use for the custom management network. e.g. 3fff:172:100:100:8000::/65

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
mtu number

MTU in Bytes for the custom management network

Default: 1500
min=1max=65535
external-access boolean

controls whether the management network has external access or not

driver-opts object

driver-opts lets you set overrides for the network driver of the container runtime

settings object
1 nested properties
certificate-authority object
One of: variant, variant
4 nested properties
cert string

Path to the CA certificate file. If set, it is expected that the CA certificate already exists by that path

key string

Path to the CA key file. If set, it is expected that the CA certificate already exists by that path

key-size integer

Key size. Can only be set if the external CA certificate is not provided

validity-duration string

CA certificate validity duration. Can only be set if the external CA certificate is not provided

Definitions

node-config object

topology node configuration container

image string

container image to use for this node

image-pull-policy string

container image-pull-policy to use for this node

Values: "always" "Always" "never" "Never" "ifnotpresent" "IfNotPresent"
restart-policy string

container restart-policy to use for this node

Values: "no" "No" "on-failure" "On-failure" "Always" "always" "unless-stopped" "Unless-stopped"
kind string

kind of this node

Values: "nokia_srlinux" "arista_ceos" "juniper_crpd" "sonic-vs" "sonic-vm" "nokia_sros" "nokia_srsim" "juniper_vmx" "juniper_vqfx" "juniper_vsrx" "juniper_vjunosrouter" "juniper_vjunosswitch" "juniper_vjunosevolved" "cisco_xrv" "cisco_xrv9k" "arista_veos" "cisco_csr1000v" "paloalto_panos" "mikrotik_ros" "6wind_vsr" "cisco_n9kv" "cisco_ftdv" "dell_ftosv" "dell_sonic" "aruba_aoscx" "linux" "bridge" "ovs-bridge" "border0" "host" "keysight_ixia-c-one" "ipinfusion_ocnos" "checkpoint_cloudguard" "ext-container" "rare" "cisco_xrd" "cisco_c8000" "cisco_c8000v" "cisco_cat9kv" "cisco_iol" "cisco_asav" "cisco_vios" "cumulus_cvx" "huawei_vrp" "openbsd" "freebsd" "generic_vm" "fortinet_fortigate" "k8s-kind" "fdio_vpp" "vyosnetworks_vyos" "juniper_cjunosevolved" "arrcus_arcos" "f5_bigip-ve" "cisco_sdwan" "openwrt" "spirent_stc" "veesix_osvbng" "ostinato"
license string

path to a license file

type string

node's type file

group string

path to a license file

startup-config string

path to a startup config file (if supported by the kind)

startup-delay integer

Optional startup delay in seconds

enforce-startup-config boolean

Set to true to make the node to boot with a startup-config even if the config file is present in the lab directory

suppress-startup-config boolean

Set to true to prevent a startup-config file from being created By default, containerlab will create a startup-config when initially creating a lab.

auto-remove boolean

Set to true to remove the node/container automatically, instead of auto-restarting it

exec string[]

list of commands to execute post deploy

minItems=1
binds string[]

list of file/directory bindings

minItems=1uniqueItems=true
ports string[]

list of port mappings

minItems=0uniqueItems=true
env-files string[]

list of external files containing environment variables

minItems=1uniqueItems=true
user string | number

user to use within the container

entrypoint string

container's entrypoint

cmd string

command to launch container with

labels object

container labels

runtime string

Runtime for the node

Values: "docker" "podman"
mgmt-ipv4 string

IPv4 address

pattern=^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?$
mgmt-ipv6 string

IPv6 address

pattern=^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?$
network-mode string

node network mode (can only be set host, defaults to bridge)

pattern=^(host)|(container:\S+)|(none)$
cpu number

Allowed CPU usage by the node/container

min=0
memory string

Allowed Memory usage by the node/container

cpu-set string

CPU cores to be used by the node/container

extras object

node's extra configurations

1 nested properties
ceos-copy-to-flash string[]

list of cEOS-specific configuration or override files to be copied to the flash directory and evaluated on startup

minItems=1uniqueItems=true
config object

containerlab config engine parameters

1 nested properties
vars object

config variables passed to config engine

stages object

node's stages configurations

5 nested properties
create object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

create-links object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

configure object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

healthy object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

exit object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

dns object
3 nested properties
servers string[]

DNS server addresses

uniqueItems=true
search string[]

DNS search domains

uniqueItems=true
options string[]

DNS options

uniqueItems=true
certificate object
4 nested properties
sans string[]

list of subject alternative names to use for this node

uniqueItems=true
key-size integer

size of the to be generated key

validity-duration string

Duration for how long the certificate issued by the CA will be valid.

healthcheck object
5 nested properties
test string[]

test command

interval integer

test execution interval

retries integer

test execution retries

timeout integer

test execution timeout in seconds

start-period integer

time in seconds to wait before starting the healthcheck

components object[]

Dependency list for Components

uniqueItems=true
aliases string[]

list of aliases for the node

uniqueItems=true
shm-size string

shared memory size limit allocated to the container (e.g. 256MB). Supported memory suffixes (case insensitive): b, kib, kb, mib, mb, gib, gb

pattern=^[0-9]+(\.?[0-9]*)?\s*([bB]|[kK][iI]?[bB]|[mM][iI]?[bB]|[gG][iI]?[bB])?$
cap-add string[]

list of capabilities to add to the container

uniqueItems=true
sysctls object

sysctl kernel parameters to set in the container

devices string[]

list of host devices to add to the container

uniqueItems=true
endpoint-vars object

per-endpoint variables

labels object

container labels

extras-config object

node's extra configurations

ceos-copy-to-flash string[]

list of cEOS-specific configuration or override files to be copied to the flash directory and evaluated on startup

minItems=1uniqueItems=true
config-config object

containerlab config engine parameters

vars object

config variables passed to config engine

certificate-config object
sans string[]

list of subject alternative names to use for this node

uniqueItems=true
key-size integer

size of the to be generated key

validity-duration string

Duration for how long the certificate issued by the CA will be valid.

healthcheck-config object
test string[]

test command

interval integer

test execution interval

retries integer

test execution retries

timeout integer

test execution timeout in seconds

start-period integer

time in seconds to wait before starting the healthcheck

dns-config object
servers string[]

DNS server addresses

uniqueItems=true
search string[]

DNS search domains

uniqueItems=true
options string[]

DNS options

uniqueItems=true
certificate-authority-config object
cert string

Path to the CA certificate file. If set, it is expected that the CA certificate already exists by that path

key string

Path to the CA key file. If set, it is expected that the CA certificate already exists by that path

key-size integer

Key size. Can only be set if the external CA certificate is not provided

validity-duration string

CA certificate validity duration. Can only be set if the external CA certificate is not provided

stages-config object

node's stages configurations

create object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

create-links object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

configure object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

healthy object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

exit object

create stage configuration

2 nested properties
wait-for object[]

Dependency list for the node

uniqueItems=true
exec object | object[]

per-stage exec configuration

wait-for-config object[]

Dependency list for the node

stages-enum string
stage-exec object | object[]

per-stage exec configuration

stage-exec-list string[]
mtu number

MTU in Bytes for the custom management network

ipv4-addr string

IPv4 address

ipv6-addr string

IPv6 address

ipv4-prefix string

IPv4 address in CIDR notation, e.g. 10.0.0.1/24

ipv6-prefix string

IPv6 address in CIDR notation, e.g. 2001:db8::1/64

sros-card-types string

Card types for SR OS

sros-cpm-types string

CPM card types for SR OS

sros-mda-types string

MDA types for SR OS

sros-xiom-types string

XIOM types for SR OS

sros-xiom-mda-types string

XIOM MDA types for SR OS

sros-sfm-types string

SFM types for SR OS