client

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildClonePayload added in v0.5.0

func BuildClonePayload(workspacesCloneBody string, workspacesCloneName string, workspacesCloneNamespace string) (*workspaces.ClonePayload, error)

BuildClonePayload builds the payload for the workspaces clone endpoint from CLI flags.

func BuildCreatePayload

func BuildCreatePayload(workspacesCreateBody string) (*workspaces.CreateWorkspacePayload, error)

BuildCreatePayload builds the payload for the workspaces create endpoint from CLI flags.

func BuildDeletePayload

func BuildDeletePayload(workspacesDeleteName string, workspacesDeleteNamespace string) (*workspaces.DeletePayload, error)

BuildDeletePayload builds the payload for the workspaces delete endpoint from CLI flags.

func BuildGetPayload

func BuildGetPayload(workspacesGetName string, workspacesGetNamespace string) (*workspaces.GetPayload, error)

BuildGetPayload builds the payload for the workspaces get endpoint from CLI flags.

func BuildListPayload

func BuildListPayload(workspacesListNamespace string) (*workspaces.ListPayload, error)

BuildListPayload builds the payload for the workspaces list endpoint from CLI flags.

func BuildResetPayload added in v0.4.0

func BuildResetPayload(workspacesResetName string, workspacesResetNamespace string) (*workspaces.ResetPayload, error)

BuildResetPayload builds the payload for the workspaces reset endpoint from CLI flags.

func BuildStartPayload

func BuildStartPayload(workspacesStartName string, workspacesStartNamespace string) (*workspaces.StartPayload, error)

BuildStartPayload builds the payload for the workspaces start endpoint from CLI flags.

func BuildStopPayload

func BuildStopPayload(workspacesStopName string, workspacesStopNamespace string) (*workspaces.StopPayload, error)

BuildStopPayload builds the payload for the workspaces stop endpoint from CLI flags.

func CloneWorkspacesPath added in v0.5.0

func CloneWorkspacesPath(name string) string

CloneWorkspacesPath returns the URL path to the workspaces service clone HTTP endpoint.

func CreateWorkspacesPath

func CreateWorkspacesPath() string

CreateWorkspacesPath returns the URL path to the workspaces service create HTTP endpoint.

func DecodeCloneResponse added in v0.5.0

func DecodeCloneResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeCloneResponse returns a decoder for responses returned by the workspaces clone endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeCloneResponse may return the following errors:

  • "already_exists" (type workspaces.AlreadyExists): http.StatusConflict
  • "invalid" (type workspaces.Invalid): http.StatusBadRequest
  • "not_found" (type workspaces.NotFound): http.StatusNotFound
  • error: internal error

func DecodeCreateResponse

func DecodeCreateResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeCreateResponse returns a decoder for responses returned by the workspaces create endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeCreateResponse may return the following errors:

  • "already_exists" (type workspaces.AlreadyExists): http.StatusConflict
  • "invalid" (type workspaces.Invalid): http.StatusBadRequest
  • error: internal error

func DecodeDeleteResponse

func DecodeDeleteResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeDeleteResponse returns a decoder for responses returned by the workspaces delete endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeDeleteResponse may return the following errors:

  • "not_found" (type workspaces.NotFound): http.StatusNotFound
  • error: internal error

func DecodeGetResponse

func DecodeGetResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeGetResponse returns a decoder for responses returned by the workspaces get endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeGetResponse may return the following errors:

  • "not_found" (type workspaces.NotFound): http.StatusNotFound
  • error: internal error

func DecodeListResponse

func DecodeListResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeListResponse returns a decoder for responses returned by the workspaces list endpoint. restoreBody controls whether the response body should be restored after having been read.

func DecodeResetResponse added in v0.4.0

func DecodeResetResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeResetResponse returns a decoder for responses returned by the workspaces reset endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeResetResponse may return the following errors:

  • "invalid" (type workspaces.Invalid): http.StatusBadRequest
  • "not_found" (type workspaces.NotFound): http.StatusNotFound
  • error: internal error

func DecodeStartResponse

func DecodeStartResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeStartResponse returns a decoder for responses returned by the workspaces start endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeStartResponse may return the following errors:

  • "not_found" (type workspaces.NotFound): http.StatusNotFound
  • error: internal error

func DecodeStopResponse

func DecodeStopResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeStopResponse returns a decoder for responses returned by the workspaces stop endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeStopResponse may return the following errors:

  • "not_found" (type workspaces.NotFound): http.StatusNotFound
  • error: internal error

func DeleteWorkspacesPath

func DeleteWorkspacesPath(name string) string

DeleteWorkspacesPath returns the URL path to the workspaces service delete HTTP endpoint.

func EncodeCloneRequest added in v0.5.0

func EncodeCloneRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeCloneRequest returns an encoder for requests sent to the workspaces clone server.

func EncodeCreateRequest

func EncodeCreateRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeCreateRequest returns an encoder for requests sent to the workspaces create server.

func EncodeDeleteRequest

func EncodeDeleteRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeDeleteRequest returns an encoder for requests sent to the workspaces delete server.

func EncodeGetRequest

func EncodeGetRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeGetRequest returns an encoder for requests sent to the workspaces get server.

func EncodeListRequest

func EncodeListRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeListRequest returns an encoder for requests sent to the workspaces list server.

func EncodeResetRequest added in v0.4.0

func EncodeResetRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeResetRequest returns an encoder for requests sent to the workspaces reset server.

func EncodeStartRequest

func EncodeStartRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeStartRequest returns an encoder for requests sent to the workspaces start server.

func EncodeStopRequest

func EncodeStopRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeStopRequest returns an encoder for requests sent to the workspaces stop server.

func GetWorkspacesPath

func GetWorkspacesPath(name string) string

GetWorkspacesPath returns the URL path to the workspaces service get HTTP endpoint.

func ListWorkspacesPath

func ListWorkspacesPath() string

ListWorkspacesPath returns the URL path to the workspaces service list HTTP endpoint.

func NewCloneAlreadyExists added in v0.5.0

func NewCloneAlreadyExists(body string) workspaces.AlreadyExists

NewCloneAlreadyExists builds a workspaces service clone endpoint already_exists error.

func NewCloneInvalid added in v0.5.0

func NewCloneInvalid(body string) workspaces.Invalid

NewCloneInvalid builds a workspaces service clone endpoint invalid error.

func NewCloneNotFound added in v0.5.0

func NewCloneNotFound(body string) workspaces.NotFound

NewCloneNotFound builds a workspaces service clone endpoint not_found error.

func NewCloneWorkspaceCreated added in v0.5.0

func NewCloneWorkspaceCreated(body *CloneResponseBody) *workspacesviews.WorkspaceView

NewCloneWorkspaceCreated builds a "workspaces" service "clone" endpoint result from a HTTP "Created" response.

func NewCreateAlreadyExists

func NewCreateAlreadyExists(body string) workspaces.AlreadyExists

NewCreateAlreadyExists builds a workspaces service create endpoint already_exists error.

func NewCreateInvalid

func NewCreateInvalid(body string) workspaces.Invalid

NewCreateInvalid builds a workspaces service create endpoint invalid error.

func NewCreateWorkspaceCreated

func NewCreateWorkspaceCreated(body *CreateResponseBody) *workspacesviews.WorkspaceView

NewCreateWorkspaceCreated builds a "workspaces" service "create" endpoint result from a HTTP "Created" response.

func NewDeleteNotFound

func NewDeleteNotFound(body string) workspaces.NotFound

NewDeleteNotFound builds a workspaces service delete endpoint not_found error.

func NewGetNotFound

func NewGetNotFound(body string) workspaces.NotFound

NewGetNotFound builds a workspaces service get endpoint not_found error.

func NewGetWorkspaceOK

func NewGetWorkspaceOK(body *GetResponseBody) *workspacesviews.WorkspaceView

NewGetWorkspaceOK builds a "workspaces" service "get" endpoint result from a HTTP "OK" response.

func NewListWorkspaceOK

func NewListWorkspaceOK(body []*WorkspaceResponse) []*workspaces.Workspace

NewListWorkspaceOK builds a "workspaces" service "list" endpoint result from a HTTP "OK" response.

func NewResetInvalid added in v0.4.0

func NewResetInvalid(body string) workspaces.Invalid

NewResetInvalid builds a workspaces service reset endpoint invalid error.

func NewResetNotFound added in v0.4.0

func NewResetNotFound(body string) workspaces.NotFound

NewResetNotFound builds a workspaces service reset endpoint not_found error.

func NewResetWorkspaceOK added in v0.4.0

func NewResetWorkspaceOK(body *ResetResponseBody) *workspacesviews.WorkspaceView

NewResetWorkspaceOK builds a "workspaces" service "reset" endpoint result from a HTTP "OK" response.

func NewStartNotFound

func NewStartNotFound(body string) workspaces.NotFound

NewStartNotFound builds a workspaces service start endpoint not_found error.

func NewStartWorkspaceOK

func NewStartWorkspaceOK(body *StartResponseBody) *workspacesviews.WorkspaceView

NewStartWorkspaceOK builds a "workspaces" service "start" endpoint result from a HTTP "OK" response.

func NewStopNotFound

func NewStopNotFound(body string) workspaces.NotFound

NewStopNotFound builds a workspaces service stop endpoint not_found error.

func NewStopWorkspaceOK

func NewStopWorkspaceOK(body *StopResponseBody) *workspacesviews.WorkspaceView

NewStopWorkspaceOK builds a "workspaces" service "stop" endpoint result from a HTTP "OK" response.

func ResetWorkspacesPath added in v0.4.0

func ResetWorkspacesPath(name string) string

ResetWorkspacesPath returns the URL path to the workspaces service reset HTTP endpoint.

func StartWorkspacesPath

func StartWorkspacesPath(name string) string

StartWorkspacesPath returns the URL path to the workspaces service start HTTP endpoint.

func StopWorkspacesPath

func StopWorkspacesPath(name string) string

StopWorkspacesPath returns the URL path to the workspaces service stop HTTP endpoint.

func ValidateContainerStateResponse

func ValidateContainerStateResponse(body *ContainerStateResponse) (err error)

ValidateContainerStateResponse runs the validations defined on ContainerStateResponse

func ValidateContainerStateResponseBody

func ValidateContainerStateResponseBody(body *ContainerStateResponseBody) (err error)

ValidateContainerStateResponseBody runs the validations defined on ContainerStateResponseBody

