X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3ec51dcf456b2afe02857089895a261653abddd4..3fa6aa4043286ad61e5f29c136d3cc2942e8750d:/sdk/go/arvados/container.go diff --git a/sdk/go/arvados/container.go b/sdk/go/arvados/container.go index 3ff7c52055..466221fe19 100644 --- a/sdk/go/arvados/container.go +++ b/sdk/go/arvados/container.go @@ -8,28 +8,36 @@ import "time" // Container is an arvados#container resource. type Container struct { - UUID string `json:"uuid"` - Etag string `json:"etag"` - 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"` - 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 int64 `json:"priority"` - RuntimeConstraints RuntimeConstraints `json:"runtime_constraints"` - State ContainerState `json:"state"` - SchedulingParameters SchedulingParameters `json:"scheduling_parameters"` - ExitCode int `json:"exit_code"` - RuntimeStatus map[string]interface{} `json:"runtime_status"` - StartedAt *time.Time `json:"started_at"` // nil if not yet started - FinishedAt *time.Time `json:"finished_at"` // nil if not yet finished + UUID string `json:"uuid"` + Etag string `json:"etag"` + 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"` + 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 int64 `json:"priority"` + RuntimeConstraints RuntimeConstraints `json:"runtime_constraints"` + State ContainerState `json:"state"` + SchedulingParameters SchedulingParameters `json:"scheduling_parameters"` + ExitCode int `json:"exit_code"` + RuntimeStatus map[string]interface{} `json:"runtime_status"` + StartedAt *time.Time `json:"started_at"` // nil if not yet started + FinishedAt *time.Time `json:"finished_at"` // nil if not yet finished + GatewayAddress string `json:"gateway_address"` + InteractiveSessionStarted bool `json:"interactive_session_started"` + OutputStorageClasses []string `json:"output_storage_classes"` + RuntimeUserUUID string `json:"runtime_user_uuid"` + RuntimeAuthScopes []string `json:"runtime_auth_scopes"` + RuntimeToken string `json:"runtime_token"` + AuthUUID string `json:"auth_uuid"` + Log string `json:"log"` } // ContainerRequest is an arvados#container_request resource. @@ -41,7 +49,6 @@ type ContainerRequest struct { ModifiedByUserUUID string `json:"modified_by_user_uuid"` ModifiedAt time.Time `json:"modified_at"` Href string `json:"href"` - Kind string `json:"kind"` Etag string `json:"etag"` Name string `json:"name"` Description string `json:"description"` @@ -68,6 +75,8 @@ type ContainerRequest struct { ExpiresAt time.Time `json:"expires_at"` Filters []Filter `json:"filters"` ContainerCount int `json:"container_count"` + OutputStorageClasses []string `json:"output_storage_classes"` + OutputProperties map[string]interface{} `json:"output_properties"` } // Mount is special behavior to attach to a filesystem path or device. @@ -86,13 +95,20 @@ type Mount struct { GitURL string `json:"git_url"` // only if kind=="git_tree" } +type CUDARuntimeConstraints struct { + DriverVersion string `json:"driver_version"` + HardwareCapability string `json:"hardware_capability"` + DeviceCount int `json:"device_count"` +} + // RuntimeConstraints specify a container's compute resources (RAM, // CPU) and network connectivity. type RuntimeConstraints struct { - API bool `json:"api"` - RAM int64 `json:"ram"` - VCPUs int `json:"vcpus"` - KeepCacheRAM int64 `json:"keep_cache_ram"` + API bool `json:"API"` + RAM int64 `json:"ram"` + VCPUs int `json:"vcpus"` + KeepCacheRAM int64 `json:"keep_cache_ram"` + CUDA CUDARuntimeConstraints `json:"cuda"` } // SchedulingParameters specify a container's scheduling parameters