Documentation
¶
Index ¶
- Variables
- type AccessMode
- type Author
- type Challenge
- type Client
- func (c *Client) CompleteChallenge(ctx context.Context, name string) (*Challenge, error)
- func (c *Client) CompleteTutorial(ctx context.Context, name string) (*Tutorial, error)
- func (c *Client) CreateAuthor(ctx context.Context, req CreateAuthorRequest) (*Author, error)
- func (c *Client) CreateChallenge(ctx context.Context, req CreateChallengeRequest) (*Challenge, error)
- func (c *Client) CreateCourse(ctx context.Context, req CreateCourseRequest) (*Course, error)
- func (c *Client) CreatePlay(ctx context.Context, req CreatePlayRequest) (*Play, error)
- func (c *Client) CreatePlayground(ctx context.Context, req CreatePlaygroundRequest) (*Playground, error)
- func (c *Client) CreateRoadmap(ctx context.Context, req CreateRoadmapRequest) (*Roadmap, error)
- func (c *Client) CreateSession(ctx context.Context) (*Session, error)
- func (c *Client) CreateSkillPath(ctx context.Context, req CreateSkillPathRequest) (*SkillPath, error)
- func (c *Client) CreateTraining(ctx context.Context, req CreateTrainingRequest) (*Training, error)
- func (c *Client) CreateTutorial(ctx context.Context, req CreateTutorialRequest) (*Tutorial, error)
- func (c *Client) Delete(ctx context.Context, path string, query url.Values, headers http.Header) (*http.Response, error)
- func (c *Client) DeleteChallenge(ctx context.Context, name string) error
- func (c *Client) DeleteContentFile(ctx context.Context, kind content.ContentKind, name string, file string) error
- func (c *Client) DeleteCourse(ctx context.Context, name string) error
- func (c *Client) DeletePlay(ctx context.Context, id string) error
- func (c *Client) DeletePlayground(ctx context.Context, name string) error
- func (c *Client) DeleteRoadmap(ctx context.Context, name string) error
- func (c *Client) DeleteSession(ctx context.Context, id string) error
- func (c *Client) DeleteSkillPath(ctx context.Context, name string) error
- func (c *Client) DeleteTraining(ctx context.Context, name string) error
- func (c *Client) DeleteTutorial(ctx context.Context, name string) error
- func (c *Client) Download(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) DownloadContentFile(ctx context.Context, kind content.ContentKind, name string, file string, ...) error
- func (c *Client) DownloadTo(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) ExposePort(ctx context.Context, id string, req ExposePortRequest) (*Port, error)
- func (c *Client) ExposeShell(ctx context.Context, id string, req ExposeShellRequest) (*Shell, error)
- func (c *Client) Get(ctx context.Context, path string, query url.Values, headers http.Header) (*http.Response, error)
- func (c *Client) GetAuthor(ctx context.Context) (*Author, error)
- func (c *Client) GetChallenge(ctx context.Context, name string) (*Challenge, error)
- func (c *Client) GetCourse(ctx context.Context, name string) (*Course, error)
- func (c *Client) GetInto(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) GetMe(ctx context.Context) (*Me, error)
- func (c *Client) GetPlay(ctx context.Context, id string) (*Play, error)
- func (c *Client) GetPlayground(ctx context.Context, name string, opts *GetPlaygroundOptions) (*Playground, error)
- func (c *Client) GetRoadmap(ctx context.Context, name string) (*Roadmap, error)
- func (c *Client) GetSession(ctx context.Context, id string) (*Session, error)
- func (c *Client) GetSkillPath(ctx context.Context, name string) (*SkillPath, error)
- func (c *Client) GetTraining(ctx context.Context, name string) (*Training, error)
- func (c *Client) GetTutorial(ctx context.Context, name string) (*Tutorial, error)
- func (c *Client) ListAuthoredChallenges(ctx context.Context) ([]Challenge, error)
- func (c *Client) ListAuthoredCourses(ctx context.Context) ([]Course, error)
- func (c *Client) ListAuthoredRoadmaps(ctx context.Context) ([]Roadmap, error)
- func (c *Client) ListAuthoredSkillPaths(ctx context.Context) ([]SkillPath, error)
- func (c *Client) ListAuthoredTrainings(ctx context.Context) ([]Training, error)
- func (c *Client) ListAuthoredTutorials(ctx context.Context) ([]Tutorial, error)
- func (c *Client) ListChallenges(ctx context.Context, opts *ListChallengesOptions) ([]*Challenge, error)
- func (c *Client) ListContentFiles(ctx context.Context, kind content.ContentKind, name string) ([]string, error)
- func (c *Client) ListCourses(ctx context.Context) ([]Course, error)
- func (c *Client) ListPlaygrounds(ctx context.Context, opts *ListPlaygroundsOptions) ([]Playground, error)
- func (c *Client) ListPlays(ctx context.Context) ([]*Play, error)
- func (c *Client) ListPorts(ctx context.Context, id string) ([]*Port, error)
- func (c *Client) ListRoadmaps(ctx context.Context) ([]Roadmap, error)
- func (c *Client) ListShells(ctx context.Context, id string) ([]*Shell, error)
- func (c *Client) ListSkillPaths(ctx context.Context) ([]SkillPath, error)
- func (c *Client) ListTrainings(ctx context.Context) ([]Training, error)
- func (c *Client) ListTutorials(ctx context.Context, opts *ListTutorialsOptions) ([]Tutorial, error)
- func (c *Client) Patch(ctx context.Context, path string, query url.Values, headers http.Header, ...) (*http.Response, error)
- func (c *Client) PatchInto(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) Post(ctx context.Context, path string, query url.Values, headers http.Header, ...) (*http.Response, error)
- func (c *Client) PostInto(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) Put(ctx context.Context, path string, query url.Values, headers http.Header, ...) (*http.Response, error)
- func (c *Client) PutContentMarkdown(ctx context.Context, kind content.ContentKind, name string, file string, ...) error
- func (c *Client) PutInto(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) RequestPlayConn(ctx context.Context, id string) (*PlayConnHandle, error)
- func (c *Client) SetCredentials(sessionID, accessToken string)
- func (c *Client) StartChallenge(ctx context.Context, name string, opts StartChallengeOptions) (*Challenge, error)
- func (c *Client) StartTunnel(ctx context.Context, id string, req StartTunnelRequest) (*StartTunnelResponse, error)
- func (c *Client) StartTutorial(ctx context.Context, name string, opts StartTutorialOptions) (*Tutorial, error)
- func (c *Client) StopChallenge(ctx context.Context, name string) (*Challenge, error)
- func (c *Client) StopTutorial(ctx context.Context, name string) (*Tutorial, error)
- func (c *Client) UnexposePort(ctx context.Context, id string, portID string) error
- func (c *Client) UnexposeShell(ctx context.Context, id string, shellID string) error
- func (c *Client) UpdatePlayground(ctx context.Context, name string, req UpdatePlaygroundRequest) (*Playground, error)
- func (c *Client) Upload(ctx context.Context, url string, src io.Reader) (*http.Response, error)
- func (c *Client) UploadContentFile(ctx context.Context, kind content.ContentKind, name string, file string, ...) error
- func (c *Client) UploadFrom(ctx context.Context, url string, file string) (*http.Response, error)
- type ClientOptions
- type Course
- type CourseVariant
- type CreateAuthorRequest
- type CreateChallengeRequest
- type CreateCourseRequest
- type CreatePlayRequest
- type CreatePlaygroundRequest
- type CreateRoadmapRequest
- type CreateSkillPathRequest
- type CreateTrainingRequest
- type CreateTutorialRequest
- type ExposePortRequest
- type ExposeShellRequest
- type GetPlaygroundOptions
- type InitCondition
- type InitConditionValue
- type InitConditions
- type InitTask
- type ListChallengesOptions
- type ListPlaygroundsOptions
- type ListTutorialsOptions
- type Machine
- type MachineDrive
- type MachineNetwork
- type MachineNetworkInterface
- type MachineResources
- type MachineStartupFile
- type MachineUser
- type Me
- type Play
- func (p *Play) CountCompletedInitTasks() int
- func (p *Play) CountCompletedTasks() int
- func (p *Play) CountInitTasks() int
- func (p *Play) CountTasks() int
- func (p *Play) GetMachine(name string) *Machine
- func (p *Play) IsCompletable() bool
- func (p *Play) IsFailed() bool
- func (p *Play) IsInitialized() bool
- type PlayConn
- type PlayConnHandle
- type PlayConnMessage
- type PlayTask
- type PlayTaskStatus
- type Playground
- type PlaygroundAccessdeprecated
- type PlaygroundAccessControl
- type PlaygroundMachine
- type PlaygroundManifest
- type PlaygroundNetwork
- type PlaygroundSpec
- type PlaygroundTab
- type PlaygroundUserAccess
- type Port
- type PortAccess
- type PremiumAccess
- type Roadmap
- type Session
- type Shell
- type SkillPath
- type StartChallengeOptions
- type StartTunnelRequest
- type StartTunnelResponse
- type StartTutorialOptions
- type Training
- type Tutorial
- type UpdatePlaygroundRequest
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type AccessMode ¶
type AccessMode string
const ( AccessPrivate AccessMode = "private" AccessPublic AccessMode = "public" )
type Challenge ¶
type Challenge struct {
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
Description string `json:"description" yaml:"description"`
Categories []string `json:"categories" yaml:"categories"`
Tags []string `json:"tags,omitempty" yaml:"tags,omitempty"`
Authors []Author `json:"authors" yaml:"authors"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
AttemptCount int `json:"attemptCount" yaml:"attemptCount"`
CompletionCount int `json:"completionCount" yaml:"completionCount"`
Play *Play `json:"play,omitempty" yaml:"play,omitempty"`
Tasks map[string]PlayTask `json:"tasks,omitempty" yaml:"tasks,omitempty"`
}
func (*Challenge) GetKind ¶
func (ch *Challenge) GetKind() content.ContentKind
func (*Challenge) GetPageURL ¶
func (*Challenge) IsAuthoredBy ¶
func (*Challenge) IsOfficial ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(opts ClientOptions) *Client
func (*Client) CompleteChallenge ¶
func (*Client) CompleteTutorial ¶ added in v0.1.36
func (*Client) CreateAuthor ¶
func (*Client) CreateChallenge ¶
func (*Client) CreateCourse ¶
func (*Client) CreatePlay ¶
func (*Client) CreatePlayground ¶
func (c *Client) CreatePlayground(ctx context.Context, req CreatePlaygroundRequest) (*Playground, error)
func (*Client) CreateRoadmap ¶
func (*Client) CreateSession ¶
func (*Client) CreateSkillPath ¶
func (*Client) CreateTraining ¶
func (*Client) CreateTutorial ¶
func (*Client) DeleteChallenge ¶
func (*Client) DeleteContentFile ¶
func (*Client) DeletePlayground ¶
func (*Client) DeleteRoadmap ¶
func (*Client) DeleteSkillPath ¶
func (*Client) DeleteTraining ¶
func (*Client) DeleteTutorial ¶
func (*Client) DownloadContentFile ¶
func (*Client) DownloadTo ¶
func (*Client) ExposePort ¶
func (*Client) ExposeShell ¶
func (*Client) GetChallenge ¶
func (*Client) GetPlayground ¶
func (c *Client) GetPlayground(ctx context.Context, name string, opts *GetPlaygroundOptions) (*Playground, error)
func (*Client) GetRoadmap ¶
func (*Client) GetSession ¶
func (*Client) GetSkillPath ¶
func (*Client) GetTraining ¶
func (*Client) GetTutorial ¶
func (*Client) ListAuthoredChallenges ¶
func (*Client) ListAuthoredCourses ¶
func (*Client) ListAuthoredRoadmaps ¶
func (*Client) ListAuthoredSkillPaths ¶
func (*Client) ListAuthoredTrainings ¶
func (*Client) ListAuthoredTutorials ¶
func (*Client) ListChallenges ¶
func (*Client) ListContentFiles ¶
func (*Client) ListPlaygrounds ¶
func (c *Client) ListPlaygrounds(ctx context.Context, opts *ListPlaygroundsOptions) ([]Playground, error)
func (*Client) ListShells ¶
func (*Client) ListSkillPaths ¶
func (*Client) ListTrainings ¶
func (*Client) ListTutorials ¶
func (*Client) PutContentMarkdown ¶
func (*Client) RequestPlayConn ¶
func (*Client) SetCredentials ¶
func (*Client) StartChallenge ¶
func (*Client) StartTunnel ¶
func (c *Client) StartTunnel(ctx context.Context, id string, req StartTunnelRequest) (*StartTunnelResponse, error)
func (*Client) StartTutorial ¶ added in v0.1.36
func (*Client) StopChallenge ¶
func (*Client) StopTutorial ¶ added in v0.1.36
func (*Client) UnexposePort ¶
func (*Client) UnexposeShell ¶
func (*Client) UpdatePlayground ¶
func (c *Client) UpdatePlayground(ctx context.Context, name string, req UpdatePlaygroundRequest) (*Playground, error)
func (*Client) UploadContentFile ¶
type ClientOptions ¶
type Course ¶
type Course struct {
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
Authors []Author `json:"authors" yaml:"authors"`
}
func (*Course) GetKind ¶
func (c *Course) GetKind() content.ContentKind
func (*Course) GetPageURL ¶
func (*Course) IsAuthoredBy ¶
func (*Course) IsOfficial ¶
type CourseVariant ¶
type CourseVariant string
const ( CourseVariantSimple CourseVariant = "simple" CourseVariantModular CourseVariant = "modular" )
type CreateAuthorRequest ¶
type CreateAuthorRequest struct {
Author
}
type CreateChallengeRequest ¶
type CreateChallengeRequest struct {
Name string `json:"name"`
}
type CreateCourseRequest ¶
type CreateCourseRequest struct {
Name string `json:"name"`
Variant CourseVariant `json:"variant"`
Sample bool `json:"sample"`
}
type CreatePlayRequest ¶
type CreatePlayRequest struct {
Playground string `json:"playground"`
Tabs []PlaygroundTab `json:"tabs,omitempty"`
Networks []PlaygroundNetwork `json:"networks,omitempty"`
Machines []PlaygroundMachine `json:"machines,omitempty"`
InitTasks map[string]InitTask `json:"initTasks,omitempty"`
InitConditions map[string]string `json:"initConditions,omitempty"`
SafetyDisclaimerConsent bool `json:"safetyDisclaimerConsent"`
AsFreeTierUser bool `json:"asFreeTierUser,omitempty"`
}
type CreatePlaygroundRequest ¶
type CreatePlaygroundRequest struct {
Name string `yaml:"name" json:"name"`
Base string `yaml:"base" json:"base"`
Title string `yaml:"title" json:"title"`
Description string `yaml:"description" json:"description"`
Categories []string `yaml:"categories" json:"categories"`
Markdown string `yaml:"markdown,omitempty" json:"markdown,omitempty"`
Networks []PlaygroundNetwork `yaml:"networks" json:"networks"`
Machines []PlaygroundMachine `yaml:"machines" json:"machines"`
Tabs []PlaygroundTab `yaml:"tabs" json:"tabs"`
InitTasks map[string]InitTask `yaml:"initTasks" json:"initTasks"`
InitConditions InitConditions `yaml:"initConditions" json:"initConditions"`
RegistryAuth string `yaml:"registryAuth" json:"registryAuth"`
AccessControl PlaygroundAccessControl `yaml:"accessControl" json:"accessControl"`
}
type CreateRoadmapRequest ¶
type CreateRoadmapRequest struct {
Name string `json:"name"`
}
type CreateSkillPathRequest ¶
type CreateSkillPathRequest struct {
Name string `json:"name"`
}
type CreateTrainingRequest ¶
type CreateTrainingRequest struct {
Name string `json:"name"`
}
type CreateTutorialRequest ¶
type CreateTutorialRequest struct {
Name string `json:"name"`
}
type ExposePortRequest ¶
type ExposeShellRequest ¶
type ExposeShellRequest struct {
Machine string `json:"machine"`
User string `json:"user"`
Access AccessMode `json:"access,omitempty"`
}
type GetPlaygroundOptions ¶
type GetPlaygroundOptions struct {
Format string // <none> | extended
}
type InitCondition ¶
type InitConditionValue ¶
type InitConditions ¶
type InitConditions struct {
Values []InitConditionValue `yaml:"values,omitempty" json:"values,omitempty"`
}
type InitTask ¶
type InitTask struct {
Name string `yaml:"name" json:"name"`
Machine string `yaml:"machine,omitempty" json:"machine,omitempty"`
Init bool `yaml:"init,omitempty" json:"init,omitempty"`
User string `yaml:"user" json:"user"`
TimeoutSeconds int `yaml:"timeout_seconds,omitempty" json:"timeout_seconds,omitempty"`
Needs []string `yaml:"needs,omitempty" json:"needs,omitempty"`
Run string `yaml:"run" json:"run"`
Status int `yaml:"status,omitempty" json:"status,omitempty"`
Conditions []InitCondition `yaml:"conditions,omitempty" json:"conditions,omitempty"`
}
type ListChallengesOptions ¶
type ListPlaygroundsOptions ¶
type ListPlaygroundsOptions struct {
Filter string
}
type ListTutorialsOptions ¶ added in v0.1.36
type Machine ¶
type Machine struct {
Name string `json:"name"`
Users []MachineUser `json:"users"`
Resources MachineResources `json:"resources"`
}
func (*Machine) DefaultUser ¶
func (m *Machine) DefaultUser() *MachineUser
type MachineDrive ¶ added in v0.1.35
type MachineDrive struct {
Source string `yaml:"source,omitempty" json:"source,omitempty"`
Mount string `yaml:"mount,omitempty" json:"mount,omitempty"`
Size string `yaml:"size,omitempty" json:"size,omitempty"`
Filesystem string `yaml:"filesystem,omitempty" json:"filesystem,omitempty"`
ReadOnly bool `yaml:"readOnly,omitempty" json:"readOnly,omitempty"`
}
type MachineNetwork ¶ added in v0.1.35
type MachineNetwork struct {
Interfaces []MachineNetworkInterface `yaml:"interfaces,omitempty" json:"interfaces,omitempty"`
}
type MachineNetworkInterface ¶ added in v0.1.35
type MachineResources ¶
type MachineStartupFile ¶
type MachineUser ¶
type Me ¶
type Me struct {
ID string `json:"id" yaml:"userId"`
GithubProfileId string `json:"githubProfileId" yaml:"githubProfileId"`
PremiumAccess *PremiumAccess `json:"premiumAccess,omitempty" yaml:"premiumAccess,omitempty"`
}
type Play ¶
type Play struct {
ID string `json:"id" yaml:"id"`
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
LastStateAt string `json:"lastStateAt" yaml:"lastStateAt"`
ExpiresIn int `json:"expiresIn" yaml:"expiresIn"`
Playground Playground `json:"playground" yaml:"playground"`
TutorialName string `json:"tutorialName,omitempty" yaml:"tutorialName"`
Tutorial *struct {
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
} `json:"tutorial,omitempty" yaml:"tutorial"`
ChallengeName string `json:"challengeName,omitempty" yaml:"challengeName"`
Challenge *struct {
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
} `json:"challenge,omitempty" yaml:"challenge"`
CourseName string `json:"courseName,omitempty" yaml:"courseName"`
Course *struct {
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
} `json:"course,omitempty" yaml:"course"`
LessonPath string `json:"lessonPath,omitempty" yaml:"lessonPath"`
Lesson *struct {
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
} `json:"lesson,omitempty" yaml:"lesson"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
Active bool `json:"active" yaml:"active"`
Running bool `json:"running" yaml:"running"`
Destroyed bool `json:"destroyed" yaml:"destroyed"`
Failed bool `json:"failed" yaml:"failed"`
Machines []Machine `json:"machines" yaml:"machines"`
Tasks map[string]PlayTask `json:"tasks,omitempty" yaml:"tasks,omitempty"`
}
func (*Play) CountCompletedInitTasks ¶
func (*Play) CountCompletedTasks ¶ added in v0.1.48
func (*Play) CountInitTasks ¶
func (*Play) CountTasks ¶ added in v0.1.48
func (*Play) GetMachine ¶
func (*Play) IsCompletable ¶
func (*Play) IsInitialized ¶
type PlayConn ¶
type PlayConn struct {
// contains filtered or unexported fields
}
func NewPlayConn ¶
type PlayConnHandle ¶
type PlayConnHandle struct {
URL string `json:"url"`
}
type PlayConnMessage ¶
type PlayTask ¶
type PlayTask struct {
Name string `json:"name"`
Init bool `json:"init"`
Helper bool `json:"helper"`
Status PlayTaskStatus `json:"status"`
Version int `json:"version"`
}
type PlayTaskStatus ¶
type PlayTaskStatus int
const ( PlayTaskStatusNone PlayTaskStatus = 0 PlayTaskStatusCreated PlayTaskStatus = 10 PlayTaskStatusBlocked PlayTaskStatus = 20 PlayTaskStatusRunning PlayTaskStatus = 30 PlayTaskStatusFailed PlayTaskStatus = 35 PlayTaskStatusCompleted PlayTaskStatus = 40 )
type Playground ¶
type Playground struct {
ID string `yaml:"id" json:"id"`
Owner string `yaml:"owner" json:"owner"`
Name string `yaml:"name" json:"name"`
Base string `yaml:"base" json:"base"`
Title string `yaml:"title" json:"title"`
Description string `yaml:"description" json:"description"`
Categories []string `yaml:"categories" json:"categories"`
Cover string `yaml:"cover,omitempty" json:"cover,omitempty"`
Markdown string `yaml:"markdown,omitempty" json:"markdown,omitempty"`
Published bool `yaml:"published" json:"published"`
PageURL string `yaml:"pageUrl" json:"pageUrl"`
Networks []PlaygroundNetwork `yaml:"networks" json:"networks"`
Machines []PlaygroundMachine `yaml:"machines" json:"machines"`
Tabs []PlaygroundTab `yaml:"tabs" json:"tabs"`
InitTasks map[string]InitTask `yaml:"initTasks,omitempty" json:"initTasks,omitempty"`
InitConditions InitConditions `yaml:"initConditions,omitempty" json:"initConditions,omitempty"`
RegistryAuth string `yaml:"registryAuth,omitempty" json:"registryAuth,omitempty"`
AccessControl PlaygroundAccessControl `yaml:"accessControl" json:"accessControl"`
UserAccess PlaygroundUserAccess `yaml:"userAccess,omitempty" json:"userAccess,omitempty"`
}
type PlaygroundAccess
deprecated
type PlaygroundAccessControl ¶
type PlaygroundMachine ¶
type PlaygroundMachine struct {
Name string `yaml:"name" json:"name"`
Users []MachineUser `yaml:"users,omitempty" json:"users,omitempty"`
Kernel string `yaml:"kernel,omitempty" json:"kernel,omitempty"`
Drives []MachineDrive `yaml:"drives,omitempty" json:"drives,omitempty"`
Network *MachineNetwork `yaml:"network,omitempty" json:"network,omitempty"`
Resources *MachineResources `yaml:"resources,omitempty" json:"resources,omitempty"`
StartupFiles []MachineStartupFile `yaml:"startupFiles,omitempty" json:"startupFiles,omitempty"`
NoSSH bool `yaml:"noSSH,omitempty" json:"noSSH,omitempty"`
}
type PlaygroundManifest ¶
type PlaygroundManifest struct {
Kind string `yaml:"kind" json:"kind"`
Name string `yaml:"name" json:"name"`
Base string `yaml:"base,omitempty" json:"base,omitempty"`
Title string `yaml:"title,omitempty" json:"title,omitempty"`
Description string `yaml:"description,omitempty" json:"description,omitempty"`
Cover string `yaml:"cover,omitempty" json:"cover,omitempty"`
Categories []string `yaml:"categories,omitempty" json:"categories,omitempty"`
Markdown string `yaml:"markdown,omitempty" json:"markdown,omitempty"`
Playground PlaygroundSpec `yaml:"playground" json:"playground"`
}
type PlaygroundNetwork ¶ added in v0.1.35
type PlaygroundSpec ¶
type PlaygroundSpec struct {
Networks []PlaygroundNetwork `yaml:"networks,omitempty" json:"networks,omitempty"`
Machines []PlaygroundMachine `yaml:"machines,omitempty" json:"machines,omitempty"`
Tabs []PlaygroundTab `yaml:"tabs,omitempty" json:"tabs,omitempty"`
InitTasks map[string]InitTask `yaml:"initTasks,omitempty" json:"initTasks,omitempty"`
InitConditions InitConditions `yaml:"initConditions,omitempty" json:"initConditions,omitempty"`
RegistryAuth string `yaml:"registryAuth,omitempty" json:"registryAuth,omitempty"`
// Deprecated: Use PlaygroundAccessControl instead
Access *PlaygroundAccess `yaml:"access,omitempty" json:"access,omitempty"`
AccessControl PlaygroundAccessControl `yaml:"accessControl" json:"accessControl"`
}
func (*PlaygroundSpec) HasAccessControl ¶
func (s *PlaygroundSpec) HasAccessControl() bool
type PlaygroundTab ¶
type PlaygroundTab struct {
ID string `yaml:"id,omitempty" json:"id,omitempty"`
Kind string `yaml:"kind" json:"kind"`
Name string `yaml:"name" json:"name"`
Machine string `yaml:"machine,omitempty" json:"machine,omitempty"`
Number int `yaml:"number,omitempty" json:"number,omitempty"`
Access string `yaml:"access,omitempty" json:"access,omitempty"`
Tls bool `yaml:"tls,omitempty" json:"tls,omitempty"`
HostRewrite string `yaml:"hostRewrite,omitempty" json:"hostRewrite,omitempty"`
PathRewrite string `yaml:"pathRewrite,omitempty" json:"pathRewrite,omitempty"`
URL string `yaml:"url,omitempty" json:"url,omitempty"`
}
type PlaygroundUserAccess ¶
type Port ¶
type Port struct {
ID string `json:"id"`
PlayID string `json:"playId"`
Machine string `json:"machine"`
Number int `json:"number"`
Hostname string `json:"hostname"`
AccessMode AccessMode `json:"access"`
TLS bool `json:"tls"`
HostRewrite string `json:"hostRewrite,omitempty"`
PathRewrite string `json:"pathRewrite,omitempty"`
URL string `json:"url"`
}
type PortAccess ¶
type PortAccess string
const ( PortAccessPublic PortAccess = "public" PortAccessPrivate PortAccess = "private" )
type PremiumAccess ¶
type Roadmap ¶
type Roadmap struct {
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
Authors []Author `json:"authors" yaml:"authors"`
}
func (*Roadmap) GetKind ¶
func (t *Roadmap) GetKind() content.ContentKind
func (*Roadmap) GetPageURL ¶
func (*Roadmap) IsAuthoredBy ¶
func (*Roadmap) IsOfficial ¶
type SkillPath ¶
type SkillPath struct {
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
Authors []Author `json:"authors" yaml:"authors"`
}
func (*SkillPath) GetKind ¶
func (t *SkillPath) GetKind() content.ContentKind
func (*SkillPath) GetPageURL ¶
func (*SkillPath) IsAuthoredBy ¶
func (*SkillPath) IsOfficial ¶
type StartChallengeOptions ¶
type StartTunnelRequest ¶
type StartTunnelResponse ¶
type StartTutorialOptions ¶ added in v0.1.36
type Training ¶
type Training struct {
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
Authors []Author `json:"authors" yaml:"authors"`
}
func (*Training) GetKind ¶
func (t *Training) GetKind() content.ContentKind
func (*Training) GetPageURL ¶
func (*Training) IsAuthoredBy ¶
func (*Training) IsOfficial ¶
type Tutorial ¶
type Tutorial struct {
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
Description string `json:"description" yaml:"description"`
Categories []string `json:"categories" yaml:"categories"`
Tags []string `json:"tags,omitempty" yaml:"tags,omitempty"`
Authors []Author `json:"authors" yaml:"authors"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
AttemptCount int `json:"attemptCount" yaml:"attemptCount"`
CompletionCount int `json:"completionCount" yaml:"completionCount"`
Play *Play `json:"play,omitempty" yaml:"play,omitempty"`
}
func (*Tutorial) GetKind ¶
func (t *Tutorial) GetKind() content.ContentKind
func (*Tutorial) GetPageURL ¶
func (*Tutorial) IsAuthoredBy ¶
func (*Tutorial) IsOfficial ¶
type UpdatePlaygroundRequest ¶
type UpdatePlaygroundRequest struct {
Title string `yaml:"title" json:"title"`
Description string `yaml:"description" json:"description"`
Categories []string `yaml:"categories" json:"categories"`
Cover string `yaml:"cover,omitempty" json:"cover,omitempty"`
Markdown string `yaml:"markdown,omitempty" json:"markdown,omitempty"`
Networks []PlaygroundNetwork `yaml:"networks" json:"networks"`
Machines []PlaygroundMachine `yaml:"machines" json:"machines"`
Tabs []PlaygroundTab `yaml:"tabs" json:"tabs"`
InitTasks map[string]InitTask `yaml:"initTasks" json:"initTasks"`
InitConditions InitConditions `yaml:"initConditions" json:"initConditions"`
RegistryAuth string `yaml:"registryAuth" json:"registryAuth"`
AccessControl PlaygroundAccessControl `yaml:"accessControl" json:"accessControl"`
}
Click to show internal directories.
Click to hide internal directories.