func ValidateImageRemoteDesktopResponse added in v0.5.0

func ValidateImageRemoteDesktopResponse(body *ImageRemoteDesktopResponse) (err error)

ValidateImageRemoteDesktopResponse runs the validations defined on ImageRemoteDesktopResponse

func ValidateImageRemoteDesktopResponseBody added in v0.5.0

func ValidateImageRemoteDesktopResponseBody(body *ImageRemoteDesktopResponseBody) (err error)

ValidateImageRemoteDesktopResponseBody runs the validations defined on ImageRemoteDesktopResponseBody

func ValidateTolerationRequestBody

func ValidateTolerationRequestBody(body *TolerationRequestBody) (err error)

ValidateTolerationRequestBody runs the validations defined on TolerationRequestBody

func ValidateVolumeMountResponse

func ValidateVolumeMountResponse(body *VolumeMountResponse) (err error)

ValidateVolumeMountResponse runs the validations defined on VolumeMountResponse

func ValidateVolumeMountResponseBody

func ValidateVolumeMountResponseBody(body *VolumeMountResponseBody) (err error)

ValidateVolumeMountResponseBody runs the validations defined on VolumeMountResponseBody

func ValidateWorkspaceResponse

func ValidateWorkspaceResponse(body *WorkspaceResponse) (err error)

ValidateWorkspaceResponse runs the validations defined on WorkspaceResponse

Types

type Client

type Client struct {
	// List Doer is the HTTP client used to make requests to the list endpoint.
	ListDoer goahttp.Doer

	// Get Doer is the HTTP client used to make requests to the get endpoint.
	GetDoer goahttp.Doer

	// Create Doer is the HTTP client used to make requests to the create endpoint.
	CreateDoer goahttp.Doer

	// Delete Doer is the HTTP client used to make requests to the delete endpoint.
	DeleteDoer goahttp.Doer

	// Start Doer is the HTTP client used to make requests to the start endpoint.
	StartDoer goahttp.Doer

	// Stop Doer is the HTTP client used to make requests to the stop endpoint.
	StopDoer goahttp.Doer

	// Reset Doer is the HTTP client used to make requests to the reset endpoint.
	ResetDoer goahttp.Doer

	// Clone Doer is the HTTP client used to make requests to the clone endpoint.
	CloneDoer goahttp.Doer

	// RestoreResponseBody controls whether the response bodies are reset after
	// decoding so they can be read again.
	RestoreResponseBody bool
	// contains filtered or unexported fields
}

Client lists the workspaces service endpoint HTTP clients.

func NewClient

func NewClient(
	scheme string,
	host string,
	doer goahttp.Doer,
	enc func(*http.Request) goahttp.Encoder,
	dec func(*http.Response) goahttp.Decoder,
	restoreBody bool,
) *Client

NewClient instantiates HTTP clients for all the workspaces service servers.

func (*Client) BuildCloneRequest added in v0.5.0

func (c *Client) BuildCloneRequest(ctx context.Context, v any) (*http.Request, error)

BuildCloneRequest instantiates a HTTP request object with method and path set to call the "workspaces" service "clone" endpoint

func (*Client) BuildCreateRequest

func (c *Client) BuildCreateRequest(ctx context.Context, v any) (*http.Request, error)

BuildCreateRequest instantiates a HTTP request object with method and path set to call the "workspaces" service "create" endpoint

func (*Client) BuildDeleteRequest

func (c *Client) BuildDeleteRequest(ctx context.Context, v any) (*http.Request, error)

BuildDeleteRequest instantiates a HTTP request object with method and path set to call the "workspaces" service "delete" endpoint

func (*Client) BuildGetRequest

func (c *Client) BuildGetRequest(ctx context.Context, v any) (*http.Request, error)

BuildGetRequest instantiates a HTTP request object with method and path set to call the "workspaces" service "get" endpoint

func (*Client) BuildListRequest

func (c *Client) BuildListRequest(ctx context.Context, v any) (*http.Request, error)

BuildListRequest instantiates a HTTP request object with method and path set to call the "workspaces" service "list" endpoint

func (*Client) BuildResetRequest added in v0.4.0

func (c *Client) BuildResetRequest(ctx context.Context, v any) (*http.Request, error)

BuildResetRequest instantiates a HTTP request object with method and path set to call the "workspaces" service "reset" endpoint

func (*Client) BuildStartRequest

func (c *Client) BuildStartRequest(ctx context.Context, v any) (*http.Request, error)

BuildStartRequest instantiates a HTTP request object with method and path set to call the "workspaces" service "start" endpoint

func (*Client) BuildStopRequest

func (c *Client) BuildStopRequest(ctx context.Context, v any) (*http.Request, error)

BuildStopRequest instantiates a HTTP request object with method and path set to call the "workspaces" service "stop" endpoint

func (*Client) Clone added in v0.5.0

func (c *Client) Clone() goa.Endpoint

Clone returns an endpoint that makes HTTP requests to the workspaces service clone server.

func (*Client) Create

func (c *Client) Create() goa.Endpoint

Create returns an endpoint that makes HTTP requests to the workspaces service create server.

func (*Client) Delete

func (c *Client) Delete() goa.Endpoint

Delete returns an endpoint that makes HTTP requests to the workspaces service delete server.

