Merge branch 'main' into 17591-doc-improvement
[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           map[string]interface{} `json:"tasks_summary"`
32         RuntimeConstraints     map[string]interface{} `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             map[string]interface{} `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 }