X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c3cbac378fb45e3bf996a5d691cd3f205dfb3f90..f777c74882e6b0f52b15f62d1d6251cd180979e4:/sdk/go/arvados/container.go diff --git a/sdk/go/arvados/container.go b/sdk/go/arvados/container.go index bb36b17324..daafc49954 100644 --- a/sdk/go/arvados/container.go +++ b/sdk/go/arvados/container.go @@ -1,38 +1,58 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: Apache-2.0 + package arvados +import "time" + // Container is an arvados#container resource. type Container struct { - UUID string `json:"uuid"` - Command []string `json:"command"` - ContainerImage string `json:"container_image"` - Cwd string `json:"cwd"` - Environment map[string]string `json:"environment"` - LockedByUUID string `json:"locked_by_uuid"` - Mounts map[string]Mount `json:"mounts"` - Output string `json:"output"` - OutputPath string `json:"output_path"` - Priority int `json:"priority"` - RuntimeConstraints RuntimeConstraints `json:"runtime_constraints"` - State ContainerState `json:"state"` + UUID string `json:"uuid"` + CreatedAt time.Time `json:"created_at"` + Command []string `json:"command"` + ContainerImage string `json:"container_image"` + Cwd string `json:"cwd"` + Environment map[string]string `json:"environment"` + LockedByUUID string `json:"locked_by_uuid"` + Mounts map[string]Mount `json:"mounts"` + Output string `json:"output"` + OutputPath string `json:"output_path"` + Priority int `json:"priority"` + RuntimeConstraints RuntimeConstraints `json:"runtime_constraints"` + State ContainerState `json:"state"` + SchedulingParameters SchedulingParameters `json:"scheduling_parameters"` } // Mount is special behavior to attach to a filesystem path or device. type Mount struct { - Kind string `json:"kind"` - Writable bool `json:"writable"` - PortableDataHash string `json:"portable_data_hash"` - UUID string `json:"uuid"` - DeviceType string `json:"device_type"` - Path string `json:"path"` - Content interface{} `json:"content"` + Kind string `json:"kind"` + Writable bool `json:"writable"` + PortableDataHash string `json:"portable_data_hash"` + UUID string `json:"uuid"` + DeviceType string `json:"device_type"` + Path string `json:"path"` + Content interface{} `json:"content"` + ExcludeFromOutput bool `json:"exclude_from_output"` + Capacity int64 `json:"capacity"` + Commit string `json:"commit"` // only if kind=="git_tree" + RepositoryName string `json:"repository_name"` // only if kind=="git_tree" + GitURL string `json:"git_url"` // only if kind=="git_tree" } // RuntimeConstraints specify a container's compute resources (RAM, // CPU) and network connectivity. type RuntimeConstraints struct { - API *bool - RAM int `json:"ram"` - VCPUs int `json:"vcpus"` + API *bool + RAM int64 `json:"ram"` + VCPUs int `json:"vcpus"` + KeepCacheRAM int64 `json:"keep_cache_ram"` +} + +// SchedulingParameters specify a container's scheduling parameters +// such as Partitions +type SchedulingParameters struct { + Partitions []string `json:"partitions"` } // ContainerList is an arvados#containerList resource.