deviant mutator
Command: deviant mutator
View information about your system's mutators.
A mutator is a well-described mutation actuator - it enacts mutations, and it is described by various attributes.
This command's functionality is exposed via subcommands:
# deviant mutator inspect
Command: deviant mutator inspect
Print out the information about a particular mutator.
# Example
$ deviant mutator inspect 7b8b756b-1378-4a20-b913-0fe259c45f6c
Mutator 'TempSensorFixer' [7b8b756b-1378-4a20-b913-0fe259c45f6c] (Available)
Attributes:
mutator.description = "Make the temperature sensor reports a particular value until further notice."
mutator.layer = "implementational"
mutator.group = "drone"
mutator.operation = "set_to_value"
mutator.statefulness = "permanent"
mutator.params.set_to_value.name = "set_to_value"
mutator.params.set_to_value.description = "the magnitude of temperature to set"
mutator.params.set_to_value.value_type = "Integer"
mutator.params.set_to_value.value_min = -500
mutator.params.set_to_value.value_max = 2500
mutator.params.set_to_value.default_value = 40
mutator.params.degrees.name = "degrees"
mutator.params.degrees.description = "which temperature measurement scale to use"
mutator.params.degrees.value_type = "String"
mutator.params.degrees.default_value = "celsius"
mutator.params.degrees.value_distribution.kind = "discrete"
mutator.params.degrees.value_distribution.option_set.celsius = "celsius"
mutator.params.degrees.value_distribution.option_set.fahrenheit = "fahrenheit"
mutator.params.degrees.value_distribution.option_set.kelvin = "kelvin"
# Options
<mutator id>
- Required argument. The id of the mutator to target.
-f, --format <text | json>
- The printed output format, defaults to text
.
# deviant mutator list
Command: deviant mutator list
Print out a list of mutators and some of their details. By default this only shows mutators that are currently available.
# Example
$ deviant mutator list
Available Mutators: 2
Group: drone
Mutator 'TempSensorFixer' [7b8b756b-1378-4a20-b913-0fe259c45f6c] (Available)
Group: environment
Mutator 'Wind Gust Generator' [3c3ad0a3-0081-410c-ae66-01fc4d11afcf] (Available)
When you request unavailable mutators, they show up in distinct groups
$ deviant mutator list --show-unavailable
Available Mutators: 2
Group: drone
Mutator 'TempSensorFixer' [7b8b756b-1378-4a20-b913-0fe259c45f6c] (Available)
Group: environment
Mutator 'Wind Gust Generator' [3c3ad0a3-0081-410c-ae66-01fc4d11afcf] (Available)
Retired Mutators: 2
Group: drone
Mutator 'Message bus corruptor' [9a87fd00-8f0f-4320-83f1-ccd2c21c6928] (Retired)
Group: environment
Mutator 'Solar flare pulse' [1caead9d-8b88-43a0-8dbe-3f050a8b07c5] (Retired)
You can add mutator attributes with the --with-mutator-attributes
flag,
and use --mutator-filter
to limit the mutators shown to those whose attributes
match the expression.
$ deviant mutator list --mutator-filter='_.statefulness = "permanent"' \
--with-mutator-attributes
Available Mutators: 1
Group: drone
Mutator 'TempSensorFixer' [7b8b756b-1378-4a20-b913-0fe259c45f6c] (Available)
Attributes:
mutator.description = "Make the temperature sensor reports a particular value until further notice."
mutator.layer = "implementational"
mutator.group = "drone"
mutator.operation = "set_to_value"
mutator.statefulness = "permanent"
mutator.params.set_to_value.name = "set_to_value"
mutator.params.set_to_value.description = "the magnitude of temperature to set"
...
# Options
-f, --format <text | json>
- The printed output format, defaults to text
.
--show-unavailable
- If this optional flag is present, also show mutators that
aren't currently available to create mutations.
--with-mutator-attributes
- In addition to mutator identity information, also
list out the attributes of each mutator.
--mutator-filter <mutator predicate>
- An optional logical expression that
specifies which mutators should be shown.