Documentation ¶
Index ¶
- Constants
- Variables
- type AWSInstanceIdentityToken
- type AgentGitSSHKey
- type AuthMethods
- type AzureInstanceIdentityToken
- type BuildInfoResponse
- type Client
- func (c *Client) AgentGitSSHKey(ctx context.Context) (AgentGitSSHKey, error)
- func (c *Client) AuthMethods(ctx context.Context) (AuthMethods, error)
- func (c *Client) AuthWorkspaceAWSInstanceIdentity(ctx context.Context) (WorkspaceAgentAuthenticateResponse, error)
- func (c *Client) AuthWorkspaceAzureInstanceIdentity(ctx context.Context) (WorkspaceAgentAuthenticateResponse, error)
- func (c *Client) AuthWorkspaceGoogleInstanceIdentity(ctx context.Context, serviceAccount string, gcpClient *metadata.Client) (WorkspaceAgentAuthenticateResponse, error)
- func (c *Client) BuildInfo(ctx context.Context) (BuildInfoResponse, error)
- func (c *Client) CancelTemplateVersion(ctx context.Context, version uuid.UUID) error
- func (c *Client) CancelWorkspaceBuild(ctx context.Context, id uuid.UUID) error
- func (c *Client) CreateAPIKey(ctx context.Context, userID uuid.UUID) (*GenerateAPIKeyResponse, error)
- func (c *Client) CreateFirstUser(ctx context.Context, req CreateFirstUserRequest) (CreateFirstUserResponse, error)
- func (c *Client) CreateOrganization(ctx context.Context, userID uuid.UUID, req CreateOrganizationRequest) (Organization, error)
- func (c *Client) CreateParameter(ctx context.Context, scope ParameterScope, id uuid.UUID, ...) (Parameter, error)
- func (c *Client) CreateTemplate(ctx context.Context, organizationID uuid.UUID, request CreateTemplateRequest) (Template, error)
- func (c *Client) CreateTemplateVersion(ctx context.Context, organizationID uuid.UUID, ...) (TemplateVersion, error)
- func (c *Client) CreateUser(ctx context.Context, req CreateUserRequest) (User, error)
- func (c *Client) CreateWorkspace(ctx context.Context, organizationID uuid.UUID, request CreateWorkspaceRequest) (Workspace, error)
- func (c *Client) CreateWorkspaceBuild(ctx context.Context, workspace uuid.UUID, request CreateWorkspaceBuildRequest) (WorkspaceBuild, error)
- func (c *Client) DeleteParameter(ctx context.Context, scope ParameterScope, id uuid.UUID, name string) error
- func (c *Client) DeleteTemplate(ctx context.Context, template uuid.UUID) error
- func (c *Client) DialWorkspaceAgent(ctx context.Context, agentID uuid.UUID, options *peer.ConnOptions) (*agent.Conn, error)
- func (c *Client) Download(ctx context.Context, hash string) ([]byte, string, error)
- func (c *Client) GetUserRoles(ctx context.Context, userID uuid.UUID) (UserRoles, error)
- func (c *Client) GitSSHKey(ctx context.Context, userID uuid.UUID) (GitSSHKey, error)
- func (c *Client) HasFirstUser(ctx context.Context) (bool, error)
- func (c *Client) ListenProvisionerDaemon(ctx context.Context) (proto.DRPCProvisionerDaemonClient, error)
- func (c *Client) ListenWorkspaceAgent(ctx context.Context, logger slog.Logger) (agent.Metadata, *peerbroker.Listener, error)
- func (c *Client) LoginWithPassword(ctx context.Context, req LoginWithPasswordRequest) (LoginWithPasswordResponse, error)
- func (c *Client) Logout(ctx context.Context) error
- func (c *Client) Organization(ctx context.Context, id uuid.UUID) (Organization, error)
- func (c *Client) OrganizationByName(ctx context.Context, userID uuid.UUID, name string) (Organization, error)
- func (c *Client) OrganizationsByUser(ctx context.Context, userID uuid.UUID) ([]Organization, error)
- func (c *Client) Parameters(ctx context.Context, scope ParameterScope, id uuid.UUID) ([]Parameter, error)
- func (c *Client) ProvisionerDaemonsByOrganization(ctx context.Context, organizationID uuid.UUID) ([]ProvisionerDaemon, error)
- func (c *Client) RegenerateGitSSHKey(ctx context.Context, userID uuid.UUID) (GitSSHKey, error)
- func (c *Client) SuspendUser(ctx context.Context, userID uuid.UUID) (User, error)
- func (c *Client) Template(ctx context.Context, template uuid.UUID) (Template, error)
- func (c *Client) TemplateByName(ctx context.Context, organizationID uuid.UUID, name string) (Template, error)
- func (c *Client) TemplateVersion(ctx context.Context, id uuid.UUID) (TemplateVersion, error)
- func (c *Client) TemplateVersionByName(ctx context.Context, template uuid.UUID, name string) (TemplateVersion, error)
- func (c *Client) TemplateVersionLogsAfter(ctx context.Context, version uuid.UUID, after time.Time) (<-chan ProvisionerJobLog, error)
- func (c *Client) TemplateVersionLogsBefore(ctx context.Context, version uuid.UUID, before time.Time) ([]ProvisionerJobLog, error)
- func (c *Client) TemplateVersionParameters(ctx context.Context, version uuid.UUID) ([]TemplateVersionParameter, error)
- func (c *Client) TemplateVersionResources(ctx context.Context, version uuid.UUID) ([]WorkspaceResource, error)
- func (c *Client) TemplateVersionSchema(ctx context.Context, version uuid.UUID) ([]TemplateVersionParameterSchema, error)
- func (c *Client) TemplateVersionsByTemplate(ctx context.Context, template uuid.UUID) ([]TemplateVersion, error)
- func (c *Client) TemplatesByOrganization(ctx context.Context, organizationID uuid.UUID) ([]Template, error)
- func (c *Client) UpdateActiveTemplateVersion(ctx context.Context, template uuid.UUID, req UpdateActiveTemplateVersion) error
- func (c *Client) UpdateOrganizationMemberRoles(ctx context.Context, organizationID, userID uuid.UUID, req UpdateRoles) (User, error)
- func (c *Client) UpdateUserProfile(ctx context.Context, userID uuid.UUID, req UpdateUserProfileRequest) (User, error)
- func (c *Client) UpdateUserRoles(ctx context.Context, userID uuid.UUID, req UpdateRoles) (User, error)
- func (c *Client) UpdateWorkspaceAutostart(ctx context.Context, id uuid.UUID, req UpdateWorkspaceAutostartRequest) error
- func (c *Client) UpdateWorkspaceAutostop(ctx context.Context, id uuid.UUID, req UpdateWorkspaceAutostopRequest) error
- func (c *Client) Upload(ctx context.Context, contentType string, content []byte) (UploadResponse, error)
- func (c *Client) User(ctx context.Context, id uuid.UUID) (User, error)
- func (c *Client) UserByUsername(ctx context.Context, username string) (User, error)
- func (c *Client) Users(ctx context.Context, req UsersRequest) ([]User, error)
- func (c *Client) Workspace(ctx context.Context, id uuid.UUID) (Workspace, error)
- func (c *Client) WorkspaceAgent(ctx context.Context, id uuid.UUID) (WorkspaceAgent, error)
- func (c *Client) WorkspaceAgentReconnectingPTY(ctx context.Context, agentID, reconnect uuid.UUID, height, width int) (net.Conn, error)
- func (c *Client) WorkspaceBuild(ctx context.Context, id uuid.UUID) (WorkspaceBuild, error)
- func (c *Client) WorkspaceBuildByName(ctx context.Context, workspace uuid.UUID, name string) (WorkspaceBuild, error)
- func (c *Client) WorkspaceBuildLogsAfter(ctx context.Context, build uuid.UUID, after time.Time) (<-chan ProvisionerJobLog, error)
- func (c *Client) WorkspaceBuildLogsBefore(ctx context.Context, build uuid.UUID, before time.Time) ([]ProvisionerJobLog, error)
- func (c *Client) WorkspaceBuildState(ctx context.Context, build uuid.UUID) ([]byte, error)
- func (c *Client) WorkspaceBuilds(ctx context.Context, workspace uuid.UUID) ([]WorkspaceBuild, error)
- func (c *Client) WorkspaceByOwnerAndName(ctx context.Context, organization, owner uuid.UUID, name string) (Workspace, error)
- func (c *Client) WorkspaceResource(ctx context.Context, id uuid.UUID) (WorkspaceResource, error)
- func (c *Client) WorkspaceResourcesByBuild(ctx context.Context, build uuid.UUID) ([]WorkspaceResource, error)
- func (c *Client) WorkspacesByOrganization(ctx context.Context, organizationID uuid.UUID) ([]Workspace, error)
- func (c *Client) WorkspacesByOwner(ctx context.Context, organizationID, userID uuid.UUID) ([]Workspace, error)
- type CreateFirstUserRequest
- type CreateFirstUserResponse
- type CreateOrganizationRequest
- type CreateParameterRequest
- type CreateTemplateRequest
- type CreateTemplateVersionRequest
- type CreateUserRequest
- type CreateWorkspaceBuildRequest
- type CreateWorkspaceRequest
- type Error
- type GenerateAPIKeyResponse
- type GitSSHKey
- type GoogleInstanceIdentityToken
- type LoginWithPasswordRequest
- type LoginWithPasswordResponse
- type Organization
- type OrganizationMember
- type Parameter
- type ParameterScope
- type ProvisionerDaemon
- type ProvisionerJob
- type ProvisionerJobLog
- type ProvisionerJobStatus
- type Template
- type TemplateVersion
- type TemplateVersionParameter
- type TemplateVersionParameterSchema
- type UpdateActiveTemplateVersion
- type UpdateRoles
- type UpdateUserProfileRequest
- type UpdateWorkspaceAutostartRequest
- type UpdateWorkspaceAutostopRequest
- type UploadResponse
- type User
- type UserRoles
- type UserStatus
- type UsersRequest
- type Workspace
- type WorkspaceAgent
- type WorkspaceAgentAuthenticateResponse
- type WorkspaceAgentInstanceMetadata
- type WorkspaceAgentResourceMetadata
- type WorkspaceAgentStatus
- type WorkspaceBuild
- type WorkspaceResource
Constants ¶
const (
ContentTypeTar = "application/x-tar"
)
Variables ¶
var Me = uuid.Nil
Me is used as a replacement for your own ID.
Functions ¶
This section is empty.
Types ¶
type AgentGitSSHKey ¶ added in v0.4.0
type AuthMethods ¶ added in v0.4.4
AuthMethods contains whether authentication types are enabled or not.
type AzureInstanceIdentityToken ¶ added in v0.4.4
type BuildInfoResponse ¶ added in v0.4.1
type BuildInfoResponse struct { // ExternalURL is a URL referencing the current Coder version. For production // builds, this will link directly to a release. For development builds, this // will link to a commit. ExternalURL string `json:"external_url"` // Version returns the semantic version of the build. Version string `json:"version"` }
BuildInfoResponse contains build information for this instance of Coder.
type Client ¶
Client is an HTTP caller for methods to the Coder API. @typescript-ignore Client
func (*Client) AgentGitSSHKey ¶ added in v0.4.0
func (c *Client) AgentGitSSHKey(ctx context.Context) (AgentGitSSHKey, error)
AgentGitSSHKey will return the user's SSH key pair for the workspace.
func (*Client) AuthMethods ¶ added in v0.4.4
func (c *Client) AuthMethods(ctx context.Context) (AuthMethods, error)
AuthMethods returns types of authentication available to the user.
func (*Client) AuthWorkspaceAWSInstanceIdentity ¶
func (c *Client) AuthWorkspaceAWSInstanceIdentity(ctx context.Context) (WorkspaceAgentAuthenticateResponse, error)
AuthWorkspaceAWSInstanceIdentity uses the Amazon Metadata API to fetch a signed payload, and exchange it for a session token for a workspace agent.
The requesting instance must be registered as a resource in the latest history for a workspace.
func (*Client) AuthWorkspaceAzureInstanceIdentity ¶ added in v0.4.4
func (c *Client) AuthWorkspaceAzureInstanceIdentity(ctx context.Context) (WorkspaceAgentAuthenticateResponse, error)
AuthWorkspaceAzureInstanceIdentity uses the Azure Instance Metadata Service to fetch a signed payload, and exchange it for a session token for a workspace agent.
func (*Client) AuthWorkspaceGoogleInstanceIdentity ¶
func (c *Client) AuthWorkspaceGoogleInstanceIdentity(ctx context.Context, serviceAccount string, gcpClient *metadata.Client) (WorkspaceAgentAuthenticateResponse, error)
AuthWorkspaceGoogleInstanceIdentity uses the Google Compute Engine Metadata API to fetch a signed JWT, and exchange it for a session token for a workspace agent.
The requesting instance must be registered as a resource in the latest history for a workspace.
func (*Client) BuildInfo ¶ added in v0.4.1
func (c *Client) BuildInfo(ctx context.Context) (BuildInfoResponse, error)
BuildInfo returns build information for this instance of Coder.
func (*Client) CancelTemplateVersion ¶ added in v0.4.0
CancelTemplateVersion marks a template version job as canceled.
func (*Client) CancelWorkspaceBuild ¶
CancelWorkspaceBuild marks a workspace build job as canceled.
func (*Client) CreateAPIKey ¶
func (c *Client) CreateAPIKey(ctx context.Context, userID uuid.UUID) (*GenerateAPIKeyResponse, error)
CreateAPIKey generates an API key for the user ID provided.
func (*Client) CreateFirstUser ¶
func (c *Client) CreateFirstUser(ctx context.Context, req CreateFirstUserRequest) (CreateFirstUserResponse, error)
CreateFirstUser attempts to create the first user on a Coder deployment. This initial user has superadmin privileges. If >0 users exist, this request will fail.
func (*Client) CreateOrganization ¶
func (c *Client) CreateOrganization(ctx context.Context, userID uuid.UUID, req CreateOrganizationRequest) (Organization, error)
CreateOrganization creates an organization and adds the provided user as an admin.
func (*Client) CreateParameter ¶
func (c *Client) CreateParameter(ctx context.Context, scope ParameterScope, id uuid.UUID, req CreateParameterRequest) (Parameter, error)
func (*Client) CreateTemplate ¶ added in v0.4.0
func (c *Client) CreateTemplate(ctx context.Context, organizationID uuid.UUID, request CreateTemplateRequest) (Template, error)
CreateTemplate creates a new template inside an organization.
func (*Client) CreateTemplateVersion ¶ added in v0.4.0
func (c *Client) CreateTemplateVersion(ctx context.Context, organizationID uuid.UUID, req CreateTemplateVersionRequest) (TemplateVersion, error)
CreateTemplateVersion processes source-code and optionally associates the version with a template. Executing without a template is useful for validating source-code.
func (*Client) CreateUser ¶
CreateUser creates a new user.
func (*Client) CreateWorkspace ¶
func (c *Client) CreateWorkspace(ctx context.Context, organizationID uuid.UUID, request CreateWorkspaceRequest) (Workspace, error)
CreateWorkspace creates a new workspace for the template specified.
func (*Client) CreateWorkspaceBuild ¶
func (c *Client) CreateWorkspaceBuild(ctx context.Context, workspace uuid.UUID, request CreateWorkspaceBuildRequest) (WorkspaceBuild, error)
CreateWorkspaceBuild queues a new build to occur for a workspace.
func (*Client) DeleteParameter ¶
func (*Client) DeleteTemplate ¶ added in v0.4.0
func (*Client) DialWorkspaceAgent ¶
func (c *Client) DialWorkspaceAgent(ctx context.Context, agentID uuid.UUID, options *peer.ConnOptions) (*agent.Conn, error)
DialWorkspaceAgent creates a connection to the specified resource.
func (*Client) GetUserRoles ¶ added in v0.5.2
GetUserRoles returns all roles the user has
func (*Client) HasFirstUser ¶
HasFirstUser returns whether the first user has been created.
func (*Client) ListenProvisionerDaemon ¶
func (c *Client) ListenProvisionerDaemon(ctx context.Context) (proto.DRPCProvisionerDaemonClient, error)
ListenProvisionerDaemon returns the gRPC service for a provisioner daemon implementation.
func (*Client) ListenWorkspaceAgent ¶
func (c *Client) ListenWorkspaceAgent(ctx context.Context, logger slog.Logger) (agent.Metadata, *peerbroker.Listener, error)
ListenWorkspaceAgent connects as a workspace agent identifying with the session token. On each inbound connection request, connection info is fetched.
func (*Client) LoginWithPassword ¶
func (c *Client) LoginWithPassword(ctx context.Context, req LoginWithPasswordRequest) (LoginWithPasswordResponse, error)
LoginWithPassword creates a session token authenticating with an email and password. Call `SetSessionToken()` to apply the newly acquired token to the client.
func (*Client) Logout ¶
Logout calls the /logout API Call `ClearSessionToken()` to clear the session token of the client.
func (*Client) Organization ¶
func (*Client) OrganizationByName ¶
func (*Client) OrganizationsByUser ¶
OrganizationsByUser returns all organizations the user is a member of.
func (*Client) Parameters ¶
func (*Client) ProvisionerDaemonsByOrganization ¶
func (c *Client) ProvisionerDaemonsByOrganization(ctx context.Context, organizationID uuid.UUID) ([]ProvisionerDaemon, error)
ProvisionerDaemonsByOrganization returns provisioner daemons available for an organization.
func (*Client) RegenerateGitSSHKey ¶ added in v0.4.0
RegenerateGitSSHKey will create a new SSH key pair for the user and return it.
func (*Client) SuspendUser ¶ added in v0.5.1
SuspendUser enables callers to suspend a user
func (*Client) TemplateByName ¶ added in v0.4.0
func (c *Client) TemplateByName(ctx context.Context, organizationID uuid.UUID, name string) (Template, error)
TemplateByName finds a template inside the organization provided with a case-insensitive name.
func (*Client) TemplateVersion ¶ added in v0.4.0
TemplateVersion returns a template version by ID.
func (*Client) TemplateVersionByName ¶ added in v0.4.0
func (c *Client) TemplateVersionByName(ctx context.Context, template uuid.UUID, name string) (TemplateVersion, error)
TemplateVersionByName returns a template version by it's friendly name. This is used for path-based routing. Like: /templates/example/versions/helloworld
func (*Client) TemplateVersionLogsAfter ¶ added in v0.4.0
func (c *Client) TemplateVersionLogsAfter(ctx context.Context, version uuid.UUID, after time.Time) (<-chan ProvisionerJobLog, error)
TemplateVersionLogsAfter streams logs for a template version that occurred after a specific time.
func (*Client) TemplateVersionLogsBefore ¶ added in v0.4.0
func (c *Client) TemplateVersionLogsBefore(ctx context.Context, version uuid.UUID, before time.Time) ([]ProvisionerJobLog, error)
TemplateVersionLogsBefore returns logs that occurred before a specific time.
func (*Client) TemplateVersionParameters ¶ added in v0.4.0
func (c *Client) TemplateVersionParameters(ctx context.Context, version uuid.UUID) ([]TemplateVersionParameter, error)
TemplateVersionParameters returns computed parameters for a template version.
func (*Client) TemplateVersionResources ¶ added in v0.4.0
func (c *Client) TemplateVersionResources(ctx context.Context, version uuid.UUID) ([]WorkspaceResource, error)
TemplateVersionResources returns resources a template version declares.
func (*Client) TemplateVersionSchema ¶ added in v0.4.0
func (c *Client) TemplateVersionSchema(ctx context.Context, version uuid.UUID) ([]TemplateVersionParameterSchema, error)
TemplateVersionSchema returns schemas for a template version by ID.
func (*Client) TemplateVersionsByTemplate ¶ added in v0.4.0
func (c *Client) TemplateVersionsByTemplate(ctx context.Context, template uuid.UUID) ([]TemplateVersion, error)
TemplateVersionsByTemplate lists versions associated with a template.
func (*Client) TemplatesByOrganization ¶ added in v0.4.0
func (c *Client) TemplatesByOrganization(ctx context.Context, organizationID uuid.UUID) ([]Template, error)
TemplatesByOrganization lists all templates inside of an organization.
func (*Client) UpdateActiveTemplateVersion ¶ added in v0.4.0
func (c *Client) UpdateActiveTemplateVersion(ctx context.Context, template uuid.UUID, req UpdateActiveTemplateVersion) error
UpdateActiveTemplateVersion updates the active template version to the ID provided. The template version must be attached to the template.
func (*Client) UpdateOrganizationMemberRoles ¶ added in v0.5.2
func (c *Client) UpdateOrganizationMemberRoles(ctx context.Context, organizationID, userID uuid.UUID, req UpdateRoles) (User, error)
UpdateOrganizationMemberRoles grants the userID the specified roles in an org. Include ALL roles the user has.
func (*Client) UpdateUserProfile ¶ added in v0.4.2
func (c *Client) UpdateUserProfile(ctx context.Context, userID uuid.UUID, req UpdateUserProfileRequest) (User, error)
UpdateUserProfile enables callers to update profile information
func (*Client) UpdateUserRoles ¶ added in v0.5.2
func (c *Client) UpdateUserRoles(ctx context.Context, userID uuid.UUID, req UpdateRoles) (User, error)
UpdateUserRoles grants the userID the specified roles. Include ALL roles the user has.
func (*Client) UpdateWorkspaceAutostart ¶ added in v0.4.1
func (c *Client) UpdateWorkspaceAutostart(ctx context.Context, id uuid.UUID, req UpdateWorkspaceAutostartRequest) error
UpdateWorkspaceAutostart sets the autostart schedule for workspace by id. If the provided schedule is empty, autostart is disabled for the workspace.
func (*Client) UpdateWorkspaceAutostop ¶ added in v0.4.1
func (c *Client) UpdateWorkspaceAutostop(ctx context.Context, id uuid.UUID, req UpdateWorkspaceAutostopRequest) error
UpdateWorkspaceAutostop sets the autostop schedule for workspace by id. If the provided schedule is empty, autostop is disabled for the workspace.
func (*Client) Upload ¶
func (c *Client) Upload(ctx context.Context, contentType string, content []byte) (UploadResponse, error)
Upload uploads an arbitrary file with the content type provided. This is used to upload a source-code archive.
func (*Client) User ¶
User returns a user for the ID provided. If the uuid is nil, the current user will be returned.
func (*Client) UserByUsername ¶ added in v0.5.2
UserByUsername returns a user for the username provided.
func (*Client) Users ¶ added in v0.4.4
Users returns all users according to the request parameters. If no parameters are set, the default behavior is to return all users in a single page.
func (*Client) WorkspaceAgent ¶ added in v0.4.1
WorkspaceAgent returns an agent by ID.
func (*Client) WorkspaceAgentReconnectingPTY ¶ added in v0.5.2
func (c *Client) WorkspaceAgentReconnectingPTY(ctx context.Context, agentID, reconnect uuid.UUID, height, width int) (net.Conn, error)
WorkspaceAgentReconnectingPTY spawns a PTY that reconnects using the token provided. It communicates using `agent.ReconnectingPTYRequest` marshaled as JSON. Responses are PTY output that can be rendered.
func (*Client) WorkspaceBuild ¶
WorkspaceBuild returns a single workspace build for a workspace. If history is "", the latest version is returned.
func (*Client) WorkspaceBuildByName ¶
func (*Client) WorkspaceBuildLogsAfter ¶
func (c *Client) WorkspaceBuildLogsAfter(ctx context.Context, build uuid.UUID, after time.Time) (<-chan ProvisionerJobLog, error)
WorkspaceBuildLogsAfter streams logs for a workspace build that occurred after a specific time.
func (*Client) WorkspaceBuildLogsBefore ¶
func (c *Client) WorkspaceBuildLogsBefore(ctx context.Context, build uuid.UUID, before time.Time) ([]ProvisionerJobLog, error)
WorkspaceBuildLogsBefore returns logs that occurred before a specific time.
func (*Client) WorkspaceBuildState ¶ added in v0.5.3
WorkspaceBuildState returns the provisioner state of the build.
func (*Client) WorkspaceBuilds ¶
func (*Client) WorkspaceByOwnerAndName ¶ added in v0.5.0
func (c *Client) WorkspaceByOwnerAndName(ctx context.Context, organization, owner uuid.UUID, name string) (Workspace, error)
WorkspaceByOwnerAndName returns a workspace by the owner's UUID and the workspace's name.
func (*Client) WorkspaceResource ¶
func (*Client) WorkspaceResourcesByBuild ¶
func (c *Client) WorkspaceResourcesByBuild(ctx context.Context, build uuid.UUID) ([]WorkspaceResource, error)
WorkspaceResourcesByBuild returns resources for a workspace build.
type CreateFirstUserRequest ¶
type CreateFirstUserResponse ¶
type CreateFirstUserResponse struct { UserID uuid.UUID `json:"user_id"` OrganizationID uuid.UUID `json:"organization_id"` }
CreateFirstUserResponse contains IDs for newly created user info.
type CreateOrganizationRequest ¶
type CreateOrganizationRequest struct {
Name string `json:"name" validate:"required,username"`
}
type CreateParameterRequest ¶
type CreateParameterRequest struct { Name string `json:"name" validate:"required"` SourceValue string `json:"source_value" validate:"required"` SourceScheme database.ParameterSourceScheme `json:"source_scheme" validate:"oneof=data,required"` DestinationScheme database.ParameterDestinationScheme `json:"destination_scheme" validate:"oneof=environment_variable provisioner_variable,required"` }
CreateParameterRequest is used to create a new parameter value for a scope.
type CreateTemplateRequest ¶ added in v0.4.0
type CreateTemplateRequest struct { Name string `json:"name" validate:"username,required"` // VersionID is an in-progress or completed job to use as // an initial version of the template. // // This is required on creation to enable a user-flow of validating a // template works. There is no reason the data-model cannot support // empty templates, but it doesn't make sense for users. VersionID uuid.UUID `json:"template_version_id" validate:"required"` ParameterValues []CreateParameterRequest `json:"parameter_values"` }
CreateTemplateRequest provides options when creating a template.
type CreateTemplateVersionRequest ¶ added in v0.4.0
type CreateTemplateVersionRequest struct { // TemplateID optionally associates a version with a template. TemplateID uuid.UUID `json:"template_id"` StorageMethod database.ProvisionerStorageMethod `json:"storage_method" validate:"oneof=file,required"` StorageSource string `json:"storage_source" validate:"required"` Provisioner database.ProvisionerType `json:"provisioner" validate:"oneof=terraform echo,required"` // ParameterValues allows for additional parameters to be provided // during the dry-run provision stage. ParameterValues []CreateParameterRequest `json:"parameter_values"` }
CreateTemplateVersionRequest enables callers to create a new Template Version.
type CreateUserRequest ¶
type CreateWorkspaceBuildRequest ¶
type CreateWorkspaceBuildRequest struct { TemplateVersionID uuid.UUID `json:"template_version_id"` Transition database.WorkspaceTransition `json:"transition" validate:"oneof=create start stop delete,required"` DryRun bool `json:"dry_run"` ProvisionerState []byte `json:"state,omitempty"` }
CreateWorkspaceBuildRequest provides options to update the latest workspace build.
type CreateWorkspaceRequest ¶
type CreateWorkspaceRequest struct { TemplateID uuid.UUID `json:"template_id" validate:"required"` Name string `json:"name" validate:"username,required"` // ParameterValues allows for additional parameters to be provided // during the initial provision. ParameterValues []CreateParameterRequest `json:"parameter_values"` }
CreateWorkspaceRequest provides options for creating a new workspace.
type Error ¶
Error represents an unaccepted or invalid request to the API. @typescript-ignore Error
func (*Error) StatusCode ¶
type GenerateAPIKeyResponse ¶
type GenerateAPIKeyResponse struct {
Key string `json:"key"`
}
GenerateAPIKeyResponse contains an API key for a user.
type GoogleInstanceIdentityToken ¶
type GoogleInstanceIdentityToken struct {
JSONWebToken string `json:"json_web_token" validate:"required"`
}
type LoginWithPasswordRequest ¶
type LoginWithPasswordRequest struct { Email string `json:"email" validate:"required,email"` Password string `json:"password" validate:"required"` }
LoginWithPasswordRequest enables callers to authenticate with email and password.
type LoginWithPasswordResponse ¶
type LoginWithPasswordResponse struct {
SessionToken string `json:"session_token" validate:"required"`
}
LoginWithPasswordResponse contains a session token for the newly authenticated user.
type Organization ¶
type Organization struct { ID uuid.UUID `json:"id" validate:"required"` Name string `json:"name" validate:"required"` CreatedAt time.Time `json:"created_at" validate:"required"` UpdatedAt time.Time `json:"updated_at" validate:"required"` }
Organization is the JSON representation of a Coder organization.
type OrganizationMember ¶ added in v0.5.2
type OrganizationMember struct { UserID uuid.UUID `db:"user_id" json:"user_id"` OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` Roles []string `db:"roles" json:"roles"` }
type Parameter ¶
type Parameter struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` Scope ParameterScope `db:"scope" json:"scope"` ScopeID uuid.UUID `db:"scope_id" json:"scope_id"` Name string `db:"name" json:"name"` SourceScheme database.ParameterSourceScheme `db:"source_scheme" json:"source_scheme"` DestinationScheme database.ParameterDestinationScheme `db:"destination_scheme" json:"destination_scheme"` }
Parameter represents a set value for the scope.
type ParameterScope ¶
type ParameterScope string
const ( ParameterOrganization ParameterScope = "organization" ParameterTemplate ParameterScope = "template" ParameterUser ParameterScope = "user" ParameterWorkspace ParameterScope = "workspace" )
type ProvisionerDaemon ¶
type ProvisionerDaemon database.ProvisionerDaemon
type ProvisionerJob ¶
type ProvisionerJob struct { ID uuid.UUID `json:"id"` CreatedAt time.Time `json:"created_at"` StartedAt *time.Time `json:"started_at,omitempty"` CompletedAt *time.Time `json:"completed_at,omitempty"` Error string `json:"error,omitempty"` Status ProvisionerJobStatus `json:"status"` WorkerID *uuid.UUID `json:"worker_id,omitempty"` }
type ProvisionerJobLog ¶
type ProvisionerJobStatus ¶
type ProvisionerJobStatus string
ProvisionerJobStaus represents the at-time state of a job.
const ( ProvisionerJobPending ProvisionerJobStatus = "pending" ProvisionerJobRunning ProvisionerJobStatus = "running" ProvisionerJobSucceeded ProvisionerJobStatus = "succeeded" ProvisionerJobCanceling ProvisionerJobStatus = "canceling" ProvisionerJobCanceled ProvisionerJobStatus = "canceled" ProvisionerJobFailed ProvisionerJobStatus = "failed" )
func (ProvisionerJobStatus) Active ¶ added in v0.4.4
func (p ProvisionerJobStatus) Active() bool
Active returns whether the job is still active or not. It returns true if canceling as well, since the job isn't in an entirely inactive state yet.
type Template ¶ added in v0.4.0
type Template struct { ID uuid.UUID `json:"id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` OrganizationID uuid.UUID `json:"organization_id"` Name string `json:"name"` Provisioner database.ProvisionerType `json:"provisioner"` ActiveVersionID uuid.UUID `json:"active_version_id"` WorkspaceOwnerCount uint32 `json:"workspace_owner_count"` }
Template is the JSON representation of a Coder template. This type matches the database object for now, but is abstracted for ease of change later on.
type TemplateVersion ¶ added in v0.4.0
type TemplateVersion struct { ID uuid.UUID `json:"id"` TemplateID *uuid.UUID `json:"template_id,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Name string `json:"name"` Job ProvisionerJob `json:"job"` }
TemplateVersion represents a single version of a template.
type TemplateVersionParameter ¶ added in v0.4.0
type TemplateVersionParameter parameter.ComputedValue
TemplateVersionParameter represents a computed parameter value.
type TemplateVersionParameterSchema ¶ added in v0.4.0
type TemplateVersionParameterSchema database.ParameterSchema
TemplateVersionParameterSchema represents a parameter parsed from template version source.
type UpdateActiveTemplateVersion ¶ added in v0.4.0
type UpdateRoles ¶ added in v0.5.2
type UpdateRoles struct {
Roles []string `json:"roles" validate:"required"`
}
type UpdateUserProfileRequest ¶ added in v0.4.2
type UpdateWorkspaceAutostartRequest ¶ added in v0.4.1
type UpdateWorkspaceAutostartRequest struct {
Schedule string `json:"schedule"`
}
UpdateWorkspaceAutostartRequest is a request to update a workspace's autostart schedule.
type UpdateWorkspaceAutostopRequest ¶ added in v0.4.1
type UpdateWorkspaceAutostopRequest struct {
Schedule string `json:"schedule"`
}
UpdateWorkspaceAutostopRequest is a request to update a workspace's autostop schedule.
type UploadResponse ¶
type UploadResponse struct {
Hash string `json:"hash"`
}
UploadResponse contains the hash to reference the uploaded file.
type User ¶
type User struct { ID uuid.UUID `json:"id" validate:"required"` Email string `json:"email" validate:"required"` CreatedAt time.Time `json:"created_at" validate:"required"` Username string `json:"username" validate:"required"` Status UserStatus `json:"status"` OrganizationIDs []uuid.UUID `json:"organization_ids"` }
User represents a user in Coder.
type UserStatus ¶ added in v0.5.1
type UserStatus string
const ( UserStatusActive UserStatus = "active" UserStatusSuspended UserStatus = "suspended" )
type UsersRequest ¶ added in v0.4.4
type UsersRequest struct { AfterUser uuid.UUID `json:"after_user"` Search string `json:"search"` // Limit sets the maximum number of users to be returned // in a single page. If the limit is <= 0, there is no limit // and all users are returned. Limit int `json:"limit"` // Offset is used to indicate which page to return. An offset of 0 // returns the first 'limit' number of users. // To get the next page, use offset=<limit>*<page_number>. // Offset is 0 indexed, so the first record sits at offset 0. Offset int `json:"offset"` // Filter users by status Status string `json:"status"` }
type Workspace ¶
type Workspace struct { ID uuid.UUID `json:"id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` OwnerID uuid.UUID `json:"owner_id"` TemplateID uuid.UUID `json:"template_id"` TemplateName string `json:"template_name"` LatestBuild WorkspaceBuild `json:"latest_build"` Outdated bool `json:"outdated"` Name string `json:"name"` AutostartSchedule string `json:"autostart_schedule"` AutostopSchedule string `json:"autostop_schedule"` }
Workspace is a deployment of a template. It references a specific version and can be updated.
type WorkspaceAgent ¶
type WorkspaceAgent struct { ID uuid.UUID `json:"id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` FirstConnectedAt *time.Time `json:"first_connected_at,omitempty"` LastConnectedAt *time.Time `json:"last_connected_at,omitempty"` DisconnectedAt *time.Time `json:"disconnected_at,omitempty"` Status WorkspaceAgentStatus `json:"status"` Name string `json:"name"` ResourceID uuid.UUID `json:"resource_id"` InstanceID string `json:"instance_id,omitempty"` Architecture string `json:"architecture"` EnvironmentVariables map[string]string `json:"environment_variables"` OperatingSystem string `json:"operating_system"` StartupScript string `json:"startup_script,omitempty"` Directory string `json:"directory,omitempty"` }
type WorkspaceAgentAuthenticateResponse ¶
type WorkspaceAgentAuthenticateResponse struct {
SessionToken string `json:"session_token"`
}
WorkspaceAgentAuthenticateResponse is returned when an instance ID has been exchanged for a session token.
type WorkspaceAgentInstanceMetadata ¶
type WorkspaceAgentInstanceMetadata struct { JailOrchestrator string `json:"jail_orchestrator"` OperatingSystem string `json:"operating_system"` Platform string `json:"platform"` PlatformFamily string `json:"platform_family"` KernelVersion string `json:"kernel_version"` KernelArchitecture string `json:"kernel_architecture"` Cloud string `json:"cloud"` Jail string `json:"jail"` VNC bool `json:"vnc"` }
type WorkspaceAgentStatus ¶
type WorkspaceAgentStatus string
const ( WorkspaceAgentConnecting WorkspaceAgentStatus = "connecting" WorkspaceAgentConnected WorkspaceAgentStatus = "connected" WorkspaceAgentDisconnected WorkspaceAgentStatus = "disconnected" )
type WorkspaceBuild ¶
type WorkspaceBuild struct { ID uuid.UUID `json:"id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` WorkspaceID uuid.UUID `json:"workspace_id"` TemplateVersionID uuid.UUID `json:"template_version_id"` BeforeID uuid.UUID `json:"before_id"` AfterID uuid.UUID `json:"after_id"` Name string `json:"name"` Transition database.WorkspaceTransition `json:"transition"` InitiatorID uuid.UUID `json:"initiator_id"` Job ProvisionerJob `json:"job"` }
WorkspaceBuild is an at-point representation of a workspace state. Iterate on before/after to determine a chronological history.
type WorkspaceResource ¶
type WorkspaceResource struct { ID uuid.UUID `json:"id"` CreatedAt time.Time `json:"created_at"` JobID uuid.UUID `json:"job_id"` Transition database.WorkspaceTransition `json:"workspace_transition"` Type string `json:"type"` Name string `json:"name"` Agents []WorkspaceAgent `json:"agents,omitempty"` }