1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
11 "golang.org/x/net/context"
14 type SingularityClient struct {
15 containerConfig ContainerConfig
19 func (c SingularityClient) GetContainerConfig() (ContainerConfig, error) {
20 return c.containerConfig, nil
23 func (c SingularityClient) GetHostConfig() (HostConfig, error) {
24 return c.hostConfig, nil
27 func (c SingularityClient) GetImage() (imageID string) {
28 return c.containerConfig.Image
31 func (c SingularityClient) SetImage(imageID string) {
32 c.containerConfig.Image = imageID
35 func (c SingularityClient) GetNetworkMode() (networkMode NetworkMode) {
36 return c.hostConfig.NetworkMode
39 func (c SingularityClient) SetNetworkMode(networkMode NetworkMode) {
40 c.hostConfig.NetworkMode = networkMode
43 func (c SingularityClient) SetHostConfig(hostConfig HostConfig) error {
44 c.hostConfig = hostConfig
48 func (c SingularityClient) ContainerAttach(ctx context.Context, container string, options ContainerAttachOptions) (HijackedResponse, error) {
49 fmt.Printf("placeholder for container ContainerAttach %s", container)
51 return HijackedResponse{}, nil
54 func (c SingularityClient) ContainerCreate(ctx context.Context, config ContainerConfig, hostConfig HostConfig, networkingConfig *NetworkingConfig, containerName string) (ContainerCreateResponse, error) {
55 fmt.Printf("placeholder for container ContainerCreate %s", containerName)
57 return ContainerCreateResponse{}, nil
60 func (c SingularityClient) ContainerStart(ctx context.Context, container string, options ContainerStartOptions) error {
61 fmt.Printf("placeholder for container ContainerStart %s", container)
66 func (c SingularityClient) ContainerRemove(ctx context.Context, container string, options ContainerRemoveOptions) error {
67 fmt.Printf("placeholder for container ContainerRemove %s", container)
72 func (c SingularityClient) ContainerWait(ctx context.Context, container string, condition WaitCondition) (<-chan ContainerWaitOKBody, <-chan error) {
73 fmt.Printf("placeholder for ContainerWait")
74 chanC := make(chan ContainerWaitOKBody)
75 chanE := make(chan error)
79 func (c SingularityClient) ContainerInspect(ctx context.Context, id string) (ContainerInspectResponse, error) {
80 fmt.Printf("placeholder for container ContainerInspect %s", id)
82 return ContainerInspectResponse{}, nil
85 func (c SingularityClient) ImageInspectWithRaw(ctx context.Context, image string) (ImageInspectResponse, []byte, error) {
86 fmt.Printf("placeholder for ImageInspectWithRaw() %s", image)
88 return ImageInspectResponse{}, []byte(""), nil
91 func (c SingularityClient) ImageLoad(ctx context.Context, input io.Reader, quiet bool) (ImageLoadResponse, error) {
92 fmt.Printf("placeholder for ImageLoad")
93 return ImageLoadResponse{}, nil
96 func (c SingularityClient) ImageRemove(ctx context.Context, image string, options ImageRemoveOptions) ([]ImageDeleteResponseItem, error) {
97 fmt.Printf("placeholder for ImageRemove")
98 var responses []ImageDeleteResponseItem
99 tmp := ImageDeleteResponseItem{}
100 responses = append(responses, tmp)
101 return responses, nil
104 func NewSingularityClient() (SingularityClient, error) {
105 var s = &SingularityClient{}