1syntax = "proto3"; 2 3import "github.com/gogo/protobuf/gogoproto/gogo.proto"; 4import "meta.proto"; 5 6package sensu.core.v2; 7 8option go_package = "v2"; 9option (gogoproto.populate_all) = true; 10option (gogoproto.equal_all) = true; 11option (gogoproto.marshaler_all) = true; 12option (gogoproto.unmarshaler_all) = true; 13option (gogoproto.sizer_all) = true; 14option (gogoproto.testgen_all) = true; 15 16// A Mutator is a mutator specification. 17message Mutator { 18 option (gogoproto.face) = true; 19 option (gogoproto.goproto_getters) = false; 20 21 // Metadata contains the name, namespace, labels and annotations of the mutator 22 ObjectMeta metadata = 1 [(gogoproto.jsontag) = "metadata,omitempty", (gogoproto.embed) = true, (gogoproto.nullable) = false]; 23 24 // Command is the command to be executed. 25 string command = 2; 26 27 // Timeout is the command execution timeout in seconds. 28 uint32 timeout = 3 [(gogoproto.jsontag) = "timeout"]; 29 30 // Env is a list of environment variables to use with command execution 31 repeated string env_vars = 4 [(gogoproto.jsontag) = "env_vars"]; 32 33 // RuntimeAssets are a list of assets required to execute a mutator. 34 repeated string runtime_assets = 8 [(gogoproto.jsontag) = "runtime_assets"]; 35} 36