Documentation ¶
Overview ¶
Package messages is a generated protocol buffer package.
It is generated from these files:
github.com/luci/luci-go/scheduler/appengine/messages/cron.proto
It has these top-level messages:
Acl AclSet Job Trigger NoopTask GitilesTask UrlFetchTask SwarmingTask BuildbucketTask ProjectConfig TaskDefWrapper
Index ¶
- Variables
- type Acl
- type AclSet
- type Acl_Role
- type BuildbucketTask
- func (*BuildbucketTask) Descriptor() ([]byte, []int)
- func (m *BuildbucketTask) GetBucket() string
- func (m *BuildbucketTask) GetBuilder() string
- func (m *BuildbucketTask) GetProperties() []string
- func (m *BuildbucketTask) GetServer() string
- func (m *BuildbucketTask) GetTags() []string
- func (*BuildbucketTask) ProtoMessage()
- func (m *BuildbucketTask) Reset()
- func (m *BuildbucketTask) String() string
- type GitilesTask
- type Job
- func (*Job) Descriptor() ([]byte, []int)
- func (m *Job) GetAclSets() []string
- func (m *Job) GetAcls() []*Acl
- func (m *Job) GetBuildbucket() *BuildbucketTask
- func (m *Job) GetDisabled() bool
- func (m *Job) GetId() string
- func (m *Job) GetNoop() *NoopTask
- func (m *Job) GetSchedule() string
- func (m *Job) GetSwarming() *SwarmingTask
- func (m *Job) GetTask() *TaskDefWrapper
- func (m *Job) GetUrlFetch() *UrlFetchTask
- func (*Job) ProtoMessage()
- func (m *Job) Reset()
- func (m *Job) String() string
- type NoopTask
- type ProjectConfig
- type SwarmingTask
- func (*SwarmingTask) Descriptor() ([]byte, []int)
- func (m *SwarmingTask) GetCommand() []string
- func (m *SwarmingTask) GetDimensions() []string
- func (m *SwarmingTask) GetEnv() []string
- func (m *SwarmingTask) GetExecutionTimeoutSecs() int32
- func (m *SwarmingTask) GetExtraArgs() []string
- func (m *SwarmingTask) GetGracePeriodSecs() int32
- func (m *SwarmingTask) GetIoTimeoutSecs() int32
- func (m *SwarmingTask) GetIsolatedRef() *SwarmingTask_IsolatedRef
- func (m *SwarmingTask) GetPriority() int32
- func (m *SwarmingTask) GetServer() string
- func (m *SwarmingTask) GetTags() []string
- func (*SwarmingTask) ProtoMessage()
- func (m *SwarmingTask) Reset()
- func (m *SwarmingTask) String() string
- type SwarmingTask_IsolatedRef
- func (*SwarmingTask_IsolatedRef) Descriptor() ([]byte, []int)
- func (m *SwarmingTask_IsolatedRef) GetIsolated() string
- func (m *SwarmingTask_IsolatedRef) GetIsolatedServer() string
- func (m *SwarmingTask_IsolatedRef) GetNamespace() string
- func (*SwarmingTask_IsolatedRef) ProtoMessage()
- func (m *SwarmingTask_IsolatedRef) Reset()
- func (m *SwarmingTask_IsolatedRef) String() string
- type TaskDefWrapper
- func (*TaskDefWrapper) Descriptor() ([]byte, []int)
- func (m *TaskDefWrapper) GetBuildbucketTask() *BuildbucketTask
- func (m *TaskDefWrapper) GetGitilesTask() *GitilesTask
- func (m *TaskDefWrapper) GetNoop() *NoopTask
- func (m *TaskDefWrapper) GetSwarmingTask() *SwarmingTask
- func (m *TaskDefWrapper) GetUrlFetch() *UrlFetchTask
- func (*TaskDefWrapper) ProtoMessage()
- func (m *TaskDefWrapper) Reset()
- func (m *TaskDefWrapper) String() string
- type Trigger
- func (*Trigger) Descriptor() ([]byte, []int)
- func (m *Trigger) GetAclSets() []string
- func (m *Trigger) GetAcls() []*Acl
- func (m *Trigger) GetDisabled() bool
- func (m *Trigger) GetGitiles() *GitilesTask
- func (m *Trigger) GetId() string
- func (m *Trigger) GetNoop() *NoopTask
- func (m *Trigger) GetSchedule() string
- func (*Trigger) ProtoMessage()
- func (m *Trigger) Reset()
- func (m *Trigger) String() string
- type UrlFetchTask
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Acl ¶
type Acl struct { // Role denotes a list of actions that an identity can perform. Role Acl_Role `protobuf:"varint,1,opt,name=role,enum=messages.Acl_Role" json:"role,omitempty"` // Either email or "group:xyz" or auth service identity string "kind:name". GrantedTo string `protobuf:"bytes,2,opt,name=granted_to,json=grantedTo" json:"granted_to,omitempty"` }
A single access control rule.
WARNING: until ACLs are fully deployed, DO NOT rely on READER Role limiting access to your project. Follow crbug/736770 if in doubt. TODO(tandrii): REMOVE THIS WARNING once deployment is complete.
type AclSet ¶
type AclSet struct { // A name of the ACL set, unique for a project. // Required. Must match regex '^[0-9A-Za-z_\-\.]{1,100}$'. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // List of access control rules. // The order does not matter. Acls []*Acl `protobuf:"bytes,2,rep,name=acls" json:"acls,omitempty"` }
A set of Acl messages. Can be referenced in a Job or Trigger by name.
type Acl_Role ¶
type Acl_Role int32
const ( // Can do read-only operations, such as listing invocations of a Job. Acl_READER Acl_Role = 0 // Same as READER + can modify state of a Job or Invocation such as // triggering or aborting them. // LUCI scheduler (this service) is an OWNER of each `Job` and `Trigger`, thus // `Trigger`s are allowed to trigger all `Job`s defined in the same // project, regardless of their respective ACLs. Acl_OWNER Acl_Role = 1 )
type BuildbucketTask ¶
type BuildbucketTask struct { // Server is URL of the bulildbucket service to use. Server string `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"` // Bucket defines what bucket to add the task to. Bucket string `protobuf:"bytes,2,opt,name=bucket" json:"bucket,omitempty"` // Builder defines what to run. Builder string `protobuf:"bytes,3,opt,name=builder" json:"builder,omitempty"` // Properties is arbitrary "key:value" pairs describing the task. Properties []string `protobuf:"bytes,4,rep,name=properties" json:"properties,omitempty"` // Tags is a list of tags (as "key:value" pairs) to assign to the task. Tags []string `protobuf:"bytes,5,rep,name=tags" json:"tags,omitempty"` }
BuildbucketTask specifies parameters of Buildbucket-based jobs.
func (*BuildbucketTask) Descriptor ¶
func (*BuildbucketTask) Descriptor() ([]byte, []int)
func (*BuildbucketTask) GetBucket ¶
func (m *BuildbucketTask) GetBucket() string
func (*BuildbucketTask) GetBuilder ¶
func (m *BuildbucketTask) GetBuilder() string
func (*BuildbucketTask) GetProperties ¶
func (m *BuildbucketTask) GetProperties() []string
func (*BuildbucketTask) GetServer ¶
func (m *BuildbucketTask) GetServer() string
func (*BuildbucketTask) GetTags ¶
func (m *BuildbucketTask) GetTags() []string
func (*BuildbucketTask) ProtoMessage ¶
func (*BuildbucketTask) ProtoMessage()
func (*BuildbucketTask) Reset ¶
func (m *BuildbucketTask) Reset()
func (*BuildbucketTask) String ¶
func (m *BuildbucketTask) String() string
type GitilesTask ¶
type GitilesTask struct { // Repo is the URL of the Gitiles repository. Repo string `protobuf:"bytes,1,opt,name=repo" json:"repo,omitempty"` // List of Git references to track. Refs []string `protobuf:"bytes,2,rep,name=refs" json:"refs,omitempty"` }
GitilesTask specifies parameters of Swarming-based jobs.
func (*GitilesTask) Descriptor ¶
func (*GitilesTask) Descriptor() ([]byte, []int)
func (*GitilesTask) GetRefs ¶
func (m *GitilesTask) GetRefs() []string
func (*GitilesTask) GetRepo ¶
func (m *GitilesTask) GetRepo() string
func (*GitilesTask) ProtoMessage ¶
func (*GitilesTask) ProtoMessage()
func (*GitilesTask) Reset ¶
func (m *GitilesTask) Reset()
func (*GitilesTask) String ¶
func (m *GitilesTask) String() string
type Job ¶
type Job struct { // Id is a name of the job (unique for the project). // // Must match '^[0-9A-Za-z_\-\.]{1,100}$'. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` // Schedule describes when to run the job. // // Supported kinds of schedules (illustrated by examples): // - "* 0 * * * *": standard cron-like expression. Cron engine will attempt // to start a job at specified moments in time (based on UTC clock). If // when triggering a job, previous invocation is still running, an overrun // will be recorded (and next attempt to start a job happens based on the // schedule, not when the previous invocation finishes). This is absolute // schedule (i.e. doesn't depend on job state). // - "with 10s interval": runs invocations in a loop, waiting 10s after // finishing invocation before starting a new one. This is relative // schedule. Overruns are not possible. // - "continuously" is alias for "with 0s interval", meaning the job will // run in a loop without any pauses. // - "triggered" schedule indicates that job is only started via "Run now" // button or via a trigger. // // Default is "triggered". Schedule string `protobuf:"bytes,2,opt,name=schedule" json:"schedule,omitempty"` // Disabled is true to disable this job. Disabled bool `protobuf:"varint,3,opt,name=disabled" json:"disabled,omitempty"` // Task defines what exactly to execute. // // TODO(vadimsh): Remove this field once all configs are updated not to // use it. Task *TaskDefWrapper `protobuf:"bytes,4,opt,name=task" json:"task,omitempty"` // List of access control rules for the Job. // The order does not matter. // There can be at most 32 different acls for a Job, including those from // acl_sets. Acls []*Acl `protobuf:"bytes,5,rep,name=acls" json:"acls,omitempty"` // A list of ACL set names. Each ACL in each referenced ACL set will be // included in this Job. // The order does not matter. AclSets []string `protobuf:"bytes,6,rep,name=acl_sets,json=aclSets" json:"acl_sets,omitempty"` // Noop is used for testing. It is "do nothing" task. Noop *NoopTask `protobuf:"bytes,100,opt,name=noop" json:"noop,omitempty"` // UrlFetch can be used to make a simple HTTP call. UrlFetch *UrlFetchTask `protobuf:"bytes,101,opt,name=url_fetch,json=urlFetch" json:"url_fetch,omitempty"` // SwarmingTask can be used to schedule swarming job. Swarming *SwarmingTask `protobuf:"bytes,102,opt,name=swarming" json:"swarming,omitempty"` // BuildbucketTask can be used to schedule buildbucket job. Buildbucket *BuildbucketTask `protobuf:"bytes,103,opt,name=buildbucket" json:"buildbucket,omitempty"` }
Job specifies a single regular job belonging to a project.
Such jobs runs on a schedule or can be triggered by some trigger.
func (*Job) GetBuildbucket ¶
func (m *Job) GetBuildbucket() *BuildbucketTask
func (*Job) GetSwarming ¶
func (m *Job) GetSwarming() *SwarmingTask
func (*Job) GetTask ¶
func (m *Job) GetTask() *TaskDefWrapper
func (*Job) GetUrlFetch ¶
func (m *Job) GetUrlFetch() *UrlFetchTask
type ProjectConfig ¶
type ProjectConfig struct { // Job is a set of jobs defined in the project. Job []*Job `protobuf:"bytes,1,rep,name=job" json:"job,omitempty"` // Trigger is a set of triggering jobs defined in the project. Trigger []*Trigger `protobuf:"bytes,2,rep,name=trigger" json:"trigger,omitempty"` // A list of ACL sets. Names must be unique. AclSets []*AclSet `protobuf:"bytes,3,rep,name=acl_sets,json=aclSets" json:"acl_sets,omitempty"` }
ProjectConfig defines a schema for config file that describe jobs belonging to some project.
func (*ProjectConfig) Descriptor ¶
func (*ProjectConfig) Descriptor() ([]byte, []int)
func (*ProjectConfig) GetAclSets ¶
func (m *ProjectConfig) GetAclSets() []*AclSet
func (*ProjectConfig) GetJob ¶
func (m *ProjectConfig) GetJob() []*Job
func (*ProjectConfig) GetTrigger ¶
func (m *ProjectConfig) GetTrigger() []*Trigger
func (*ProjectConfig) ProtoMessage ¶
func (*ProjectConfig) ProtoMessage()
func (*ProjectConfig) Reset ¶
func (m *ProjectConfig) Reset()
func (*ProjectConfig) String ¶
func (m *ProjectConfig) String() string
type SwarmingTask ¶
type SwarmingTask struct { // Server is URL of the swarming service to use. Server string `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"` // What to run. Only one of 'command' or 'isolated_ref' must be given. Command []string `protobuf:"bytes,2,rep,name=command" json:"command,omitempty"` IsolatedRef *SwarmingTask_IsolatedRef `protobuf:"bytes,3,opt,name=isolated_ref,json=isolatedRef" json:"isolated_ref,omitempty"` // Additional arguments to pass to isolated command. ExtraArgs []string `protobuf:"bytes,4,rep,name=extra_args,json=extraArgs" json:"extra_args,omitempty"` // List of "key=value" pairs with additional OS environment variables. Env []string `protobuf:"bytes,5,rep,name=env" json:"env,omitempty"` // Where to run it. List of "key:value" pairs. Dimensions []string `protobuf:"bytes,6,rep,name=dimensions" json:"dimensions,omitempty"` // Tags is a list of tags (as "key:value" pairs) to assign to the task. Tags []string `protobuf:"bytes,7,rep,name=tags" json:"tags,omitempty"` // Priority is task priority (or niceness, lower value - higher priority). Priority int32 `protobuf:"varint,8,opt,name=priority" json:"priority,omitempty"` // Timeouts. All optional. The scheduler will set reasonable default values. ExecutionTimeoutSecs int32 `protobuf:"varint,9,opt,name=execution_timeout_secs,json=executionTimeoutSecs" json:"execution_timeout_secs,omitempty"` GracePeriodSecs int32 `protobuf:"varint,10,opt,name=grace_period_secs,json=gracePeriodSecs" json:"grace_period_secs,omitempty"` IoTimeoutSecs int32 `protobuf:"varint,11,opt,name=io_timeout_secs,json=ioTimeoutSecs" json:"io_timeout_secs,omitempty"` }
SwarmingTask specifies parameters of Swarming-based jobs.
func (*SwarmingTask) Descriptor ¶
func (*SwarmingTask) Descriptor() ([]byte, []int)
func (*SwarmingTask) GetCommand ¶
func (m *SwarmingTask) GetCommand() []string
func (*SwarmingTask) GetDimensions ¶
func (m *SwarmingTask) GetDimensions() []string
func (*SwarmingTask) GetEnv ¶
func (m *SwarmingTask) GetEnv() []string
func (*SwarmingTask) GetExecutionTimeoutSecs ¶
func (m *SwarmingTask) GetExecutionTimeoutSecs() int32
func (*SwarmingTask) GetExtraArgs ¶
func (m *SwarmingTask) GetExtraArgs() []string
func (*SwarmingTask) GetGracePeriodSecs ¶
func (m *SwarmingTask) GetGracePeriodSecs() int32
func (*SwarmingTask) GetIoTimeoutSecs ¶
func (m *SwarmingTask) GetIoTimeoutSecs() int32
func (*SwarmingTask) GetIsolatedRef ¶
func (m *SwarmingTask) GetIsolatedRef() *SwarmingTask_IsolatedRef
func (*SwarmingTask) GetPriority ¶
func (m *SwarmingTask) GetPriority() int32
func (*SwarmingTask) GetServer ¶
func (m *SwarmingTask) GetServer() string
func (*SwarmingTask) GetTags ¶
func (m *SwarmingTask) GetTags() []string
func (*SwarmingTask) ProtoMessage ¶
func (*SwarmingTask) ProtoMessage()
func (*SwarmingTask) Reset ¶
func (m *SwarmingTask) Reset()
func (*SwarmingTask) String ¶
func (m *SwarmingTask) String() string
type SwarmingTask_IsolatedRef ¶
type SwarmingTask_IsolatedRef struct { Isolated string `protobuf:"bytes,1,opt,name=isolated" json:"isolated,omitempty"` IsolatedServer string `protobuf:"bytes,2,opt,name=isolated_server,json=isolatedServer" json:"isolated_server,omitempty"` Namespace string `protobuf:"bytes,3,opt,name=namespace" json:"namespace,omitempty"` }
IsolatedRef defines a data tree reference, normally a reference to an .isolated file
func (*SwarmingTask_IsolatedRef) Descriptor ¶
func (*SwarmingTask_IsolatedRef) Descriptor() ([]byte, []int)
func (*SwarmingTask_IsolatedRef) GetIsolated ¶
func (m *SwarmingTask_IsolatedRef) GetIsolated() string
func (*SwarmingTask_IsolatedRef) GetIsolatedServer ¶
func (m *SwarmingTask_IsolatedRef) GetIsolatedServer() string
func (*SwarmingTask_IsolatedRef) GetNamespace ¶
func (m *SwarmingTask_IsolatedRef) GetNamespace() string
func (*SwarmingTask_IsolatedRef) ProtoMessage ¶
func (*SwarmingTask_IsolatedRef) ProtoMessage()
func (*SwarmingTask_IsolatedRef) Reset ¶
func (m *SwarmingTask_IsolatedRef) Reset()
func (*SwarmingTask_IsolatedRef) String ¶
func (m *SwarmingTask_IsolatedRef) String() string
type TaskDefWrapper ¶
type TaskDefWrapper struct { Noop *NoopTask `protobuf:"bytes,1,opt,name=noop" json:"noop,omitempty"` UrlFetch *UrlFetchTask `protobuf:"bytes,2,opt,name=url_fetch,json=urlFetch" json:"url_fetch,omitempty"` SwarmingTask *SwarmingTask `protobuf:"bytes,3,opt,name=swarming_task,json=swarmingTask" json:"swarming_task,omitempty"` BuildbucketTask *BuildbucketTask `protobuf:"bytes,4,opt,name=buildbucket_task,json=buildbucketTask" json:"buildbucket_task,omitempty"` GitilesTask *GitilesTask `protobuf:"bytes,5,opt,name=gitiles_task,json=gitilesTask" json:"gitiles_task,omitempty"` }
TaskDefWrapper is a union type of all possible tasks known to the scheduler.
It is used internally when storing jobs in the datastore.
TODO(vadimsh): Remove '_task' suffixes once TaskDefWrapper is no longer a part of 'Job' proto.
func (*TaskDefWrapper) Descriptor ¶
func (*TaskDefWrapper) Descriptor() ([]byte, []int)
func (*TaskDefWrapper) GetBuildbucketTask ¶
func (m *TaskDefWrapper) GetBuildbucketTask() *BuildbucketTask
func (*TaskDefWrapper) GetGitilesTask ¶
func (m *TaskDefWrapper) GetGitilesTask() *GitilesTask
func (*TaskDefWrapper) GetNoop ¶
func (m *TaskDefWrapper) GetNoop() *NoopTask
func (*TaskDefWrapper) GetSwarmingTask ¶
func (m *TaskDefWrapper) GetSwarmingTask() *SwarmingTask
func (*TaskDefWrapper) GetUrlFetch ¶
func (m *TaskDefWrapper) GetUrlFetch() *UrlFetchTask
func (*TaskDefWrapper) ProtoMessage ¶
func (*TaskDefWrapper) ProtoMessage()
func (*TaskDefWrapper) Reset ¶
func (m *TaskDefWrapper) Reset()
func (*TaskDefWrapper) String ¶
func (m *TaskDefWrapper) String() string
type Trigger ¶
type Trigger struct { // Id is a name of the job (unique for the project). // // Must match '^[0-9A-Za-z_\-\.]{1,100}$'. It's in the same namespace as // regular jobs. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` // Schedule describes when to run this triggering job. // // See Job.schedule fro more info. Default is "with 30s interval". Schedule string `protobuf:"bytes,2,opt,name=schedule" json:"schedule,omitempty"` // Disabled is true to disable this job. Disabled bool `protobuf:"varint,3,opt,name=disabled" json:"disabled,omitempty"` // List of access control rules for the Job. // The order does not matter. // There can be at most 32 different acls for a Job, including those from // acl_sets. Acls []*Acl `protobuf:"bytes,4,rep,name=acls" json:"acls,omitempty"` // A list of ACL set names. Each ACL in each referenced ACL set will be // included in this Job. // The order does not matter. AclSets []string `protobuf:"bytes,5,rep,name=acl_sets,json=aclSets" json:"acl_sets,omitempty"` // Noop is used for testing. It is "do nothing" trigger. Noop *NoopTask `protobuf:"bytes,100,opt,name=noop" json:"noop,omitempty"` // Gitiles is used to trigger jobs for new commits on Gitiles. Gitiles *GitilesTask `protobuf:"bytes,101,opt,name=gitiles" json:"gitiles,omitempty"` }
Trigger specifies a job that triggers other jobs.
It is a special kind of job that periodically checks the state of the world and triggers other jobs.
func (*Trigger) GetGitiles ¶
func (m *Trigger) GetGitiles() *GitilesTask
type UrlFetchTask ¶
type UrlFetchTask struct { // Method is HTTP method to use, such as "GET" or "POST". Default is "GET". Method string `protobuf:"bytes,1,opt,name=method" json:"method,omitempty"` // Url to send the request to. Url string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"` // Timeout is how long to wait for request to complete. Default is 60 sec. TimeoutSec int32 `protobuf:"varint,3,opt,name=timeout_sec,json=timeoutSec" json:"timeout_sec,omitempty"` }
UrlFetchTask specifies parameters for simple HTTP call.
func (*UrlFetchTask) Descriptor ¶
func (*UrlFetchTask) Descriptor() ([]byte, []int)
func (*UrlFetchTask) GetMethod ¶
func (m *UrlFetchTask) GetMethod() string
func (*UrlFetchTask) GetTimeoutSec ¶
func (m *UrlFetchTask) GetTimeoutSec() int32
func (*UrlFetchTask) GetUrl ¶
func (m *UrlFetchTask) GetUrl() string
func (*UrlFetchTask) ProtoMessage ¶
func (*UrlFetchTask) ProtoMessage()
func (*UrlFetchTask) Reset ¶
func (m *UrlFetchTask) Reset()
func (*UrlFetchTask) String ¶
func (m *UrlFetchTask) String() string