Integer

An integer type argument has a numeric value without decimal points.

Example:

arguments:
  - name: --core_amount
    type: integer
    default: 16
    description: Amount of CPU cores to use
    alternatives: ["-c"]

alternatives

Type: String / List of String

Default: Empty

List of alternative format variations for this argument.

choices

Type: List of Int

Default: Empty

Limit the amount of valid values for this argument to those set in this list. When set and a value not present in the list is provided, an error will be produced.

Example:

- name: --values
  type: integer
  choices: [1024, 2048, 4096]

default

Type: Int / List of Int

Default: Empty

The default value when no argument value is provided. This will not work if the required property is enabled.

Example:

- name: --my_integer
  type: integer
  default: 100

description

Type: String

Default: Empty

A description of the argument. This is only used for documentation. Multiline descriptions are supported.

Example:

description: |
  A (multiline) description of the purpose of
  this argument.

example

Type: Int / List of Int

Default: Empty

An example value for this argument. If no default property was specified, this will be used for that purpose.

Example:

- name: --my_integer
  type: integer
  example: 100

info

Type: Json

Default: Empty

Structured information. Can be any shape: a string, vector, map or even nested map.

Example:

info:
  category: cat1
  labels: [one, two, three]

label

Type: String

Default: Empty

A clean version of the argument’s name. This is only used for documentation.

Example:

label: "My argument"

max

Type: Int

Default: Empty

Maximum allowed value for this argument. If set and the provided value is higher than the maximum, an error will be produced. Can be combined with min to clamp values.

Example:

- name: --my_integer
  type: integer
  max: 150

min

Type: Int

Default: Empty

Minimum allowed value for this argument. If set and the provided value is lower than the minimum, an error will be produced. Can be combined with max to clamp values.

Example:

- name: --my_integer
  type: integer
  min: 50

multiple

Type: Boolean

Default: False

Treat the argument value as an array. Arrays can be passed using the delimiter --foo=1:2:3 or by providing the same argument multiple times --foo 1 --foo 2. You can use a custom delimiter by using the multiple_sep property. false by default.

Examples:

- name: --my_integer
  type: integer
  multiple: true

Here’s an example of how to use this:

my_component --my_integer=10:80:152

multiple_sep

Type: String

Default: ;

The delimiter character for providing multiple values. : by default.

Examples:

- name: --my_integer
  type: integer
  multiple: true
  multiple_sep: ";"

Here’s an example of how to use this:

my_component --my_integer=10:80:152

name

Type: String

The name of the argument. Can be in the formats --foo, -f or foo. The number of dashes determines how values can be passed:

  • --foo is a long option, which can be passed with executable_name --foo=value or executable_name --foo value
  • -f is a short option, which can be passed with executable_name -f value
  • foo is an argument, which can be passed with executable_name value

required

Type: Boolean

Default: False

Make the value for this argument required. If set to true, an error will be produced if no value was provided. false by default.

Example:

- name: --my_integer
  type: integer
  required: true

summary

Type: String

Default: Empty

A one-sentence summary of the argument. This is only used for documentation.

Example:

summary: "This argument sets XYZ."

type

Type: String

Specifies the type of the argument.