func (*Client) Get

func (c *Client) Get() goa.Endpoint

Get returns an endpoint that makes HTTP requests to the workspaces service get server.

func (*Client) List

func (c *Client) List() goa.Endpoint

List returns an endpoint that makes HTTP requests to the workspaces service list server.

func (*Client) Reset added in v0.4.0

func (c *Client) Reset() goa.Endpoint

Reset returns an endpoint that makes HTTP requests to the workspaces service reset server.

func (*Client) Start

func (c *Client) Start() goa.Endpoint

Start returns an endpoint that makes HTTP requests to the workspaces service start server.

func (*Client) Stop

func (c *Client) Stop() goa.Endpoint

Stop returns an endpoint that makes HTTP requests to the workspaces service stop server.

type CloneRequestBody added in v0.5.0

type CloneRequestBody struct {
	// Name for the cloned workspace
	NewName string `form:"new_name" json:"new_name" xml:"new_name"`
	// Override the container image on the clone
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Override the container port on the clone
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// Override the CPU request on the clone
	CPURequest *string `form:"cpu_request,omitempty" json:"cpu_request,omitempty" xml:"cpu_request,omitempty"`
	// Override the memory request on the clone
	MemoryRequest *string `form:"memory_request,omitempty" json:"memory_request,omitempty" xml:"memory_request,omitempty"`
	// Override the CPU limit on the clone
	CPULimit *string `form:"cpu_limit,omitempty" json:"cpu_limit,omitempty" xml:"cpu_limit,omitempty"`
	// Override the memory limit on the clone
	MemoryLimit *string `form:"memory_limit,omitempty" json:"memory_limit,omitempty" xml:"memory_limit,omitempty"`
}

CloneRequestBody is the type of the "workspaces" service "clone" endpoint HTTP request body.

func NewCloneRequestBody added in v0.5.0

func NewCloneRequestBody(p *workspaces.ClonePayload) *CloneRequestBody

NewCloneRequestBody builds the HTTP request body from the payload of the "clone" endpoint of the "workspaces" service.

type CloneResponseBody added in v0.5.0

type CloneResponseBody struct {
	// Workspace name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Kubernetes namespace
	Namespace *string `form:"namespace,omitempty" json:"namespace,omitempty" xml:"namespace,omitempty"`
	// Workspace type: container, vm, or scratch
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// Container image
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Container port
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// CPU request
	CPURequest *string `form:"cpu_request,omitempty" json:"cpu_request,omitempty" xml:"cpu_request,omitempty"`
	// Memory request
	MemoryRequest *string `form:"memory_request,omitempty" json:"memory_request,omitempty" xml:"memory_request,omitempty"`
	// CPU limit
	CPULimit *string `form:"cpu_limit,omitempty" json:"cpu_limit,omitempty" xml:"cpu_limit,omitempty"`
	// Memory limit
	MemoryLimit *string `form:"memory_limit,omitempty" json:"memory_limit,omitempty" xml:"memory_limit,omitempty"`
	// Number of ready replicas
	ReadyReplicas *int `form:"ready_replicas,omitempty" json:"ready_replicas,omitempty" xml:"ready_replicas,omitempty"`
	// Container state
	ContainerState *ContainerStateResponseBody `form:"container_state,omitempty" json:"container_state,omitempty" xml:"container_state,omitempty"`
	// Workspace conditions
	Conditions []*WorkspaceConditionResponseBody `form:"conditions,omitempty" json:"conditions,omitempty" xml:"conditions,omitempty"`
	// Whether the workspace is stopped
	Stopped *bool `form:"stopped,omitempty" json:"stopped,omitempty" xml:"stopped,omitempty"`
	// Creation timestamp
	CreatedAt *string `form:"created_at,omitempty" json:"created_at,omitempty" xml:"created_at,omitempty"`
	// Attached volumes
	VolumeMounts []*VolumeMountResponseBody `form:"volume_mounts,omitempty" json:"volume_mounts,omitempty" xml:"volume_mounts,omitempty"`
	// Remote desktop agent configuration (Tier 1)
	RemoteDesktop *ImageRemoteDesktopResponseBody `form:"remote_desktop,omitempty" json:"remote_desktop,omitempty" xml:"remote_desktop,omitempty"`
}

CloneResponseBody is the type of the "workspaces" service "clone" endpoint HTTP response body.

type ContainerStateResponse

type ContainerStateResponse struct {
	// Current state: running, waiting, terminated
	State *string `form:"state,omitempty" json:"state,omitempty" xml:"state,omitempty"`
	// Reason for the state
	Reason *string `form:"reason,omitempty" json:"reason,omitempty" xml:"reason,omitempty"`
	// Details about the state
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
	// Time the container started
	StartedAt *string `form:"started_at,omitempty" json:"started_at,omitempty" xml:"started_at,omitempty"`
}

ContainerStateResponse is used to define fields on response body types.

type ContainerStateResponseBody

type ContainerStateResponseBody struct {
	// Current state: running, waiting, terminated
	State *string `form:"state,omitempty" json:"state,omitempty" xml:"state,omitempty"`
	// Reason for the state
	Reason *string `form:"reason,omitempty" json:"reason,omitempty" xml:"reason,omitempty"`
	// Details about the state
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
	// Time the container started
	StartedAt *string `form:"started_at,omitempty" json:"started_at,omitempty" xml:"started_at,omitempty"`
}

