devcontainer

package
v0.28.1 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigFilePath

type ConfigFilePath struct {
	Mid    int    `json:"$mid"`
	FsPath string `json:"fsPath"`
	Path   string `json:"path"`
	Scheme string `json:"scheme"`
}

type Configuration

type Configuration struct {
	Name              string                 `json:"name"`
	DockerFile        string                 `json:"dockerFile"`
	RunArgs           []string               `json:"runArgs"`
	InitializeCommand string                 `json:"initializeCommand"`
	PostCreateCommand string                 `json:"postCreateCommand"`
	RemoteUser        string                 `json:"remoteUser"`
	Features          map[string]interface{} `json:"features"`
	ForwardPorts      []int                  `json:"forwardPorts"`
	Customizations    map[string]interface{} `json:"customizations"`
	ConfigFilePath    ConfigFilePath         `json:"configFilePath"`
}

func (*Configuration) GetCustomizations

func (c *Configuration) GetCustomizations(tool Tool) *Customizations

type Customizations

type Customizations struct {
	Extensions []string               `json:"extensions"`
	Settings   map[string]interface{} `json:"settings"`
}

func MergeCustomizations

func MergeCustomizations(customizations []Customizations) *Customizations

type DevcontainerUpResult added in v0.23.0

type DevcontainerUpResult struct {
	Outcome               string `json:"outcome"`
	ContainerId           string `json:"containerId"`
	RemoteUser            string `json:"remoteUser"`
	RemoteWorkspaceFolder string `json:"remoteWorkspaceFolder"`
}

type Feature

type Feature struct {
	Id               string                 `json:"id"`
	Version          string                 `json:"version"`
	Name             string                 `json:"name"`
	DocumentationURL string                 `json:"documentationURL"`
	Description      string                 `json:"description"`
	Options          map[string]interface{} `json:"options"`
	LicenceURL       string                 `json:"licenceURL"`
	Keywords         string                 `json:"keywords"`
	Entrypoint       string                 `json:"entrypoint"`
	Privileged       bool                   `json:"privileged"`
	ContainerEnv     map[string]string      `json:"containerEnv"`
	Customizations   map[string]interface{} `json:"customizations"`
	Mounts           []Mount                `json:"mounts"`
	InstallsAfter    []string               `json:"installsAfter"`
	Included         bool                   `json:"included"`
	Value            string                 `json:"value"`
	CachePath        string                 `json:"cachePath"`
	ConsecutiveId    string                 `json:"consecutiveId"`
	Init             bool                   `json:"init"`
	CapAdd           []string               `json:"capAdd"`
	SecurityOpt      []string               `json:"securityOpt"`
	LegacyIds        []string               `json:"legacyIds"`
	Deprecated       bool                   `json:"deprecated"`
}

type FeatureRef

type FeatureRef struct {
	Id        string `json:"id"`
	Owner     string `json:"owner"`
	Namespace string `json:"namespace"`
	Registry  string `json:"registry"`
	Resource  string `json:"resource"`
	Path      string `json:"path"`
	Version   string `json:"version"`
	Tag       string `json:"tag"`
}

type MergedConfiguration

type MergedConfiguration struct {
	Name            string                    `json:"name"`
	DockerFile      string                    `json:"dockerFile"`
	RunArgs         []string                  `json:"runArgs"`
	RemoteUser      string                    `json:"remoteUser"`
	Features        map[string]interface{}    `json:"features"`
	ForwardPorts    []int                     `json:"forwardPorts"`
	ConfigFilePath  ConfigFilePath            `json:"configFilePath"`
	Init            bool                      `json:"init"`
	Privileged      bool                      `json:"privileged"`
	Entrypoints     []string                  `json:"entrypoints"`
	Mounts          []Mount                   `json:"mounts"`
	RemoteEnv       map[string]string         `json:"remoteEnv"`
	ContainerEnv    map[string]string         `json:"containerEnv"`
	PortsAttributes map[string]PortAttributes `json:"portsAttributes"`

	// Commands
	InitializeCommand     interface{} `json:"initializeCommand"`
	OnCreateCommands      interface{} `json:"onCreateCommands"`
	UpdateContentCommands interface{} `json:"updateContentCommands"`
	PostCreateCommands    interface{} `json:"postCreateCommands"`
	PostStartCommands     interface{} `json:"postStartCommands"`
	PostAttachCommands    interface{} `json:"postAttachCommands"`
}

type Mount

type Mount struct {
	Source string `json:"source"`
	Target string `json:"target"`
	Type   string `json:"type"`
}

type PortAttributes

type PortAttributes struct {
	Label            *string
	OnAutoForward    *string
	Protocol         *string
	RequireLocalPort *bool
	ElevateIfNeeded  *bool
}

type Root

type Root struct {
	// FeaturesConfiguration FeaturesConfiguration `json:"featuresConfiguration"`
	Configuration       Configuration       `json:"configuration"`
	Workspace           Workspace           `json:"workspace"`
	MergedConfiguration MergedConfiguration `json:"mergedConfiguration"`
}

type Tool

type Tool string
var (
	Vscode     Tool = "vscode"
	Browser    Tool = "browser"
	Codespaces Tool = "codespaces"
)

type Workspace

type Workspace struct {
	WorkspaceFolder string `json:"workspaceFolder"`
	WorkspaceMount  string `json:"workspaceMount"`
}

Jump to

Keyboard shortcuts

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