18c84b10850a58be2fcc65999960dbbe906155af
[arvados.git] / sdk / go / arvados / job.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: Apache-2.0
4
5 package arvados
6
7 import "time"
8
9 // Job is an arvados#job record
10 type Job struct {
11         UUID                   string    `json:"uuid"`
12         Etag                   string    `json:"etag"`
13         OwnerUUID              string    `json:"owner_uuid"`
14         ModifiedByClientUUID   string    `json:"modified_by_client_uuid"`
15         ModifiedByUserUUID     string    `json:"modified_by_user_uuid"`
16         ModifiedAt             time.Time `json:"modified_at"`
17         SubmitID               string    `json:"submit_id"`
18         Script                 string    `json:"script"`
19         CancelledByClientUUID  string    `json:"cancelled_by_client_uuid"`
20         CancelledByUserUUID    string    `json:"cancelled_by_user_uuid"`
21         CancelledAt            time.Time `json:"cancelled_at"`
22         StartedAt              time.Time `json:"started_at"`
23         FinishedAt             time.Time `json:"finished_at"`
24         Running                bool      `json:"running"`
25         Success                bool      `json:"success"`
26         Output                 string    `json:"output"`
27         CreatedAt              time.Time `json:"created_at"`
28         UpdatedAt              time.Time `json:"updated_at"`
29         IsLockedByUUID         string    `json:"is_locked_by_uuid"`
30         Log                    string    `json:"log"`
31         TasksSummary           string    `json:"tasks_summary"`
32         RuntimeConstraints     string    `json:"runtime_constraints"`
33         Nondeterministic       bool      `json:"nondeterministic"`
34         Repository             string    `json:"repository"`
35         SuppliedScriptVersion  string    `json:"supplied_script_version"`
36         DockerImageLocator     string    `json:"docker_image_locator"`
37         Priority               int       `json:"priority"`
38         Description            string    `json:"description"`
39         State                  string    `json:"state"`
40         ArvadosSDKVersion      string    `json:"arvados_sdk_version"`
41         Components             string    `json:"components"`
42         ScriptParametersDigest string    `json:"script_parameters_digest"`
43         WritableBy             []string  `json:"writable_by,omitempty"`
44 }
45
46 func (g Job) resourceName() string {
47         return "job"
48 }