ContainerStateResponseBody is used to define fields on response body types.

type CreateRequestBody

type CreateRequestBody struct {
	// Workspace name
	Name string `form:"name" json:"name" xml:"name"`
	// Target namespace
	Namespace string `form:"namespace" json:"namespace" xml:"namespace"`
	// Workspace type: 'container' (default, runs as a StatefulSet), 'vm' (KubeVirt
	// VirtualMachine booting a containerDisk image), or 'scratch' (plain
	// Deployment)
	Type string `form:"type" json:"type" xml:"type"`
	// Main container spec
	Container *WorkspaceContainerRequestBody `form:"container" json:"container" xml:"container"`
	// Volumes to mount
	VolumeMounts []*VolumeMountRequestBody `form:"volume_mounts,omitempty" json:"volume_mounts,omitempty" xml:"volume_mounts,omitempty"`
	// Custom environment variables to inject into the workspace container
	Env []*EnvVarRequestBody `form:"env,omitempty" json:"env,omitempty" xml:"env,omitempty"`
	// Pod tolerations for scheduling
	Tolerations []*TolerationRequestBody `form:"tolerations,omitempty" json:"tolerations,omitempty" xml:"tolerations,omitempty"`
	// Node selector labels for scheduling
	NodeSelector map[string]string `form:"node_selector,omitempty" json:"node_selector,omitempty" xml:"node_selector,omitempty"`
	// Mount /dev/shm as an emptyDir with medium=Memory (required for Chrome, ML
	// frameworks)
	SharedMemory bool `form:"shared_memory" json:"shared_memory" xml:"shared_memory"`
	// Image pull policy for the workspace container (Always, IfNotPresent, Never)
	ImagePullPolicy string `form:"image_pull_policy" json:"image_pull_policy" xml:"image_pull_policy"`
}

CreateRequestBody is the type of the "workspaces" service "create" endpoint HTTP request body.

func NewCreateRequestBody

func NewCreateRequestBody(p *workspaces.CreateWorkspacePayload) *CreateRequestBody

NewCreateRequestBody builds the HTTP request body from the payload of the "create" endpoint of the "workspaces" service.

type CreateResponseBody

type CreateResponseBody struct {
	// Workspace name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Kubernetes namespace
	Namespace *string `form:"namespace,omitempty" json:"namespace,omitempty" xml:"namespace,omitempty"`
	// Workspace type: container, vm, or scratch
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// Container image
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Container port
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// CPU request
	CPURequest *string `form:"cpu_request,omitempty" json:"cpu_request,omitempty" xml:"cpu_request,omitempty"`
	// Memory request
	MemoryRequest *string `form:"memory_request,omitempty" json:"memory_request,omitempty" xml:"memory_request,omitempty"`
	// CPU limit
	CPULimit *string `form:"cpu_limit,omitempty" json:"cpu_limit,omitempty" xml:"cpu_limit,omitempty"`
	// Memory limit
	MemoryLimit *string `form:"memory_limit,omitempty" json:"memory_limit,omitempty" xml:"memory_limit,omitempty"`
	// Number of ready replicas
	ReadyReplicas *int `form:"ready_replicas,omitempty" json:"ready_replicas,omitempty" xml:"ready_replicas,omitempty"`
	// Container state
	ContainerState *ContainerStateResponseBody `form:"container_state,omitempty" json:"container_state,omitempty" xml:"container_state,omitempty"`
	// Workspace conditions
	Conditions []*WorkspaceConditionResponseBody `form:"conditions,omitempty" json:"conditions,omitempty" xml:"conditions,omitempty"`
	// Whether the workspace is stopped
	Stopped *bool `form:"stopped,omitempty" json:"stopped,omitempty" xml:"stopped,omitempty"`
	// Creation timestamp
	CreatedAt *string `form:"created_at,omitempty" json:"created_at,omitempty" xml:"created_at,omitempty"`
	// Attached volumes
	VolumeMounts []*VolumeMountResponseBody `form:"volume_mounts,omitempty" json:"volume_mounts,omitempty" xml:"volume_mounts,omitempty"`
	// Remote desktop agent configuration (Tier 1)
	RemoteDesktop *ImageRemoteDesktopResponseBody `form:"remote_desktop,omitempty" json:"remote_desktop,omitempty" xml:"remote_desktop,omitempty"`
}

CreateResponseBody is the type of the "workspaces" service "create" endpoint HTTP response body.

type EnvVarRequestBody

type EnvVarRequestBody struct {
	// Environment variable name
	Name string `form:"name" json:"name" xml:"name"`
	// Environment variable value
	Value string `form:"value" json:"value" xml:"value"`
}

EnvVarRequestBody is used to define fields on request body types.

type GetResponseBody

