17119: make the controller group/contents endpoint conform more
authorWard Vandewege <ward@curii.com>
Fri, 12 Feb 2021 03:08:21 +0000 (22:08 -0500)
committerWard Vandewege <ward@curii.com>
Fri, 12 Feb 2021 03:29:01 +0000 (22:29 -0500)
       completely with the Rails implementation.

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward@curii.com>

lib/controller/router/response.go
sdk/go/arvados/job.go [new file with mode: 0644]
sdk/go/arvados/pipeline_instance.go [new file with mode: 0644]
sdk/go/arvados/pipeline_template.go [new file with mode: 0644]
sdk/go/arvados/trait.go [new file with mode: 0644]

index 656e731701a47d815a27b8537c78860ce2f08bf2..2a7bd9e6745ba9eecda72498e7463e77c17cd887 100644 (file)
@@ -127,7 +127,15 @@ func (rtr *router) sendError(w http.ResponseWriter, err error) {
 
 var infixMap = map[string]interface{}{
        "4zz18": arvados.Collection{},
 
 var infixMap = map[string]interface{}{
        "4zz18": arvados.Collection{},
+       "xvhdp": arvados.ContainerRequest{},
+       "dz642": arvados.Container{},
        "j7d0g": arvados.Group{},
        "j7d0g": arvados.Group{},
+       "8i9sb": arvados.Job{},
+       "d1hrv": arvados.PipelineInstance{},
+       "p5p6p": arvados.PipelineTemplate{},
+       "j58dm": arvados.Specimen{},
+       "q1cn2": arvados.Trait{},
+       "7fd4e": arvados.Workflow{},
 }
 
 var mungeKind = regexp.MustCompile(`\..`)
 }
 
 var mungeKind = regexp.MustCompile(`\..`)
diff --git a/sdk/go/arvados/job.go b/sdk/go/arvados/job.go
new file mode 100644 (file)
index 0000000..7b287b5
--- /dev/null
@@ -0,0 +1,49 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: Apache-2.0
+
+package arvados
+
+import "time"
+
+// Job is an arvados#job record
+type Job struct {
+       UUID                   string    `json:"uuid"`
+       Etag                   string    `json:"etag"`
+       OwnerUUID              string    `json:"owner_uuid"`
+       ModifiedByClientUUID   string    `json:"modified_by_client_uuid"`
+       ModifiedByUserUUID     string    `json:"modified_by_user_uuid"`
+       ModifiedAt             time.Time `json:"modified_at"`
+       SubmitID               string    `json:"submit_id"`
+       Script                 string    `json:"script"`
+       CancelledByClientUUID  string    `json:"cancelled_by_client_uuid"`
+       CancelledByUserUUID    string    `json:"cancelled_by_user_uuid"`
+       CancelledAt            time.Time `json:"cancelled_at"`
+       StartedAt              time.Time `json:"started_at"`
+       FinishedAt             time.Time `json:"finished_at"`
+       Running                bool      `json:"running"`
+       Success                bool      `json:"success"`
+       Output                 string    `json:"output"`
+       CreatedAt              time.Time `json:"created_at"`
+       UpdatedAt              time.Time `json:"updated_at"`
+       IsLockedByUUID         string    `json:"is_locked_by_uuid"`
+       Log                    string    `json:"log"`
+       TasksSummary           string    `json:"tasks_summary"`
+       RuntimeConstraints     string    `json:"runtime_constraints"`
+       Nondeterministic       bool      `json:"nondeterministic"`
+       Repository             string    `json:"repository"`
+       SuppliedScriptVersion  string    `json:"supplied_script_version"`
+       DockerImageLocator     string    `json:"docker_image_locator"`
+       Priority               int       `json:"priority"`
+       Description            string    `json:"description"`
+       State                  string    `json:"state"`
+       ArvadosSDKVersion      string    `json:"arvados_sdk_version"`
+       Kind                   string    `json:"kind"`
+       Components             string    `json:"components"`
+       ScriptParametersDigest string    `json:"script_parameters_digest"`
+       WritableBy             []string  `json:"writable_by,omitempty"`
+}
+
+func (g Job) resourceName() string {
+       return "job"
+}
diff --git a/sdk/go/arvados/pipeline_instance.go b/sdk/go/arvados/pipeline_instance.go
new file mode 100644 (file)
index 0000000..f2c0c81
--- /dev/null
@@ -0,0 +1,34 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: Apache-2.0
+
+package arvados
+
+import "time"
+
+// PipelineInstance is an arvados#pipelineInstance record
+type PipelineInstance struct {
+       UUID                 string    `json:"uuid"`
+       Etag                 string    `json:"etag"`
+       OwnerUUID            string    `json:"owner_uuid"`
+       CreatedAt            time.Time `json:"created_at"`
+       ModifiedByClientUUID string    `json:"modified_by_client_uuid"`
+       ModifiedByUserUUID   string    `json:"modified_by_user_uuid"`
+       ModifiedAt           time.Time `json:"modified_at"`
+       PipelineTemplateUUID string    `json:"pipeline_template_uuid"`
+       Name                 string    `json:"name"`
+       Components           string    `json:"components"`
+       UpdatedAt            time.Time `json:"updated_at"`
+       Properties           string    `json:"properties"`
+       State                string    `json:"state"`
+       ComponentsSummary    string    `json:"components_summary"`
+       StartedAt            time.Time `json:"started_at"`
+       FinishedAt           time.Time `json:"finished_at"`
+       Description          string    `json:"description"`
+       Kind                 string    `json:"kind"`
+       WritableBy           []string  `json:"writable_by,omitempty"`
+}
+
+func (g PipelineInstance) resourceName() string {
+       return "pipelineInstance"
+}
diff --git a/sdk/go/arvados/pipeline_template.go b/sdk/go/arvados/pipeline_template.go
new file mode 100644 (file)
index 0000000..d467716
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: Apache-2.0
+
+package arvados
+
+import "time"
+
+// PipelineTemplate is an arvados#pipelineTemplate record
+type PipelineTemplate struct {
+       UUID                 string    `json:"uuid"`
+       Etag                 string    `json:"etag"`
+       OwnerUUID            string    `json:"owner_uuid"`
+       CreatedAt            time.Time `json:"created_at"`
+       ModifiedByClientUUID string    `json:"modified_by_client_uuid"`
+       ModifiedByUserUUID   string    `json:"modified_by_user_uuid"`
+       ModifiedAt           time.Time `json:"modified_at"`
+       Name                 string    `json:"name"`
+       Components           string    `json:"components"`
+       UpdatedAt            time.Time `json:"updated_at"`
+       Description          string    `json:"description"`
+       Kind                 string    `json:"kind"`
+       WritableBy           []string  `json:"writable_by,omitempty"`
+}
+
+func (g PipelineTemplate) resourceName() string {
+       return "pipelineTemplate"
+}
diff --git a/sdk/go/arvados/trait.go b/sdk/go/arvados/trait.go
new file mode 100644 (file)
index 0000000..3195958
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: Apache-2.0
+
+package arvados
+
+import "time"
+
+// Trait is an arvados#trait record
+type Trait struct {
+       UUID                 string    `json:"uuid"`
+       Etag                 string    `json:"etag"`
+       OwnerUUID            string    `json:"owner_uuid"`
+       CreatedAt            time.Time `json:"created_at"`
+       ModifiedByClientUUID string    `json:"modified_by_client_uuid"`
+       ModifiedByUserUUID   string    `json:"modified_by_user_uuid"`
+       ModifiedAt           time.Time `json:"modified_at"`
+       Name                 string    `json:"name"`
+       Properties           string    `json:"properties"`
+       UpdatedAt            time.Time `json:"updated_at"`
+       Kind                 string    `json:"kind"`
+       WritableBy           []string  `json:"writable_by,omitempty"`
+}
+
+func (g Trait) resourceName() string {
+       return "trait"
+}