Arg::required_if_eq_any
required_if_eq_any
Section titled “required_if_eq_any ”Specify this argument is required based on multiple conditions.
Examples
Section titled “Examples”Example 1
Section titled “Example 1”name = "prog"[args]cfg = { long = "config", action = "set", required-if-eq-any = [{ arg = "extra", value = "val" }, { arg = "option", value = "spec" }] }extra = { long = "extra", action = "set" }option = { long = "option", action = "set" }
name: progargs: cfg: long: config action: set required-if-eq-any: - arg: extra value: val - arg: option value: spec extra: long: extra action: set option: long: option action: set
{ "name": "prog", "args": { "cfg": { "long": "config", "action": "set", "required-if-eq-any": [ { "arg": "extra", "value": "val" }, { "arg": "option", "value": "spec" } ] }, "extra": { "long": "extra", "action": "set" }, "option": { "long": "option", "action": "set" } }}
prog --option other
Output
Section titled “Output”claptrap_option='other'
Example 2
Section titled “Example 2”name = "prog"[args]cfg = { long = "config", action = "set", required-if-eq-any = [{ arg = "extra", value = "val" }, { arg = "option", value = "spec" }] }extra = { long = "extra", action = "set" }option = { long = "option", action = "set" }
name: progargs: cfg: long: config action: set required-if-eq-any: - arg: extra value: val - arg: option value: spec extra: long: extra action: set option: long: option action: set
{ "name": "prog", "args": { "cfg": { "long": "config", "action": "set", "required-if-eq-any": [ { "arg": "extra", "value": "val" }, { "arg": "option", "value": "spec" } ] }, "extra": { "long": "extra", "action": "set" }, "option": { "long": "option", "action": "set" } }}
prog --option spec
Output
Section titled “Output”error: the following required arguments were not provided: --config <cfg>
Usage: prog --option <option> --config <cfg>
For more information, try '--help'.