type GetResponseBody struct {
	// Workspace name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Kubernetes namespace
	Namespace *string `form:"namespace,omitempty" json:"namespace,omitempty" xml:"namespace,omitempty"`
	// Workspace type: container, vm, or scratch
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// Container image
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Container port
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// CPU request
	CPURequest *string `form:"cpu_request,omitempty" json:"cpu_request,omitempty" xml:"cpu_request,omitempty"`
	// Memory request
	MemoryRequest *string `form:"memory_request,omitempty" json:"memory_request,omitempty" xml:"memory_request,omitempty"`
	// CPU limit
	CPULimit *string `form:"cpu_limit,omitempty" json:"cpu_limit,omitempty" xml:"cpu_limit,omitempty"`
	// Memory limit
	MemoryLimit *string `form:"memory_limit,omitempty" json:"memory_limit,omitempty" xml:"memory_limit,omitempty"`
	// Number of ready replicas
	ReadyReplicas *int `form:"ready_replicas,omitempty" json:"ready_replicas,omitempty" xml:"ready_replicas,omitempty"`
	// Container state
	ContainerState *ContainerStateResponseBody `form:"container_state,omitempty" json:"container_state,omitempty" xml:"container_state,omitempty"`
	// Workspace conditions
	Conditions []*WorkspaceConditionResponseBody `form:"conditions,omitempty" json:"conditions,omitempty" xml:"conditions,omitempty"`
	// Whether the workspace is stopped
	Stopped *bool `form:"stopped,omitempty" json:"stopped,omitempty" xml:"stopped,omitempty"`
	// Creation timestamp
	CreatedAt *string `form:"created_at,omitempty" json:"created_at,omitempty" xml:"created_at,omitempty"`
	// Attached volumes
	VolumeMounts []*VolumeMountResponseBody `form:"volume_mounts,omitempty" json:"volume_mounts,omitempty" xml:"volume_mounts,omitempty"`
	// Remote desktop agent configuration (Tier 1)
	RemoteDesktop *ImageRemoteDesktopResponseBody `form:"remote_desktop,omitempty" json:"remote_desktop,omitempty" xml:"remote_desktop,omitempty"`
}

GetResponseBody is the type of the "workspaces" service "get" endpoint HTTP response body.

type ImageRemoteDesktopResponse added in v0.5.0

type ImageRemoteDesktopResponse struct {
	// Protocol name (e.g. "selkies")
	Protocol *string `form:"protocol,omitempty" json:"protocol,omitempty" xml:"protocol,omitempty"`
	// Guest port the agent listens on
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// Path relative to the agent's base URL
	Path *string `form:"path,omitempty" json:"path,omitempty" xml:"path,omitempty"`
}

ImageRemoteDesktopResponse is used to define fields on response body types.

type ImageRemoteDesktopResponseBody added in v0.5.0

type ImageRemoteDesktopResponseBody struct {
	// Protocol name (e.g. "selkies")
	Protocol *string `form:"protocol,omitempty" json:"protocol,omitempty" xml:"protocol,omitempty"`
	// Guest port the agent listens on
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// Path relative to the agent's base URL
	Path *string `form:"path,omitempty" json:"path,omitempty" xml:"path,omitempty"`
}

ImageRemoteDesktopResponseBody is used to define fields on response body types.

type ResetResponseBody added in v0.4.0

type ResetResponseBody struct {
	// Workspace name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Kubernetes namespace
	Namespace *string `form:"namespace,omitempty" json:"namespace,omitempty" xml:"namespace,omitempty"`
	// Workspace type: container, vm, or scratch
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// Container image
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Container port
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// CPU request
	CPURequest *string `form:"cpu_request,omitempty" json:"cpu_request,omitempty" xml:"cpu_request,omitempty"`
	// Memory request
	MemoryRequest *string `form:"memory_request,omitempty" json:"memory_request,omitempty" xml:"memory_request,omitempty"`
	// CPU limit
	CPULimit *string `form:"cpu_limit,omitempty" json:"cpu_limit,omitempty" xml:"cpu_limit,omitempty"`
	// Memory limit
	MemoryLimit *string `form:"memory_limit,omitempty" json:"memory_limit,omitempty" xml:"memory_limit,omitempty"`
	// Number of ready replicas
	ReadyReplicas *int `form:"ready_replicas,omitempty" json:"ready_replicas,omitempty" xml:"ready_replicas,omitempty"`
	// Container state
	ContainerState *ContainerStateResponseBody `form:"container_state,omitempty" json:"container_state,omitempty" xml:"container_state,omitempty"`
	// Workspace conditions
	Conditions []*WorkspaceConditionResponseBody `form:"conditions,omitempty" json:"conditions,omitempty" xml:"conditions,omitempty"`
	// Whether the workspace is stopped
	Stopped *bool `form:"stopped,omitempty" json:"stopped,omitempty" xml:"stopped,omitempty"`
	// Creation timestamp
	CreatedAt *string `form:"created_at,omitempty" json:"created_at,omitempty" xml:"created_at,omitempty"`
	// Attached volumes
	VolumeMounts []*VolumeMountResponseBody `form:"volume_mounts,omitempty" json:"volume_mounts,omitempty" xml:"volume_mounts,omitempty"`
	// Remote desktop agent configuration (Tier 1)
	RemoteDesktop *ImageRemoteDesktopResponseBody `form:"remote_desktop,omitempty" json:"remote_desktop,omitempty" xml:"remote_desktop,omitempty"`
}

ResetResponseBody is the type of the "workspaces" service "reset" endpoint HTTP response body.

type StartResponseBody

