type CipdSpec struct {
// Server to use for cipd packages. Required (though it may be specified
// by the quest's designated distributor config). This must be
// scheme://<hostname>, e.g. "https://example.appspot.com". The only
// supported schemes are http and https.Serverstring `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
// Specifies the CIPD package to use for the job to obtain the actual CIPD
// client binary. You usually want to omit this.Client *CipdPackage `protobuf:"bytes,2,opt,name=client,proto3" json:"client,omitempty"`
// A mapping from path-to-install to a list of cipd packages to install at
// that location. To install packages in the root of the job, use the path
// ''.ByPath map[string]*CipdSpec_CipdPackages `protobuf:"bytes,3,rep,name=by_path,json=byPath,proto3" json:"by_path,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecacheint32 `json:"-"`
}

type Parameters_Job struct {
Inputs *Parameters_Job_Inputs `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"`
// This is the "argv" to run with this job. This includes substitution
// paramters defined by swarming's run_isolated.py script:
// https://github.com/luci/luci-py/blob/master/client/run_isolated.py
//
// Additionally, DM provides the following substitutions:
// ${DM.PREVIOUS.EXECUTION.STATE:PATH} - the path to a JSONPB encoding of
// the swarming_v1.Result from the previous Execution of this Attempt.
// ${DM.QUEST.DATA.DESC:PATH} - the path to the
// dm.Quest.Data.Desc JSONPB for the quest that this execution is part
// of.
// ${DM.HOST} - the hostname to use to access DM's pRPC API.
//
// DM also provides a JSONPB encoded dm.Execution.Auth via the LUCI_CONTEXT
// swarming.secret_bytes value. See:
// https://github.com/luci/luci-py/blob/master/client/LUCI_CONTEXT.md
//
// Command MUST be specified; specifying a command in any of the isolated
// inputs WILL NOT DO ANYTHING.Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
// Environment variables for the executions.Env map[string]string `protobuf:"bytes,3,rep,name=env,proto3" json:"env,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecacheint32 `json:"-"`
}

type Parameters_Job_Inputs struct {
// 0 or more isolated IDs that will be 'included' together into the final
// job .isolated sent to swarming.
//
// The "server" value must either be omitted, or equal the isolate server
// defined by this distributor's config (the `isolate.host` field,
// prepended with "https://").Isolated []*IsolatedRef `protobuf:"bytes,1,rep,name=isolated,proto3" json:"isolated,omitempty"`
// CIPD packages to use for the job. These specs may contain templated
// parameters for package names or non-instance_ids for the package
// versions. The first successful execution for each attempt will
// resolve+snapshot all package names and versions. These package names
// and versions will be used for all subsequent executions of that
// attempt.Cipd *CipdSpec `protobuf:"bytes,2,opt,name=cipd,proto3" json:"cipd,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecacheint32 `json:"-"`
}

type Parameters_Scheduling struct {
// Priority adjusts the scheduling preference for Executions. The higher the
// priority number, the longer it will take to schedule, and vice versa (ala
// `nice`).
//
// A value of 0 (default) corresponds to a default priority (currently 100).
// Other values correspond directly to the swarming task Priority.
//
// THIS MEANS THAT PRIORITY 0 IS NOT PERMITTED HERE! If you want 0, use
// 1 instead.
//
// This must be <= 255.Priorityuint32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"`
// These specifiy the profile of the machine to use for Execuions of this
// quest. These can indicate OS, number of cores, amount of ram, GPU type,
// pool, etc. See the swarming service instance for available dimensions.Dimensions map[string]string `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// These dimensions will be snapshotted from the first execution of each
// attempt, and will be subsequently re-used for all following executions of
// that attempt.
//
// The most-specific value for these dimensions will be taken for tasks
// where a given dimension has multiple values.SnapshotDimensions []string `protobuf:"bytes,3,rep,name=snapshot_dimensions,json=snapshotDimensions,proto3" json:"snapshot_dimensions,omitempty"`
// This indicates the maximum amount of time that an Execution may run
// without emitting IO on stdout/err. 0 means 'no timeout'.IoTimeout *duration.Duration `protobuf:"bytes,4,opt,name=io_timeout,json=ioTimeout,proto3" json:"io_timeout,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecacheint32 `json:"-"`
}

These parameters affect how the Executions for this Quest are scheduled.