type StartResponseBody struct {
	// Workspace name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Kubernetes namespace
	Namespace *string `form:"namespace,omitempty" json:"namespace,omitempty" xml:"namespace,omitempty"`
	// Workspace type: container, vm, or scratch
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// Container image
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Container port
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// CPU request
	CPURequest *string `form:"cpu_request,omitempty" json:"cpu_request,omitempty" xml:"cpu_request,omitempty"`
	// Memory request
	MemoryRequest *string `form:"memory_request,omitempty" json:"memory_request,omitempty" xml:"memory_request,omitempty"`
	// CPU limit
	CPULimit *string `form:"cpu_limit,omitempty" json:"cpu_limit,omitempty" xml:"cpu_limit,omitempty"`
	// Memory limit
	MemoryLimit *string `form:"memory_limit,omitempty" json:"memory_limit,omitempty" xml:"memory_limit,omitempty"`
	// Number of ready replicas
	ReadyReplicas *int `form:"ready_replicas,omitempty" json:"ready_replicas,omitempty" xml:"ready_replicas,omitempty"`
	// Container state
	ContainerState *ContainerStateResponseBody `form:"container_state,omitempty" json:"container_state,omitempty" xml:"container_state,omitempty"`
	// Workspace conditions
	Conditions []*WorkspaceConditionResponseBody `form:"conditions,omitempty" json:"conditions,omitempty" xml:"conditions,omitempty"`
	// Whether the workspace is stopped
	Stopped *bool `form:"stopped,omitempty" json:"stopped,omitempty" xml:"stopped,omitempty"`
	// Creation timestamp
	CreatedAt *string `form:"created_at,omitempty" json:"created_at,omitempty" xml:"created_at,omitempty"`
	// Attached volumes
	VolumeMounts []*VolumeMountResponseBody `form:"volume_mounts,omitempty" json:"volume_mounts,omitempty" xml:"volume_mounts,omitempty"`
	// Remote desktop agent configuration (Tier 1)
	RemoteDesktop *ImageRemoteDesktopResponseBody `form:"remote_desktop,omitempty" json:"remote_desktop,omitempty" xml:"remote_desktop,omitempty"`
}

StartResponseBody is the type of the "workspaces" service "start" endpoint HTTP response body.

type StopResponseBody

type StopResponseBody struct {
	// Workspace name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Kubernetes namespace
	Namespace *string `form:"namespace,omitempty" json:"namespace,omitempty" xml:"namespace,omitempty"`
	// Workspace type: container, vm, or scratch
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// Container image
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Container port
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// CPU request
	CPURequest *string `form:"cpu_request,omitempty" json:"cpu_request,omitempty" xml:"cpu_request,omitempty"`
	// Memory request
	MemoryRequest *string `form:"memory_request,omitempty" json:"memory_request,omitempty" xml:"memory_request,omitempty"`
	// CPU limit
	CPULimit *string `form:"cpu_limit,omitempty" json:"cpu_limit,omitempty" xml:"cpu_limit,omitempty"`
	// Memory limit
	MemoryLimit *string `form:"memory_limit,omitempty" json:"memory_limit,omitempty" xml:"memory_limit,omitempty"`
	// Number of ready replicas
	ReadyReplicas *int `form:"ready_replicas,omitempty" json:"ready_replicas,omitempty" xml:"ready_replicas,omitempty"`
	// Container state
	ContainerState *ContainerStateResponseBody `form:"container_state,omitempty" json:"container_state,omitempty" xml:"container_state,omitempty"`
	// Workspace conditions
	Conditions []*WorkspaceConditionResponseBody `form:"conditions,omitempty" json:"conditions,omitempty" xml:"conditions,omitempty"`
	// Whether the workspace is stopped
	Stopped *bool `form:"stopped,omitempty" json:"stopped,omitempty" xml:"stopped,omitempty"`
	// Creation timestamp
	CreatedAt *string `form:"created_at,omitempty" json:"created_at,omitempty" xml:"created_at,omitempty"`
	// Attached volumes
	VolumeMounts []*VolumeMountResponseBody `form:"volume_mounts,omitempty" json:"volume_mounts,omitempty" xml:"volume_mounts,omitempty"`
	// Remote desktop agent configuration (Tier 1)
	RemoteDesktop *ImageRemoteDesktopResponseBody `form:"remote_desktop,omitempty" json:"remote_desktop,omitempty" xml:"remote_desktop,omitempty"`
}

StopResponseBody is the type of the "workspaces" service "stop" endpoint HTTP response body.

type TolerationRequestBody

type TolerationRequestBody struct {
	// Toleration key
	Key string `form:"key" json:"key" xml:"key"`
	// Operator: Exists or Equal
	Operator string `form:"operator" json:"operator" xml:"operator"`
	// Toleration value
	Value *string `form:"value,omitempty" json:"value,omitempty" xml:"value,omitempty"`
	// Taint effect: NoSchedule, PreferNoSchedule, or NoExecute
	Effect *string `form:"effect,omitempty" json:"effect,omitempty" xml:"effect,omitempty"`
}

TolerationRequestBody is used to define fields on request body types.

type VolumeMountRequestBody

type VolumeMountRequestBody struct {
	// Volume/PVC name
	Name string `form:"name" json:"name" xml:"name"`
	// Mount path in container
	MountPath string `form:"mount_path" json:"mount_path" xml:"mount_path"`
}

VolumeMountRequestBody is used to define fields on request body types.

type VolumeMountResponse

type VolumeMountResponse struct {
	// Volume/PVC name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Mount path in container
	MountPath *string `form:"mount_path,omitempty" json:"mount_path,omitempty" xml:"mount_path,omitempty"`
}

VolumeMountResponse is used to define fields on response body types.

type VolumeMountResponseBody

type VolumeMountResponseBody struct {
	// Volume/PVC name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Mount path in container
	MountPath *string `form:"mount_path,omitempty" json:"mount_path,omitempty" xml:"mount_path,omitempty"`
}

VolumeMountResponseBody is used to define fields on response body types.

type WorkspaceConditionResponse

type WorkspaceConditionResponse struct {
	// Condition type
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// Condition status
	Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
	// Brief reason
	Reason *string `form:"reason,omitempty" json:"reason,omitempty" xml:"reason,omitempty"`
	// Detailed message
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
	// Last transition time
	LastTransitionTime *string `form:"last_transition_time,omitempty" json:"last_transition_time,omitempty" xml:"last_transition_time,omitempty"`
}

WorkspaceConditionResponse is used to define fields on response body types.

type WorkspaceConditionResponseBody

type WorkspaceConditionResponseBody struct {
	// Condition type
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// Condition status
	Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
	// Brief reason
	Reason *string `form:"reason,omitempty" json:"reason,omitempty" xml:"reason,omitempty"`
	// Detailed message
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
	// Last transition time
	LastTransitionTime *string `form:"last_transition_time,omitempty" json:"last_transition_time,omitempty" xml:"last_transition_time,omitempty"`
}

WorkspaceConditionResponseBody is used to define fields on response body types.

type WorkspaceContainerRequestBody

type WorkspaceContainerRequestBody struct {
	// Container name
	Name string `form:"name" json:"name" xml:"name"`
	// Container image
	Image string `form:"image" json:"image" xml:"image"`
	// Container port
	Port int `form:"port" json:"port" xml:"port"`
	// CPU request
	CPURequest string `form:"cpu_request" json:"cpu_request" xml:"cpu_request"`
	// Memory request
	MemoryRequest string `form:"memory_request" json:"memory_request" xml:"memory_request"`
	// CPU limit
	CPULimit string `form:"cpu_limit" json:"cpu_limit" xml:"cpu_limit"`
	// Memory limit
	MemoryLimit string `form:"memory_limit" json:"memory_limit" xml:"memory_limit"`
	// GPU resource request count (e.g. "1")
	GpuRequest *string `form:"gpu_request,omitempty" json:"gpu_request,omitempty" xml:"gpu_request,omitempty"`
	// GPU vendor resource name (e.g. nvidia.com/gpu, amd.com/gpu)
	GpuVendor string `form:"gpu_vendor" json:"gpu_vendor" xml:"gpu_vendor"`
}

WorkspaceContainerRequestBody is used to define fields on request body types.

type WorkspaceResponse

type WorkspaceResponse struct {
	// Workspace name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Kubernetes namespace
	Namespace *string `form:"namespace,omitempty" json:"namespace,omitempty" xml:"namespace,omitempty"`
	// Workspace type: container, vm, or scratch
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// Container image
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Container port
	Port *int `form:"port,omitempty" json:"port,omitempty" xml:"port,omitempty"`
	// CPU request
	CPURequest *string `form:"cpu_request,omitempty" json:"cpu_request,omitempty" xml:"cpu_request,omitempty"`
	// Memory request
	MemoryRequest *string `form:"memory_request,omitempty" json:"memory_request,omitempty" xml:"memory_request,omitempty"`
	// CPU limit
	CPULimit *string `form:"cpu_limit,omitempty" json:"cpu_limit,omitempty" xml:"cpu_limit,omitempty"`
	// Memory limit
	MemoryLimit *string `form:"memory_limit,omitempty" json:"memory_limit,omitempty" xml:"memory_limit,omitempty"`
	// Number of ready replicas
	ReadyReplicas *int `form:"ready_replicas,omitempty" json:"ready_replicas,omitempty" xml:"ready_replicas,omitempty"`
	// Container state
	ContainerState *ContainerStateResponse `form:"container_state,omitempty" json:"container_state,omitempty" xml:"container_state,omitempty"`
	// Workspace conditions
	Conditions []*WorkspaceConditionResponse `form:"conditions,omitempty" json:"conditions,omitempty" xml:"conditions,omitempty"`
	// Whether the workspace is stopped
	Stopped *bool `form:"stopped,omitempty" json:"stopped,omitempty" xml:"stopped,omitempty"`
	// Creation timestamp
	CreatedAt *string `form:"created_at,omitempty" json:"created_at,omitempty" xml:"created_at,omitempty"`
	// Attached volumes
	VolumeMounts []*VolumeMountResponse `form:"volume_mounts,omitempty" json:"volume_mounts,omitempty" xml:"volume_mounts,omitempty"`
	// Remote desktop agent configuration (Tier 1)
	RemoteDesktop *ImageRemoteDesktopResponse `form:"remote_desktop,omitempty" json:"remote_desktop,omitempty" xml:"remote_desktop,omitempty"`
}

WorkspaceResponse is used to define fields on response body types.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL