## Linux/macOS
@@ -54,6 +56,27 @@ To log in to an existing Coder deployment:
coder login https://coder.example.com
```
+## Download the CLI from your deployment
+
+
+
+Every Coder server hosts CLI binaries for all supported platforms. You can run a
+script to download the appropriate CLI for your machine from your Coder
+deployment.
+
+```sh
+curl -L https://coder.example.com/install.sh | sh
+```
+
+This script works within air-gapped deployments and ensures that the version of
+the CLI you have installed on your machine matches the version of the server.
+
+This script can be useful when authoring a template for installing the CLI.
+
### Next up
- [Create your first template](../tutorials/template-from-scratch.md)
diff --git a/docs/install/cloud/azure-vm.md b/docs/install/cloud/azure-vm.md
index 751d204b321b4..2ab41bc53a0b5 100644
--- a/docs/install/cloud/azure-vm.md
+++ b/docs/install/cloud/azure-vm.md
@@ -12,7 +12,7 @@ This guide assumes you have full administrator privileges on Azure.
From the Azure Portal, navigate to the Virtual Machines Dashboard. Click Create,
and select creating a new Azure Virtual machine .
-
This will bring you to the `Create a virtual machine` page. Select the
subscription group of your choice, or create one if necessary.
@@ -22,14 +22,14 @@ of your choice. Change the region to something more appropriate for your current
location. For this tutorial, we will use the base selection of the Ubuntu Gen2
Image and keep the rest of the base settings for this image the same.
-
Up next, under `Inbound port rules` modify the Select `inbound ports` to also
take in `HTTPS` and `HTTP`.
-
The set up for the image is complete at this stage. Click `Review and Create` -
review the information and click `Create`. A popup will appear asking you to
@@ -37,11 +37,11 @@ download the key pair for the server. Click
`Download private key and create resource` and place it into a folder of your
choice on your local system.
-
Click `Return to create a virtual machine`. Your VM will start up!
-
Click `Go to resource` in the virtual machine and copy the public IP address.
You will need it to SSH into the virtual machine via your local machine.
@@ -100,12 +100,12 @@ First, run `coder template init` to create your first template. You’ll be give
a list of possible templates to use. This tutorial will show you how to set up
your Coder instance to create a Linux based machine on Azure.
-
Press `enter` to select `Develop in Linux on Azure` template. This will return
the following:
-
To get started using the Azure template, install the Azure CLI by following the
instructions
diff --git a/docs/install/cloud/ec2.md b/docs/install/cloud/ec2.md
index 1cd36527cd16e..58c73716b4ca8 100644
--- a/docs/install/cloud/ec2.md
+++ b/docs/install/cloud/ec2.md
@@ -13,7 +13,7 @@ This guide assumes your AWS account has `AmazonEC2FullAccess` permissions.
We publish an Ubuntu 22.04 AMI with Coder and Docker pre-installed. Search for
`Coder` in the EC2 "Launch an Instance" screen or
-[launch directly from the marketplace](https://aws.amazon.com/marketplace/pp/prodview-5gxjyur2vc7rg).
+[launch directly from the marketplace](https://aws.amazon.com/marketplace/pp/prodview-zaoq7tiogkxhc).

diff --git a/docs/install/index.md b/docs/install/index.md
index 2cf32f9fde85c..4f499257fa65d 100644
--- a/docs/install/index.md
+++ b/docs/install/index.md
@@ -5,9 +5,14 @@ A single CLI (`coder`) is used for both the Coder server and the client.
We support two release channels: mainline and stable - read the
[Releases](./releases.md) page to learn more about which best suits your team.
-There are several ways to install Coder. For production deployments with 50+
-users, we recommend [installing on Kubernetes](./kubernetes.md). Otherwise, you
-can install Coder on your local machine or on a VM:
+There are several ways to install Coder. Follow the steps on this page for a
+minimal installation of Coder, or for a step-by-step guide on how to install and
+configure your first Coder deployment, follow the
+[quickstart guide](../tutorials/quickstart.md).
+
+For production deployments with 50+ users, we recommend
+[installing on Kubernetes](./kubernetes.md). Otherwise, you can install Coder on
+your local machine or on a VM:
@@ -64,5 +69,5 @@ coder login https://coder.example.com
## Next steps
-- [Set up your first deployment](../tutorials/quickstart.md)
-- [Expose your control plane to other users](../admin/setup/index.md)
+- [Quickstart](../tutorials/quickstart.md)
+- [Configure Control Plane Access](../admin/setup/index.md)
diff --git a/docs/install/kubernetes.md b/docs/install/kubernetes.md
index 751bd7b0597fd..7ca8670767b35 100644
--- a/docs/install/kubernetes.md
+++ b/docs/install/kubernetes.md
@@ -129,7 +129,7 @@ We support two release channels: mainline and stable - read the
helm install coder coder-v2/coder \
--namespace coder \
--values values.yaml \
- --version 2.17.2
+ --version 2.18.0
```
- **Stable** Coder release:
@@ -140,7 +140,7 @@ We support two release channels: mainline and stable - read the
helm install coder coder-v2/coder \
--namespace coder \
--values values.yaml \
- --version 2.16.1
+ --version 2.17.2
```
You can watch Coder start up by running `kubectl get pods -n coder`. Once Coder
diff --git a/docs/install/offline.md b/docs/install/offline.md
index c70b3426cc12f..6a41bd9437894 100644
--- a/docs/install/offline.md
+++ b/docs/install/offline.md
@@ -6,15 +6,15 @@ environments. However, some changes to your configuration are necessary.
> This is a general comparison. Keep reading for a full tutorial running Coder
> offline with Kubernetes or Docker.
-| | Public deployments | Offline deployments |
-| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Terraform binary | By default, Coder downloads Terraform binary from [releases.hashicorp.com](https://releases.hashicorp.com) | Terraform binary must be included in `PATH` for the VM or container image. [Supported versions](https://github.com/coder/coder/blob/main/provisioner/terraform/install.go#L23-L24) |
-| Terraform registry | Coder templates will attempt to download providers from [registry.terraform.io](https://registry.terraform.io) or [custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) specified in each template | [Custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) can be specified in each Coder template, or a custom registry/mirror can be used. More details below |
-| STUN | By default, Coder uses Google's public STUN server for direct workspace connections | STUN can be safely [disabled](../reference/ users can still connect via [relayed connections](../admin/networking/index.md#-geo-distribution). Alternatively, you can set a [custom DERP server](../reference/cli/server.md#--derp-server-stun-addresses) |
-| DERP | By default, Coder's built-in DERP relay can be used, or [Tailscale's public relays](../admin/networking/index.md#relayed-connections). | By default, Coder's built-in DERP relay can be used, or [custom relays](../admin/networking/index.md#custom-relays). |
-| PostgreSQL | If no [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) is specified, Coder will download Postgres from [repo1.maven.org](https://repo1.maven.org) | An external database is required, you must specify a [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) |
-| Telemetry | Telemetry is on by default, and [can be disabled](../reference/cli/server.md#--telemetry) | Telemetry [can be disabled](../reference/cli/server.md#--telemetry) |
-| Update check | By default, Coder checks for updates from [GitHub releases](https://github.com/coder/coder/releases) | Update checks [can be disabled](../reference/cli/server.md#--update-check) |
+| | Public deployments | Offline deployments |
+|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Terraform binary | By default, Coder downloads Terraform binary from [releases.hashicorp.com](https://releases.hashicorp.com) | Terraform binary must be included in `PATH` for the VM or container image. [Supported versions](https://github.com/coder/coder/blob/main/provisioner/terraform/install.go#L23-L24) |
+| Terraform registry | Coder templates will attempt to download providers from [registry.terraform.io](https://registry.terraform.io) or [custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) specified in each template | [Custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) can be specified in each Coder template, or a custom registry/mirror can be used. More details below |
+| STUN | By default, Coder uses Google's public STUN server for direct workspace connections | STUN can be safely [disabled](../reference/cli/server.md#--derp-server-stun-addresses) users can still connect via [relayed connections](../admin/networking/index.md#-geo-distribution). Alternatively, you can set a [custom DERP server](../reference/cli/server.md#--derp-server-stun-addresses) |
+| DERP | By default, Coder's built-in DERP relay can be used, or [Tailscale's public relays](../admin/networking/index.md#relayed-connections). | By default, Coder's built-in DERP relay can be used, or [custom relays](../admin/networking/index.md#custom-relays). |
+| PostgreSQL | If no [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) is specified, Coder will download Postgres from [repo1.maven.org](https://repo1.maven.org) | An external database is required, you must specify a [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) |
+| Telemetry | Telemetry is on by default, and [can be disabled](../reference/cli/server.md#--telemetry) | Telemetry [can be disabled](../reference/cli/server.md#--telemetry) |
+| Update check | By default, Coder checks for updates from [GitHub releases](https://github.com/coder/coder/releases) | Update checks [can be disabled](../reference/cli/server.md#--update-check) |
## Offline container images
diff --git a/docs/install/openshift.md b/docs/install/openshift.md
index 88c117d5eef30..26bb99a7681e5 100644
--- a/docs/install/openshift.md
+++ b/docs/install/openshift.md
@@ -1,3 +1,5 @@
+# OpenShift
+
## Requirements
- OpenShift cluster running K8s 1.19+ (OpenShift 4.7+)
@@ -46,13 +48,13 @@ coder:
- For `runAsUser` / `runAsGroup`, you can retrieve the correct values for
project UID and project GID with the following command:
- ```console
- oc get project coder -o json | jq -r '.metadata.annotations'
- {
+ ```console
+ oc get project coder -o json | jq -r '.metadata.annotations'
+ {
"openshift.io/sa.scc.supplemental-groups": "1000680000/10000",
"openshift.io/sa.scc.uid-range": "1000680000/10000"
- }
- ```
+ }
+ ```
Alternatively, you can set these values to `null` to allow OpenShift to
automatically select the correct value for the project.
diff --git a/docs/install/other/index.md b/docs/install/other/index.md
index eabb6b2987fcc..3809d86812526 100644
--- a/docs/install/other/index.md
+++ b/docs/install/other/index.md
@@ -4,7 +4,7 @@ Coder has a number of alternate unofficial install methods. Contributions are
welcome!
| Platform Name | Status | Documentation |
-| --------------------------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- |
+|-----------------------------------------------------------------------------------|------------|----------------------------------------------------------------------------------------------|
| AWS EC2 | Official | [Guide: AWS](../cloud/ec2.md) |
| Google Compute Engine | Official | [Guide: Google Compute Engine](../cloud/compute-engine.md) |
| Azure AKS | Unofficial | [GitHub: coder-aks](https://github.com/ericpaulsen/coder-aks) |
diff --git a/docs/install/releases.md b/docs/install/releases.md
index 5699a7744af51..a32f2f4fb9eec 100644
--- a/docs/install/releases.md
+++ b/docs/install/releases.md
@@ -7,6 +7,8 @@ We recommend enterprise customers test the compatibility of new releases with
their infrastructure on a staging environment before upgrading a production
deployment.
+## Release channels
+
We support two release channels:
[mainline](https://github.com/coder/coder/releases/tag/v2.16.0) for the bleeding
edge version of Coder and
@@ -53,15 +55,15 @@ pages.
## Release schedule
| Release name | Release Date | Status |
-| ------------ | ------------------ | ---------------- |
-| 2.11.x | May 07, 2024 | Not Supported |
+|--------------|--------------------|------------------|
| 2.12.x | June 04, 2024 | Not Supported |
| 2.13.x | July 02, 2024 | Not Supported |
-| 2.14.x | August 06, 2024 | Security Support |
-| 2.15.x | September 03, 2024 | Security Support |
-| 2.16.x | October 01, 2024 | Stable |
-| 2.17.x | November 05, 2024 | Mainline |
-| 2.18.x | December 03, 2024 | Not Released |
+| 2.14.x | August 06, 2024 | Not Supported |
+| 2.15.x | September 03, 2024 | Not Supported |
+| 2.16.x | October 01, 2024 | Security Support |
+| 2.17.x | November 05, 2024 | Security Support |
+| 2.18.x | December 03, 2024 | Stable |
+| 2.19.x | February 04, 2024 | Not Released |
> **Tip**: We publish a
> [`preview`](https://github.com/coder/coder/pkgs/container/coder-preview) image
@@ -69,4 +71,11 @@ pages.
> used to test under-development features and bug fixes that have not yet been
> released to [`mainline`](#mainline-releases) or [`stable`](#stable-releases).
>
-> > **Important**: The `preview` image is not intended for production use.
+> The `preview` image is not intended for production use.
+
+### A note about January releases
+
+v2.18 was promoted to stable on January 7th, 2025.
+
+Effective starting January, 2025 we will skip the January release each year because most of our engineering team is out for the December holiday period.
+We'll return to our regular release cadence on February 4th.
diff --git a/docs/install/uninstall.md b/docs/install/uninstall.md
index 9c0982d5cbe1a..3538af0494669 100644
--- a/docs/install/uninstall.md
+++ b/docs/install/uninstall.md
@@ -1,15 +1,10 @@
+
# Uninstall
This article walks you through how to uninstall your Coder server.
To uninstall your Coder server, delete the following directories.
-## Cached Coder releases
-
-```shell
-rm -rf ~/.cache/coder
-```
-
## The Coder server binary and CLI
@@ -71,7 +66,7 @@ winget uninstall Coder.Coder
sudo rm /etc/coder.d/coder.env
```
-## Coder settings and the optional built-in PostgreSQL database
+## Coder settings, cache, and the optional built-in PostgreSQL database
> There is a `postgres` directory within the `coderv2` directory that has the
> database engine and database. If you want to reuse the database, consider not
@@ -89,6 +84,7 @@ rm -rf ~/Library/Application\ Support/coderv2
```shell
rm -rf ~/.config/coderv2
+rm -rf ~/.cache/coder
```
## Windows
diff --git a/docs/manifest.json b/docs/manifest.json
index 40b4a3ed02ad7..119099ab0b061 100644
--- a/docs/manifest.json
+++ b/docs/manifest.json
@@ -8,8 +8,8 @@
"icon_path": "./images/icons/home.svg",
"children": [
{
- "title": "Coder quickstart",
- "description": "Try it out for yourself",
+ "title": "Quickstart",
+ "description": "Learn how to install and run Coder quickly",
"path": "./tutorials/quickstart.md"
},
{
@@ -150,6 +150,11 @@
"title": "Web IDEs and Coder Apps",
"description": "Access your workspace with IDEs in the browser",
"path": "./user-guides/workspace-access/web-ides.md"
+ },
+ {
+ "title": "Zed",
+ "description": "Access your workspace with Zed",
+ "path": "./user-guides/workspace-access/zed.md"
}
]
},
@@ -243,6 +248,11 @@
"title": "Scaling Utilities",
"description": "Tools to help you scale your deployment",
"path": "./admin/infrastructure/scale-utility.md"
+ },
+ {
+ "title": "Scaling best practices",
+ "description": "How to prepare a Coder deployment for scale",
+ "path": "./tutorials/best-practices/scale-coder.md"
}
]
},
@@ -274,7 +284,7 @@
"state": ["enterprise", "premium"]
},
{
- "title": "IDP Sync",
+ "title": "IdP Sync",
"path": "./admin/users/idp-sync.md",
"state": ["enterprise", "premium"]
},
@@ -321,9 +331,26 @@
"path": "./admin/templates/managing-templates/change-management.md"
},
{
- "title": "Devcontainers",
- "description": "Learn about using devcontainers in templates",
- "path": "./admin/templates/managing-templates/devcontainers.md"
+ "title": "Dev containers",
+ "description": "Learn about using development containers in templates",
+ "path": "./admin/templates/managing-templates/devcontainers/index.md",
+ "children": [
+ {
+ "title": "Add a dev container template",
+ "description": "How to add a dev container template to Coder",
+ "path": "./admin/templates/managing-templates/devcontainers/add-devcontainer.md"
+ },
+ {
+ "title": "Dev container security and caching",
+ "description": "Configure dev container authentication and caching",
+ "path": "./admin/templates/managing-templates/devcontainers/devcontainer-security-caching.md"
+ },
+ {
+ "title": "Dev container releases and known issues",
+ "description": "Dev container releases and known issues",
+ "path": "./admin/templates/managing-templates/devcontainers/devcontainer-releases-known-issues.md"
+ }
+ ]
},
{
"title": "Template Dependencies",
@@ -640,7 +667,7 @@
"icon_path": "./images/icons/generic.svg",
"children": [
{
- "title": "Get started with Coder",
+ "title": "Quickstart",
"description": "Learn how to install and run Coder quickly",
"path": "./tutorials/quickstart.md"
},
@@ -679,6 +706,11 @@
"description": "Integrate Coder with JFrog Artifactory",
"path": "./admin/integrations/jfrog-artifactory.md"
},
+ {
+ "title": "Istio Integration",
+ "description": "Integrate Coder with Istio",
+ "path": "./admin/integrations/istio.md"
+ },
{
"title": "Island Secure Browser Integration",
"description": "Integrate Coder with Island's Secure Browser",
@@ -739,6 +771,21 @@
"description": "Guides to help you make the most of your Coder experience",
"path": "./tutorials/best-practices/index.md",
"children": [
+ {
+ "title": "Organizations - best practices",
+ "description": "How to make the best use of Coder Organizations",
+ "path": "./tutorials/best-practices/organizations.md"
+ },
+ {
+ "title": "Scale Coder",
+ "description": "How to prepare a Coder deployment for scale",
+ "path": "./tutorials/best-practices/scale-coder.md"
+ },
+ {
+ "title": "Security - best practices",
+ "description": "Make your Coder deployment more secure",
+ "path": "./tutorials/best-practices/security-best-practices.md"
+ },
{
"title": "Speed up your workspaces",
"description": "Speed up your Coder templates and workspaces",
@@ -1108,9 +1155,24 @@
},
{
"title": "provisioner",
- "description": "Manage provisioner daemons",
+ "description": "View and manage provisioner daemons and jobs",
"path": "reference/cli/provisioner.md"
},
+ {
+ "title": "provisioner jobs",
+ "description": "View and manage provisioner jobs",
+ "path": "reference/cli/provisioner_jobs.md"
+ },
+ {
+ "title": "provisioner jobs cancel",
+ "description": "Cancel a provisioner job",
+ "path": "reference/cli/provisioner_jobs_cancel.md"
+ },
+ {
+ "title": "provisioner jobs list",
+ "description": "List provisioner jobs",
+ "path": "reference/cli/provisioner_jobs_list.md"
+ },
{
"title": "provisioner keys",
"description": "Manage provisioner keys",
@@ -1131,6 +1193,11 @@
"description": "List provisioner keys in an organization",
"path": "reference/cli/provisioner_keys_list.md"
},
+ {
+ "title": "provisioner list",
+ "description": "List provisioner daemons in an organization",
+ "path": "reference/cli/provisioner_list.md"
+ },
{
"title": "provisioner start",
"description": "Run a provisioner daemon",
@@ -1162,9 +1229,9 @@
"path": "reference/cli/schedule.md"
},
{
- "title": "schedule override-stop",
- "description": "Override the stop time of a currently running workspace instance.",
- "path": "reference/cli/schedule_override-stop.md"
+ "title": "schedule extend",
+ "description": "Extend the stop time of a currently running workspace instance.",
+ "path": "reference/cli/schedule_extend.md"
},
{
"title": "schedule show",
diff --git a/docs/reference/agent-api/debug.md b/docs/reference/agent-api/debug.md
index e9b2520f04701..ef1b3166f9b72 100644
--- a/docs/reference/agent-api/debug.md
+++ b/docs/reference/agent-api/debug.md
@@ -15,7 +15,7 @@ Get the first 10MiB of data from `$CODER_AGENT_LOG_DIR/coder-agent.log`.
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
## Get debug info for magicsock
@@ -48,13 +48,13 @@ for more information.
### Parameters
| Name | In | Type | Required | Description |
-| ------- | ---- | ------- | -------- | ------------------- |
+|---------|------|---------|----------|---------------------|
| `state` | path | boolean | true | Debug logging state |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
## Get debug manifest
@@ -72,5 +72,5 @@ Get the manifest the agent fetched from `coderd` upon startup.
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.Manifest](./schemas.md#agentsdkmanifest) |
diff --git a/docs/reference/agent-api/index.md b/docs/reference/agent-api/index.md
index 21e7c5ec54f69..e6ca3b4626a48 100644
--- a/docs/reference/agent-api/index.md
+++ b/docs/reference/agent-api/index.md
@@ -1,4 +1,4 @@
-## Sections
+# Sections
This page is rendered on https://coder.com/docs/reference/agent-api. Refer to the other documents in the `agent-api/` directory.
diff --git a/docs/reference/agent-api/schemas.md b/docs/reference/agent-api/schemas.md
index 7aba4ebd5d230..a806529b098ac 100644
--- a/docs/reference/agent-api/schemas.md
+++ b/docs/reference/agent-api/schemas.md
@@ -4,86 +4,86 @@
```json
{
- "agent_id": "151321db-0713-473c-ab42-2cc6ddeab1a4",
- "agent_name": "string",
- "owner_name": "string",
- "workspace_id": "8ef13a0d-a5c9-4fb4-abf2-f8f65c3830fb",
- "workspace_name": "string",
- "git_auth_configs": 1,
- "vscode_port_proxy_uri": "string",
- "apps": [
- {
- "id": "c488c933-688a-444e-a55d-f1e88ecc78f5",
- "url": "string",
- "external": false,
- "slug": "string",
- "display_name": "string",
- "icon": "string",
- "subdomain": false,
- "sharing_level": "owner",
- "healthcheck": {
- "url": "string",
- "interval": 5,
- "threshold": 6
- },
- "health": "initializing"
- }
- ],
- "derpmap": {
- "HomeParams": {},
- "Regions": {
- "1000": {
- "EmbeddedRelay": false,
- "RegionID": 1000,
- "RegionCode": "string",
- "RegionName": "string",
- "Nodes": [
- {
- "Name": "string",
- "RegionID": 1000,
- "HostName": "string",
- "STUNPort": 19302,
- "STUNOnly": true
- }
- ]
- }
- }
- },
- "derp_force_websockets": false,
- "environment_variables": {
- "OIDC_TOKEN": "string"
- },
- "directory": "string",
- "motd_file": "string",
- "disable_direct_connections": false,
- "metadata": [
- {
- "display_name": "string",
- "key": "string",
- "script": "string",
- "interval": 10,
- "timeout": 1
- }
- ],
- "scripts": [
- {
- "log_source_id": "3e79c8da-08ae-48f4-b73e-11e194cdea06",
- "log_path": "string",
- "script": "string",
- "cron": "string",
- "run_on_start": true,
- "run_on_stop": false,
- "start_blocks_login": true,
- "timeout": 0
- }
- ]
+ "agent_id": "151321db-0713-473c-ab42-2cc6ddeab1a4",
+ "agent_name": "string",
+ "owner_name": "string",
+ "workspace_id": "8ef13a0d-a5c9-4fb4-abf2-f8f65c3830fb",
+ "workspace_name": "string",
+ "git_auth_configs": 1,
+ "vscode_port_proxy_uri": "string",
+ "apps": [
+ {
+ "id": "c488c933-688a-444e-a55d-f1e88ecc78f5",
+ "url": "string",
+ "external": false,
+ "slug": "string",
+ "display_name": "string",
+ "icon": "string",
+ "subdomain": false,
+ "sharing_level": "owner",
+ "healthcheck": {
+ "url": "string",
+ "interval": 5,
+ "threshold": 6
+ },
+ "health": "initializing"
+ }
+ ],
+ "derpmap": {
+ "HomeParams": {},
+ "Regions": {
+ "1000": {
+ "EmbeddedRelay": false,
+ "RegionID": 1000,
+ "RegionCode": "string",
+ "RegionName": "string",
+ "Nodes": [
+ {
+ "Name": "string",
+ "RegionID": 1000,
+ "HostName": "string",
+ "STUNPort": 19302,
+ "STUNOnly": true
+ }
+ ]
+ }
+ }
+ },
+ "derp_force_websockets": false,
+ "environment_variables": {
+ "OIDC_TOKEN": "string"
+ },
+ "directory": "string",
+ "motd_file": "string",
+ "disable_direct_connections": false,
+ "metadata": [
+ {
+ "display_name": "string",
+ "key": "string",
+ "script": "string",
+ "interval": 10,
+ "timeout": 1
+ }
+ ],
+ "scripts": [
+ {
+ "log_source_id": "3e79c8da-08ae-48f4-b73e-11e194cdea06",
+ "log_path": "string",
+ "script": "string",
+ "cron": "string",
+ "run_on_start": true,
+ "run_on_stop": false,
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | ------------------------------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|------------------------------|---------------------------------------------------------------------------------------------------|----------|--------------|-------------|
| `agent_id` | string | true | | |
| `agent_name` | string | true | | |
| `owner_name` | string | true | | |
@@ -105,18 +105,18 @@
```json
{
- "display_name": "string",
- "key": "string",
- "script": "string",
- "interval": 10,
- "timeout": 1
+ "display_name": "string",
+ "key": "string",
+ "script": "string",
+ "interval": 10,
+ "timeout": 1
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------- | -------- | ------------ | ----------- |
+|----------------|---------|----------|--------------|-------------|
| `display_name` | string | true | | |
| `key` | string | true | | |
| `script` | string | true | | |
diff --git a/docs/reference/api/agents.md b/docs/reference/api/agents.md
index 6ccffeb82305d..22ebe7f35530f 100644
--- a/docs/reference/api/agents.md
+++ b/docs/reference/api/agents.md
@@ -15,7 +15,7 @@ curl -X GET http://coder-server:8080/api/v2/derp-map \
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------------------ | ------------------- | ------ |
+|--------|--------------------------------------------------------------------------|---------------------|--------|
| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -35,7 +35,7 @@ curl -X GET http://coder-server:8080/api/v2/tailnet \
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------------------ | ------------------- | ------ |
+|--------|--------------------------------------------------------------------------|---------------------|--------|
| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -58,15 +58,15 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/aws-instance-identi
```json
{
- "document": "string",
- "signature": "string"
+ "document": "string",
+ "signature": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------------- | -------- | ----------------------- |
+|--------|------|----------------------------------------------------------------------------------|----------|-------------------------|
| `body` | body | [agentsdk.AWSInstanceIdentityToken](schemas.md#agentsdkawsinstanceidentitytoken) | true | Instance identity token |
### Example responses
@@ -75,14 +75,14 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/aws-instance-identi
```json
{
- "session_token": "string"
+ "session_token": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.AuthenticateResponse](schemas.md#agentsdkauthenticateresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -105,15 +105,15 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/azure-instance-iden
```json
{
- "encoding": "string",
- "signature": "string"
+ "encoding": "string",
+ "signature": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------------------------------------------------------------------------------------ | -------- | ----------------------- |
+|--------|------|--------------------------------------------------------------------------------------|----------|-------------------------|
| `body` | body | [agentsdk.AzureInstanceIdentityToken](schemas.md#agentsdkazureinstanceidentitytoken) | true | Instance identity token |
### Example responses
@@ -122,14 +122,14 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/azure-instance-iden
```json
{
- "session_token": "string"
+ "session_token": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.AuthenticateResponse](schemas.md#agentsdkauthenticateresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -152,14 +152,14 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/google-instance-ide
```json
{
- "json_web_token": "string"
+ "json_web_token": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------------------- | -------- | ----------------------- |
+|--------|------|----------------------------------------------------------------------------------------|----------|-------------------------|
| `body` | body | [agentsdk.GoogleInstanceIdentityToken](schemas.md#agentsdkgoogleinstanceidentitytoken) | true | Instance identity token |
### Example responses
@@ -168,14 +168,14 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/google-instance-ide
```json
{
- "session_token": "string"
+ "session_token": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.AuthenticateResponse](schemas.md#agentsdkauthenticateresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -196,7 +196,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/external-auth?mat
### Parameters
| Name | In | Type | Required | Description |
-| -------- | ----- | ------- | -------- | --------------------------------- |
+|----------|-------|---------|----------|-----------------------------------|
| `match` | query | string | true | Match |
| `id` | query | string | true | Provider ID |
| `listen` | query | boolean | false | Wait for a new token to be issued |
@@ -207,19 +207,19 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/external-auth?mat
```json
{
- "access_token": "string",
- "password": "string",
- "token_extra": {},
- "type": "string",
- "url": "string",
- "username": "string"
+ "access_token": "string",
+ "password": "string",
+ "token_extra": {},
+ "type": "string",
+ "url": "string",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.ExternalAuthResponse](schemas.md#agentsdkexternalauthresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -240,7 +240,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/gitauth?match=str
### Parameters
| Name | In | Type | Required | Description |
-| -------- | ----- | ------- | -------- | --------------------------------- |
+|----------|-------|---------|----------|-----------------------------------|
| `match` | query | string | true | Match |
| `id` | query | string | true | Provider ID |
| `listen` | query | boolean | false | Wait for a new token to be issued |
@@ -251,19 +251,19 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/gitauth?match=str
```json
{
- "access_token": "string",
- "password": "string",
- "token_extra": {},
- "type": "string",
- "url": "string",
- "username": "string"
+ "access_token": "string",
+ "password": "string",
+ "token_extra": {},
+ "type": "string",
+ "url": "string",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.ExternalAuthResponse](schemas.md#agentsdkexternalauthresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -287,15 +287,15 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/gitsshkey \
```json
{
- "private_key": "string",
- "public_key": "string"
+ "private_key": "string",
+ "public_key": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.GitSSHKey](schemas.md#agentsdkgitsshkey) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -318,16 +318,16 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/me/log-source \
```json
{
- "display_name": "string",
- "icon": "string",
- "id": "string"
+ "display_name": "string",
+ "icon": "string",
+ "id": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------------------------------------------------------------------------ | -------- | ------------------ |
+|--------|------|--------------------------------------------------------------------------|----------|--------------------|
| `body` | body | [agentsdk.PostLogSourceRequest](schemas.md#agentsdkpostlogsourcerequest) | true | Log source request |
### Example responses
@@ -336,18 +336,18 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/me/log-source \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentLogSource](schemas.md#codersdkworkspaceagentlogsource) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -370,21 +370,21 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceagents/me/logs \
```json
{
- "log_source_id": "string",
- "logs": [
- {
- "created_at": "string",
- "level": "trace",
- "output": "string"
- }
- ]
+ "log_source_id": "string",
+ "logs": [
+ {
+ "created_at": "string",
+ "level": "trace",
+ "output": "string"
+ }
+ ]
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------- | -------- | ----------- |
+|--------|------|----------------------------------------------------|----------|-------------|
| `body` | body | [agentsdk.PatchLogs](schemas.md#agentsdkpatchlogs) | true | logs |
### Example responses
@@ -393,21 +393,21 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceagents/me/logs \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -428,7 +428,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent} \
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------------ | -------- | ------------------ |
+|------------------|------|--------------|----------|--------------------|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
### Example responses
@@ -437,101 +437,106 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent} \
```json
{
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgent](schemas.md#codersdkworkspaceagent) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -552,7 +557,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/con
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------------ | -------- | ------------------ |
+|------------------|------|--------------|----------|--------------------|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
### Example responses
@@ -561,74 +566,74 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/con
```json
{
- "derp_force_websockets": true,
- "derp_map": {
- "homeParams": {
- "regionScore": {
- "property1": 0,
- "property2": 0
- }
- },
- "omitDefaultRegions": true,
- "regions": {
- "property1": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "property2": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- }
- }
- },
- "disable_direct_connections": true
+ "derp_force_websockets": true,
+ "derp_map": {
+ "homeParams": {
+ "regionScore": {
+ "property1": 0,
+ "property2": 0
+ }
+ },
+ "omitDefaultRegions": true,
+ "regions": {
+ "property1": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "property2": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ }
+ }
+ },
+ "disable_direct_connections": true
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [workspacesdk.AgentConnectionInfo](schemas.md#workspacesdkagentconnectioninfo) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -648,13 +653,13 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/coo
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------------ | -------- | ------------------ |
+|------------------|------|--------------|----------|--------------------|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------------------ | ------------------- | ------ |
+|--------|--------------------------------------------------------------------------|---------------------|--------|
| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -675,7 +680,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/lis
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------------ | -------- | ------------------ |
+|------------------|------|--------------|----------|--------------------|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
### Example responses
@@ -684,20 +689,20 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/lis
```json
{
- "ports": [
- {
- "network": "string",
- "port": 0,
- "process_name": "string"
- }
- ]
+ "ports": [
+ {
+ "network": "string",
+ "port": 0,
+ "process_name": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentListeningPortsResponse](schemas.md#codersdkworkspaceagentlisteningportsresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -718,7 +723,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/log
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ----- | ------------ | -------- | -------------------------------------------- |
+|------------------|-------|--------------|----------|----------------------------------------------|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
| `before` | query | integer | false | Before log id |
| `after` | query | integer | false | After log id |
@@ -731,20 +736,20 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/log
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "level": "trace",
- "output": "string",
- "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81"
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": 0,
+ "level": "trace",
+ "output": "string",
+ "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceAgentLog](schemas.md#codersdkworkspaceagentlog) |
Response Schema
@@ -752,7 +757,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/log
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------------------------------------------------ | -------- | ------------ | ----------- |
+|----------------|--------------------------------------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | false | | |
| `» id` | integer | false | | |
@@ -763,7 +768,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| -------- | ------- |
+|----------|---------|
| `level` | `trace` |
| `level` | `debug` |
| `level` | `info` |
@@ -787,13 +792,13 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/pty
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------------ | -------- | ------------------ |
+|------------------|------|--------------|----------|--------------------|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------------------ | ------------------- | ------ |
+|--------|--------------------------------------------------------------------------|---------------------|--------|
| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -814,7 +819,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/sta
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ----- | ------------ | -------- | -------------------------------------------- |
+|------------------|-------|--------------|----------|----------------------------------------------|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
| `before` | query | integer | false | Before log id |
| `after` | query | integer | false | After log id |
@@ -827,20 +832,20 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/sta
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "level": "trace",
- "output": "string",
- "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81"
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": 0,
+ "level": "trace",
+ "output": "string",
+ "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceAgentLog](schemas.md#codersdkworkspaceagentlog) |
Response Schema
@@ -848,7 +853,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/sta
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------------------------------------------------ | -------- | ------------ | ----------- |
+|----------------|--------------------------------------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | false | | |
| `» id` | integer | false | | |
@@ -859,7 +864,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| -------- | ------- |
+|----------|---------|
| `level` | `trace` |
| `level` | `debug` |
| `level` | `info` |
diff --git a/docs/reference/api/applications.md b/docs/reference/api/applications.md
index ce84a41438f87..77fe7095ee9db 100644
--- a/docs/reference/api/applications.md
+++ b/docs/reference/api/applications.md
@@ -15,13 +15,13 @@ curl -X GET http://coder-server:8080/api/v2/applications/auth-redirect \
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ----- | ------ | -------- | -------------------- |
+|----------------|-------|--------|----------|----------------------|
| `redirect_uri` | query | string | false | Redirect destination |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ----------------------------------------------------------------------- | ------------------ | ------ |
+|--------|-------------------------------------------------------------------------|--------------------|--------|
| 307 | [Temporary Redirect](https://tools.ietf.org/html/rfc7231#section-6.4.7) | Temporary Redirect | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -45,14 +45,14 @@ curl -X GET http://coder-server:8080/api/v2/applications/host \
```json
{
- "host": "string"
+ "host": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AppHostResponse](schemas.md#codersdkapphostresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/audit.md b/docs/reference/api/audit.md
index 1cec64e9f8d68..3fc6e746f17c8 100644
--- a/docs/reference/api/audit.md
+++ b/docs/reference/api/audit.md
@@ -16,7 +16,7 @@ curl -X GET http://coder-server:8080/api/v2/audit?limit=0 \
### Parameters
| Name | In | Type | Required | Description |
-| -------- | ----- | ------- | -------- | ------------ |
+|----------|-------|---------|----------|--------------|
| `q` | query | string | false | Search query |
| `limit` | query | integer | true | Page limit |
| `offset` | query | integer | false | Page offset |
@@ -27,73 +27,77 @@ curl -X GET http://coder-server:8080/api/v2/audit?limit=0 \
```json
{
- "audit_logs": [
- {
- "action": "create",
- "additional_fields": [0],
- "description": "string",
- "diff": {
- "property1": {
- "new": null,
- "old": null,
- "secret": true
- },
- "property2": {
- "new": null,
- "old": null,
- "secret": true
- }
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ip": "string",
- "is_deleted": true,
- "organization": {
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
- },
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
- "resource_icon": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource_link": "string",
- "resource_target": "string",
- "resource_type": "template",
- "status_code": 0,
- "time": "2019-08-24T14:15:22Z",
- "user": {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- },
- "user_agent": "string"
- }
- ],
- "count": 0
+ "audit_logs": [
+ {
+ "action": "create",
+ "additional_fields": [
+ 0
+ ],
+ "description": "string",
+ "diff": {
+ "property1": {
+ "new": null,
+ "old": null,
+ "secret": true
+ },
+ "property2": {
+ "new": null,
+ "old": null,
+ "secret": true
+ }
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "ip": "string",
+ "is_deleted": true,
+ "organization": {
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
+ "resource_icon": "string",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "resource_link": "string",
+ "resource_target": "string",
+ "resource_type": "template",
+ "status_code": 0,
+ "time": "2019-08-24T14:15:22Z",
+ "user": {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ },
+ "user_agent": "string"
+ }
+ ],
+ "count": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AuditLogResponse](schemas.md#codersdkauditlogresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/authorization.md b/docs/reference/api/authorization.md
index 9dfbfb620870f..3565a8c922135 100644
--- a/docs/reference/api/authorization.md
+++ b/docs/reference/api/authorization.md
@@ -18,35 +18,35 @@ curl -X POST http://coder-server:8080/api/v2/authcheck \
```json
{
- "checks": {
- "property1": {
- "action": "create",
- "object": {
- "any_org": true,
- "organization_id": "string",
- "owner_id": "string",
- "resource_id": "string",
- "resource_type": "*"
- }
- },
- "property2": {
- "action": "create",
- "object": {
- "any_org": true,
- "organization_id": "string",
- "owner_id": "string",
- "resource_id": "string",
- "resource_type": "*"
- }
- }
- }
+ "checks": {
+ "property1": {
+ "action": "create",
+ "object": {
+ "any_org": true,
+ "organization_id": "string",
+ "owner_id": "string",
+ "resource_id": "string",
+ "resource_type": "*"
+ }
+ },
+ "property2": {
+ "action": "create",
+ "object": {
+ "any_org": true,
+ "organization_id": "string",
+ "owner_id": "string",
+ "resource_id": "string",
+ "resource_type": "*"
+ }
+ }
+ }
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------------------------------------------------------------------------ | -------- | --------------------- |
+|--------|------|--------------------------------------------------------------------------|----------|-----------------------|
| `body` | body | [codersdk.AuthorizationRequest](schemas.md#codersdkauthorizationrequest) | true | Authorization request |
### Example responses
@@ -55,15 +55,15 @@ curl -X POST http://coder-server:8080/api/v2/authcheck \
```json
{
- "property1": true,
- "property2": true
+ "property1": true,
+ "property2": true
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AuthorizationResponse](schemas.md#codersdkauthorizationresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -85,15 +85,15 @@ curl -X POST http://coder-server:8080/api/v2/users/login \
```json
{
- "email": "user@example.com",
- "password": "string"
+ "email": "user@example.com",
+ "password": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------------- | -------- | ------------- |
+|--------|------|----------------------------------------------------------------------------------|----------|---------------|
| `body` | body | [codersdk.LoginWithPasswordRequest](schemas.md#codersdkloginwithpasswordrequest) | true | Login request |
### Example responses
@@ -102,14 +102,14 @@ curl -X POST http://coder-server:8080/api/v2/users/login \
```json
{
- "session_token": "string"
+ "session_token": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ---------------------------------------------------------------------------------- |
+|--------|--------------------------------------------------------------|-------------|------------------------------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.LoginWithPasswordResponse](schemas.md#codersdkloginwithpasswordresponse) |
## Change password with a one-time passcode
@@ -128,22 +128,22 @@ curl -X POST http://coder-server:8080/api/v2/users/otp/change-password \
```json
{
- "email": "user@example.com",
- "one_time_passcode": "string",
- "password": "string"
+ "email": "user@example.com",
+ "one_time_passcode": "string",
+ "password": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------------------------------------------------------------- | -------- | ----------------------- |
+|--------|------|------------------------------------------------------------------------------------------------------------------|----------|-------------------------|
| `body` | body | [codersdk.ChangePasswordWithOneTimePasscodeRequest](schemas.md#codersdkchangepasswordwithonetimepasscoderequest) | true | Change password request |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
## Request one-time passcode
@@ -162,20 +162,20 @@ curl -X POST http://coder-server:8080/api/v2/users/otp/request \
```json
{
- "email": "user@example.com"
+ "email": "user@example.com"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------------------------------------------------------------------------------------------ | -------- | ------------------------- |
+|--------|------|--------------------------------------------------------------------------------------------|----------|---------------------------|
| `body` | body | [codersdk.RequestOneTimePasscodeRequest](schemas.md#codersdkrequestonetimepasscoderequest) | true | One-time passcode request |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
## Validate user password
@@ -196,14 +196,14 @@ curl -X POST http://coder-server:8080/api/v2/users/validate-password \
```json
{
- "password": "string"
+ "password": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------------------- | -------- | ------------------------------ |
+|--------|------|----------------------------------------------------------------------------------------|----------|--------------------------------|
| `body` | body | [codersdk.ValidateUserPasswordRequest](schemas.md#codersdkvalidateuserpasswordrequest) | true | Validate user password request |
### Example responses
@@ -212,15 +212,15 @@ curl -X POST http://coder-server:8080/api/v2/users/validate-password \
```json
{
- "details": "string",
- "valid": true
+ "details": "string",
+ "valid": true
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ValidateUserPasswordResponse](schemas.md#codersdkvalidateuserpasswordresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -243,15 +243,15 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/convert-login \
```json
{
- "password": "string",
- "to_type": ""
+ "password": "string",
+ "to_type": ""
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------------------- | -------- | -------------------- |
+|--------|------|------------------------------------------------------------------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `body` | body | [codersdk.ConvertLoginRequest](schemas.md#codersdkconvertloginrequest) | true | Convert request |
@@ -261,17 +261,17 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/convert-login \
```json
{
- "expires_at": "2019-08-24T14:15:22Z",
- "state_string": "string",
- "to_type": "",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "expires_at": "2019-08-24T14:15:22Z",
+ "state_string": "string",
+ "to_type": "",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ------------------------------------------------------------------------------ |
+|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.OAuthConversionResponse](schemas.md#codersdkoauthconversionresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/builds.md b/docs/reference/api/builds.md
index 1a03888508e3b..8c17b95a4b7a4 100644
--- a/docs/reference/api/builds.md
+++ b/docs/reference/api/builds.md
@@ -16,7 +16,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
### Parameters
| Name | In | Type | Required | Description |
-| --------------- | ---- | -------------- | -------- | -------------------- |
+|-----------------|------|----------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `workspacename` | path | string | true | Workspace name |
| `buildnumber` | path | string(number) | true | Build number |
@@ -27,162 +27,182 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
```json
{
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -203,7 +223,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild} \
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------ | -------- | ------------------ |
+|------------------|------|--------|----------|--------------------|
| `workspacebuild` | path | string | true | Workspace build ID |
### Example responses
@@ -212,162 +232,182 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild} \
```json
{
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -388,7 +428,7 @@ curl -X PATCH http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/c
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------ | -------- | ------------------ |
+|------------------|------|--------|----------|--------------------|
| `workspacebuild` | path | string | true | Workspace build ID |
### Example responses
@@ -397,21 +437,21 @@ curl -X PATCH http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/c
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -431,12 +471,12 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/log
### Parameters
-| Name | In | Type | Required | Description |
-| ---------------- | ----- | ------- | -------- | --------------------- |
-| `workspacebuild` | path | string | true | Workspace build ID |
-| `before` | query | integer | false | Before Unix timestamp |
-| `after` | query | integer | false | After Unix timestamp |
-| `follow` | query | boolean | false | Follow log stream |
+| Name | In | Type | Required | Description |
+|------------------|-------|---------|----------|--------------------|
+| `workspacebuild` | path | string | true | Workspace build ID |
+| `before` | query | integer | false | Before log id |
+| `after` | query | integer | false | After log id |
+| `follow` | query | boolean | false | Follow log stream |
### Example responses
@@ -444,21 +484,21 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/log
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "log_level": "trace",
- "log_source": "provisioner_daemon",
- "output": "string",
- "stage": "string"
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": 0,
+ "log_level": "trace",
+ "log_source": "provisioner_daemon",
+ "output": "string",
+ "stage": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerJobLog](schemas.md#codersdkprovisionerjoblog) |
Response Schema
@@ -466,7 +506,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/log
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | -------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------|----------------------------------------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | false | | |
| `» id` | integer | false | | |
@@ -478,7 +518,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------ | -------------------- |
+|--------------|----------------------|
| `log_level` | `trace` |
| `log_level` | `debug` |
| `log_level` | `info` |
@@ -505,7 +545,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/par
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------ | -------- | ------------------ |
+|------------------|------|--------|----------|--------------------|
| `workspacebuild` | path | string | true | Workspace build ID |
### Example responses
@@ -514,17 +554,17 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/par
```json
[
- {
- "name": "string",
- "value": "string"
- }
+ {
+ "name": "string",
+ "value": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceBuildParameter](schemas.md#codersdkworkspacebuildparameter) |
Response Schema
@@ -532,7 +572,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/par
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» name` | string | false | | |
| `» value` | string | false | | |
@@ -555,7 +595,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/res
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------ | -------- | ------------------ |
+|------------------|------|--------|----------|--------------------|
| `workspacebuild` | path | string | true | Workspace build ID |
### Example responses
@@ -564,123 +604,128 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/res
```json
[
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceResource](schemas.md#codersdkworkspaceresource) |
Response Schema
@@ -688,7 +733,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/res
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ------------------------------- | ------------------------------------------------------------------------------------------------------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|---------------------------------|--------------------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» agents` | array | false | | |
| `»» api_version` | string | false | | |
@@ -704,6 +749,7 @@ Status Code **200**
| `»»» hidden` | boolean | false | | |
| `»»» icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. |
| `»»» id` | string(uuid) | false | | |
+| `»»» open_in` | [codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin) | false | | |
| `»»» sharing_level` | [codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel) | false | | |
| `»»» slug` | string | false | | Slug is a unique identifier within the agent. |
| `»»» subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. |
@@ -777,11 +823,13 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------------------- | ------------------ |
+|---------------------------|--------------------|
| `health` | `disabled` |
| `health` | `initializing` |
| `health` | `healthy` |
| `health` | `unhealthy` |
+| `open_in` | `slim-window` |
+| `open_in` | `tab` |
| `sharing_level` | `owner` |
| `sharing_level` | `authenticated` |
| `sharing_level` | `public` |
@@ -822,7 +870,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/sta
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------ | -------- | ------------------ |
+|------------------|------|--------|----------|--------------------|
| `workspacebuild` | path | string | true | Workspace build ID |
### Example responses
@@ -831,162 +879,182 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/sta
```json
{
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1007,7 +1075,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/tim
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------------ | -------- | ------------------ |
+|------------------|------|--------------|----------|--------------------|
| `workspacebuild` | path | string(uuid) | true | Workspace build ID |
### Example responses
@@ -1016,45 +1084,45 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/tim
```json
{
- "agent_connection_timings": [
- {
- "ended_at": "2019-08-24T14:15:22Z",
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z",
- "workspace_agent_id": "string",
- "workspace_agent_name": "string"
- }
- ],
- "agent_script_timings": [
- {
- "display_name": "string",
- "ended_at": "2019-08-24T14:15:22Z",
- "exit_code": 0,
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z",
- "status": "string",
- "workspace_agent_id": "string",
- "workspace_agent_name": "string"
- }
- ],
- "provisioner_timings": [
- {
- "action": "string",
- "ended_at": "2019-08-24T14:15:22Z",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "resource": "string",
- "source": "string",
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z"
- }
- ]
+ "agent_connection_timings": [
+ {
+ "ended_at": "2019-08-24T14:15:22Z",
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z",
+ "workspace_agent_id": "string",
+ "workspace_agent_name": "string"
+ }
+ ],
+ "agent_script_timings": [
+ {
+ "display_name": "string",
+ "ended_at": "2019-08-24T14:15:22Z",
+ "exit_code": 0,
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "string",
+ "workspace_agent_id": "string",
+ "workspace_agent_name": "string"
+ }
+ ],
+ "provisioner_timings": [
+ {
+ "action": "string",
+ "ended_at": "2019-08-24T14:15:22Z",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "resource": "string",
+ "source": "string",
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuildTimings](schemas.md#codersdkworkspacebuildtimings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1075,7 +1143,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ----- | ----------------- | -------- | --------------- |
+|-------------|-------|-------------------|----------|-----------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `after_id` | query | string(uuid) | false | After ID |
| `limit` | query | integer | false | Page limit |
@@ -1088,164 +1156,184 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
```json
[
- {
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
- }
+ {
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) |
Response Schema
@@ -1253,7 +1341,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------------------------- | ------------------------------------------------------------------------------------------------------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|----------------------------------|--------------------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» build_number` | integer | false | | |
| `» created_at` | string(date-time) | false | | |
@@ -1263,6 +1351,7 @@ Status Code **200**
| `» initiator_id` | string(uuid) | false | | |
| `» initiator_name` | string | false | | |
| `» job` | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | false | | |
+| `»» available_workers` | array | false | | |
| `»» canceled_at` | string(date-time) | false | | |
| `»» completed_at` | string(date-time) | false | | |
| `»» created_at` | string(date-time) | false | | |
@@ -1270,13 +1359,23 @@ Status Code **200**
| `»» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | |
| `»» file_id` | string(uuid) | false | | |
| `»» id` | string(uuid) | false | | |
+| `»» input` | [codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput) | false | | |
+| `»»» error` | string | false | | |
+| `»»» template_version_id` | string(uuid) | false | | |
+| `»»» workspace_build_id` | string(uuid) | false | | |
+| `»» organization_id` | string(uuid) | false | | |
| `»» queue_position` | integer | false | | |
| `»» queue_size` | integer | false | | |
| `»» started_at` | string(date-time) | false | | |
| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | |
| `»» tags` | object | false | | |
| `»»» [any property]` | string | false | | |
+| `»» type` | [codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype) | false | | |
| `»» worker_id` | string(uuid) | false | | |
+| `» matched_provisioners` | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | false | | |
+| `»» available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. |
+| `»» count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. |
+| `»» most_recently_seen` | string(date-time) | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. |
| `» max_deadline` | string(date-time) | false | | |
| `» reason` | [codersdk.BuildReason](schemas.md#codersdkbuildreason) | false | | |
| `» resources` | array | false | | |
@@ -1294,6 +1393,7 @@ Status Code **200**
| `»»»» hidden` | boolean | false | | |
| `»»»» icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. |
| `»»»» id` | string(uuid) | false | | |
+| `»»»» open_in` | [codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin) | false | | |
| `»»»» sharing_level` | [codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel) | false | | |
| `»»»» slug` | string | false | | Slug is a unique identifier within the agent. |
| `»»»» subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. |
@@ -1377,7 +1477,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------------------- | ----------------------------- |
+|---------------------------|-------------------------------|
| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` |
| `status` | `pending` |
| `status` | `running` |
@@ -1385,6 +1485,9 @@ Status Code **200**
| `status` | `canceling` |
| `status` | `canceled` |
| `status` | `failed` |
+| `type` | `template_version_import` |
+| `type` | `workspace_build` |
+| `type` | `template_version_dry_run` |
| `reason` | `initiator` |
| `reason` | `autostart` |
| `reason` | `autostop` |
@@ -1392,6 +1495,8 @@ Status Code **200**
| `health` | `initializing` |
| `health` | `healthy` |
| `health` | `unhealthy` |
+| `open_in` | `slim-window` |
+| `open_in` | `tab` |
| `sharing_level` | `owner` |
| `sharing_level` | `authenticated` |
| `sharing_level` | `public` |
@@ -1447,25 +1552,27 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
```json
{
- "dry_run": true,
- "log_level": "debug",
- "orphan": true,
- "rich_parameter_values": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "state": [0],
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "transition": "start"
+ "dry_run": true,
+ "log_level": "debug",
+ "orphan": true,
+ "rich_parameter_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "state": [
+ 0
+ ],
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "transition": "start"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | -------------------------------------------------------------------------------------- | -------- | ------------------------------ |
+|-------------|------|----------------------------------------------------------------------------------------|----------|--------------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.CreateWorkspaceBuildRequest](schemas.md#codersdkcreateworkspacebuildrequest) | true | Create workspace build request |
@@ -1475,162 +1582,182 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
```json
{
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/debug.md b/docs/reference/api/debug.md
index 630e07510cc40..63fd1aeda8f98 100644
--- a/docs/reference/api/debug.md
+++ b/docs/reference/api/debug.md
@@ -15,7 +15,7 @@ curl -X GET http://coder-server:8080/api/v2/debug/coordinator \
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -36,7 +36,7 @@ curl -X GET http://coder-server:8080/api/v2/debug/health \
### Parameters
| Name | In | Type | Required | Description |
-| ------- | ----- | ------- | -------- | -------------------------- |
+|---------|-------|---------|----------|----------------------------|
| `force` | query | boolean | false | Force a healthcheck to run |
### Example responses
@@ -45,340 +45,374 @@ curl -X GET http://coder-server:8080/api/v2/debug/health \
```json
{
- "access_url": {
- "access_url": "string",
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "healthz_response": "string",
- "reachable": true,
- "severity": "ok",
- "status_code": 0,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "coder_version": "string",
- "database": {
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "latency": "string",
- "latency_ms": 0,
- "reachable": true,
- "severity": "ok",
- "threshold_ms": 0,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "derp": {
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "netcheck": {
- "captivePortal": "string",
- "globalV4": "string",
- "globalV6": "string",
- "hairPinning": "string",
- "icmpv4": true,
- "ipv4": true,
- "ipv4CanSend": true,
- "ipv6": true,
- "ipv6CanSend": true,
- "mappingVariesByDestIP": "string",
- "oshasIPv6": true,
- "pcp": "string",
- "pmp": "string",
- "preferredDERP": 0,
- "regionLatency": {
- "property1": 0,
- "property2": 0
- },
- "regionV4Latency": {
- "property1": 0,
- "property2": 0
- },
- "regionV6Latency": {
- "property1": 0,
- "property2": 0
- },
- "udp": true,
- "upnP": "string"
- },
- "netcheck_err": "string",
- "netcheck_logs": ["string"],
- "regions": {
- "property1": {
- "error": "string",
- "healthy": true,
- "node_reports": [
- {
- "can_exchange_messages": true,
- "client_errs": [["string"]],
- "client_logs": [["string"]],
- "error": "string",
- "healthy": true,
- "node": {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- },
- "node_info": {
- "tokenBucketBytesBurst": 0,
- "tokenBucketBytesPerSecond": 0
- },
- "round_trip_ping": "string",
- "round_trip_ping_ms": 0,
- "severity": "ok",
- "stun": {
- "canSTUN": true,
- "enabled": true,
- "error": "string"
- },
- "uses_websocket": true,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "region": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "property2": {
- "error": "string",
- "healthy": true,
- "node_reports": [
- {
- "can_exchange_messages": true,
- "client_errs": [["string"]],
- "client_logs": [["string"]],
- "error": "string",
- "healthy": true,
- "node": {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- },
- "node_info": {
- "tokenBucketBytesBurst": 0,
- "tokenBucketBytesPerSecond": 0
- },
- "round_trip_ping": "string",
- "round_trip_ping_ms": 0,
- "severity": "ok",
- "stun": {
- "canSTUN": true,
- "enabled": true,
- "error": "string"
- },
- "uses_websocket": true,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "region": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "healthy": true,
- "provisioner_daemons": {
- "dismissed": true,
- "error": "string",
- "items": [
- {
- "provisioner_daemon": {
- "api_version": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "provisioners": ["string"],
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "version": "string"
- },
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "severity": "ok",
- "time": "2019-08-24T14:15:22Z",
- "websocket": {
- "body": "string",
- "code": 0,
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "workspace_proxy": {
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ],
- "workspace_proxies": {
- "regions": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "deleted": true,
- "derp_enabled": true,
- "derp_only": true,
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "status": {
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
- },
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string",
- "wildcard_hostname": "string"
- }
- ]
- }
- }
+ "access_url": {
+ "access_url": "string",
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "healthz_response": "string",
+ "reachable": true,
+ "severity": "ok",
+ "status_code": 0,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "coder_version": "string",
+ "database": {
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "latency": "string",
+ "latency_ms": 0,
+ "reachable": true,
+ "severity": "ok",
+ "threshold_ms": 0,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "derp": {
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "netcheck": {
+ "captivePortal": "string",
+ "globalV4": "string",
+ "globalV6": "string",
+ "hairPinning": "string",
+ "icmpv4": true,
+ "ipv4": true,
+ "ipv4CanSend": true,
+ "ipv6": true,
+ "ipv6CanSend": true,
+ "mappingVariesByDestIP": "string",
+ "oshasIPv6": true,
+ "pcp": "string",
+ "pmp": "string",
+ "preferredDERP": 0,
+ "regionLatency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "regionV4Latency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "regionV6Latency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "udp": true,
+ "upnP": "string"
+ },
+ "netcheck_err": "string",
+ "netcheck_logs": [
+ "string"
+ ],
+ "regions": {
+ "property1": {
+ "error": "string",
+ "healthy": true,
+ "node_reports": [
+ {
+ "can_exchange_messages": true,
+ "client_errs": [
+ [
+ "string"
+ ]
+ ],
+ "client_logs": [
+ [
+ "string"
+ ]
+ ],
+ "error": "string",
+ "healthy": true,
+ "node": {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ },
+ "node_info": {
+ "tokenBucketBytesBurst": 0,
+ "tokenBucketBytesPerSecond": 0
+ },
+ "round_trip_ping": "string",
+ "round_trip_ping_ms": 0,
+ "severity": "ok",
+ "stun": {
+ "canSTUN": true,
+ "enabled": true,
+ "error": "string"
+ },
+ "uses_websocket": true,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "region": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "property2": {
+ "error": "string",
+ "healthy": true,
+ "node_reports": [
+ {
+ "can_exchange_messages": true,
+ "client_errs": [
+ [
+ "string"
+ ]
+ ],
+ "client_logs": [
+ [
+ "string"
+ ]
+ ],
+ "error": "string",
+ "healthy": true,
+ "node": {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ },
+ "node_info": {
+ "tokenBucketBytesBurst": 0,
+ "tokenBucketBytesPerSecond": 0
+ },
+ "round_trip_ping": "string",
+ "round_trip_ping_ms": 0,
+ "severity": "ok",
+ "stun": {
+ "canSTUN": true,
+ "enabled": true,
+ "error": "string"
+ },
+ "uses_websocket": true,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "region": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "healthy": true,
+ "provisioner_daemons": {
+ "dismissed": true,
+ "error": "string",
+ "items": [
+ {
+ "provisioner_daemon": {
+ "api_version": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "current_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
+ "key_name": "string",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "previous_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "provisioners": [
+ "string"
+ ],
+ "status": "offline",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "version": "string"
+ },
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "severity": "ok",
+ "time": "2019-08-24T14:15:22Z",
+ "websocket": {
+ "body": "string",
+ "code": 0,
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "workspace_proxy": {
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ],
+ "workspace_proxies": {
+ "regions": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleted": true,
+ "derp_enabled": true,
+ "derp_only": true,
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "status": {
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
+ },
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string",
+ "wildcard_hostname": "string"
+ }
+ ]
+ }
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [healthsdk.HealthcheckReport](schemas.md#healthsdkhealthcheckreport) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -402,14 +436,16 @@ curl -X GET http://coder-server:8080/api/v2/debug/health/settings \
```json
{
- "dismissed_healthchecks": ["DERP"]
+ "dismissed_healthchecks": [
+ "DERP"
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [healthsdk.HealthSettings](schemas.md#healthsdkhealthsettings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -432,14 +468,16 @@ curl -X PUT http://coder-server:8080/api/v2/debug/health/settings \
```json
{
- "dismissed_healthchecks": ["DERP"]
+ "dismissed_healthchecks": [
+ "DERP"
+ ]
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------- | -------- | ---------------------- |
+|--------|------|----------------------------------------------------------------------------|----------|------------------------|
| `body` | body | [healthsdk.UpdateHealthSettings](schemas.md#healthsdkupdatehealthsettings) | true | Update health settings |
### Example responses
@@ -448,14 +486,16 @@ curl -X PUT http://coder-server:8080/api/v2/debug/health/settings \
```json
{
- "dismissed_healthchecks": ["DERP"]
+ "dismissed_healthchecks": [
+ "DERP"
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [healthsdk.UpdateHealthSettings](schemas.md#healthsdkupdatehealthsettings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -475,7 +515,7 @@ curl -X GET http://coder-server:8080/api/v2/debug/tailnet \
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/enterprise.md b/docs/reference/api/enterprise.md
index 8a2a5d08600fa..a1a61f4a5b54a 100644
--- a/docs/reference/api/enterprise.md
+++ b/docs/reference/api/enterprise.md
@@ -19,35 +19,35 @@ curl -X GET http://coder-server:8080/api/v2/appearance \
```json
{
- "announcement_banners": [
- {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- }
- ],
- "application_name": "string",
- "docs_url": "string",
- "logo_url": "string",
- "service_banner": {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- },
- "support_links": [
- {
- "icon": "bug",
- "name": "string",
- "target": "string"
- }
- ]
+ "announcement_banners": [
+ {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ }
+ ],
+ "application_name": "string",
+ "docs_url": "string",
+ "logo_url": "string",
+ "service_banner": {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ },
+ "support_links": [
+ {
+ "icon": "bug",
+ "name": "string",
+ "target": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AppearanceConfig](schemas.md#codersdkappearanceconfig) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -70,27 +70,27 @@ curl -X PUT http://coder-server:8080/api/v2/appearance \
```json
{
- "announcement_banners": [
- {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- }
- ],
- "application_name": "string",
- "logo_url": "string",
- "service_banner": {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- }
+ "announcement_banners": [
+ {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ }
+ ],
+ "application_name": "string",
+ "logo_url": "string",
+ "service_banner": {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ }
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------------------------- | -------- | ------------------------- |
+|--------|------|------------------------------------------------------------------------------|----------|---------------------------|
| `body` | body | [codersdk.UpdateAppearanceConfig](schemas.md#codersdkupdateappearanceconfig) | true | Update appearance request |
### Example responses
@@ -99,27 +99,27 @@ curl -X PUT http://coder-server:8080/api/v2/appearance \
```json
{
- "announcement_banners": [
- {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- }
- ],
- "application_name": "string",
- "logo_url": "string",
- "service_banner": {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- }
+ "announcement_banners": [
+ {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ }
+ ],
+ "application_name": "string",
+ "logo_url": "string",
+ "service_banner": {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UpdateAppearanceConfig](schemas.md#codersdkupdateappearanceconfig) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -143,33 +143,37 @@ curl -X GET http://coder-server:8080/api/v2/entitlements \
```json
{
- "errors": ["string"],
- "features": {
- "property1": {
- "actual": 0,
- "enabled": true,
- "entitlement": "entitled",
- "limit": 0
- },
- "property2": {
- "actual": 0,
- "enabled": true,
- "entitlement": "entitled",
- "limit": 0
- }
- },
- "has_license": true,
- "refreshed_at": "2019-08-24T14:15:22Z",
- "require_telemetry": true,
- "trial": true,
- "warnings": ["string"]
+ "errors": [
+ "string"
+ ],
+ "features": {
+ "property1": {
+ "actual": 0,
+ "enabled": true,
+ "entitlement": "entitled",
+ "limit": 0
+ },
+ "property2": {
+ "actual": 0,
+ "enabled": true,
+ "entitlement": "entitled",
+ "limit": 0
+ }
+ },
+ "has_license": true,
+ "refreshed_at": "2019-08-24T14:15:22Z",
+ "require_telemetry": true,
+ "trial": true,
+ "warnings": [
+ "string"
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Entitlements](schemas.md#codersdkentitlements) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -190,7 +194,7 @@ curl -X GET http://coder-server:8080/api/v2/groups?organization=string&has_membe
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ----- | ------ | -------- | --------------------------------- |
+|----------------|-------|--------|----------|-----------------------------------|
| `organization` | query | string | true | Organization ID or name |
| `has_member` | query | string | true | User ID or name |
| `group_ids` | query | string | true | Comma separated list of group IDs |
@@ -201,40 +205,40 @@ curl -X GET http://coder-server:8080/api/v2/groups?organization=string&has_membe
```json
[
- {
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
- }
+ {
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Group](schemas.md#codersdkgroup) |
Response Schema
@@ -242,7 +246,7 @@ curl -X GET http://coder-server:8080/api/v2/groups?organization=string&has_membe
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ----------------------------- | ------------------------------------------------------ | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|-------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» avatar_url` | string | false | | |
| `» display_name` | string | false | | |
@@ -270,7 +274,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------ | ----------- |
+|--------------|-------------|
| `login_type` | `` |
| `login_type` | `password` |
| `login_type` | `github` |
@@ -300,7 +304,7 @@ curl -X GET http://coder-server:8080/api/v2/groups/{group} \
### Parameters
| Name | In | Type | Required | Description |
-| ------- | ---- | ------ | -------- | ----------- |
+|---------|------|--------|----------|-------------|
| `group` | path | string | true | Group id |
### Example responses
@@ -309,38 +313,38 @@ curl -X GET http://coder-server:8080/api/v2/groups/{group} \
```json
{
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Group](schemas.md#codersdkgroup) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -361,7 +365,7 @@ curl -X DELETE http://coder-server:8080/api/v2/groups/{group} \
### Parameters
| Name | In | Type | Required | Description |
-| ------- | ---- | ------ | -------- | ----------- |
+|---------|------|--------|----------|-------------|
| `group` | path | string | true | Group name |
### Example responses
@@ -370,38 +374,38 @@ curl -X DELETE http://coder-server:8080/api/v2/groups/{group} \
```json
{
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Group](schemas.md#codersdkgroup) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -424,19 +428,23 @@ curl -X PATCH http://coder-server:8080/api/v2/groups/{group} \
```json
{
- "add_users": ["string"],
- "avatar_url": "string",
- "display_name": "string",
- "name": "string",
- "quota_allowance": 0,
- "remove_users": ["string"]
+ "add_users": [
+ "string"
+ ],
+ "avatar_url": "string",
+ "display_name": "string",
+ "name": "string",
+ "quota_allowance": 0,
+ "remove_users": [
+ "string"
+ ]
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------- | ---- | ------------------------------------------------------------------ | -------- | ------------------- |
+|---------|------|--------------------------------------------------------------------|----------|---------------------|
| `group` | path | string | true | Group name |
| `body` | body | [codersdk.PatchGroupRequest](schemas.md#codersdkpatchgrouprequest) | true | Patch group request |
@@ -446,43 +454,43 @@ curl -X PATCH http://coder-server:8080/api/v2/groups/{group} \
```json
{
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Group](schemas.md#codersdkgroup) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Get JFrog XRay scan by workspace agent ID.
+## Get JFrog XRay scan by workspace agent ID
### Code samples
@@ -498,7 +506,7 @@ curl -X GET http://coder-server:8080/api/v2/integrations/jfrog/xray-scan?workspa
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ----- | ------ | -------- | ------------ |
+|----------------|-------|--------|----------|--------------|
| `workspace_id` | query | string | true | Workspace ID |
| `agent_id` | query | string | true | Agent ID |
@@ -508,24 +516,24 @@ curl -X GET http://coder-server:8080/api/v2/integrations/jfrog/xray-scan?workspa
```json
{
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "critical": 0,
- "high": 0,
- "medium": 0,
- "results_url": "string",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
+ "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
+ "critical": 0,
+ "high": 0,
+ "medium": 0,
+ "results_url": "string",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.JFrogXrayScan](schemas.md#codersdkjfrogxrayscan) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Post JFrog XRay scan by workspace agent ID.
+## Post JFrog XRay scan by workspace agent ID
### Code samples
@@ -543,19 +551,19 @@ curl -X POST http://coder-server:8080/api/v2/integrations/jfrog/xray-scan \
```json
{
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "critical": 0,
- "high": 0,
- "medium": 0,
- "results_url": "string",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
+ "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
+ "critical": 0,
+ "high": 0,
+ "medium": 0,
+ "results_url": "string",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------- | -------- | ---------------------------- |
+|--------|------|------------------------------------------------------------|----------|------------------------------|
| `body` | body | [codersdk.JFrogXrayScan](schemas.md#codersdkjfrogxrayscan) | true | Post JFrog XRay scan request |
### Example responses
@@ -564,21 +572,21 @@ curl -X POST http://coder-server:8080/api/v2/integrations/jfrog/xray-scan \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -602,32 +610,32 @@ curl -X GET http://coder-server:8080/api/v2/licenses \
```json
[
- {
- "claims": {},
- "id": 0,
- "uploaded_at": "2019-08-24T14:15:22Z",
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
- }
+ {
+ "claims": {},
+ "id": 0,
+ "uploaded_at": "2019-08-24T14:15:22Z",
+ "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.License](schemas.md#codersdklicense) |
Response Schema
Status Code **200**
-| Name | Type | Required | Restrictions | Description |
-| --------------- | ----------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `[array item]` | array | false | | |
-| `» claims` | object | false | | Claims are the JWT claims asserted by the license. Here we use a generic string map to ensure that all data from the server is parsed verbatim, not just the fields this version of Coder understands. |
-| `» id` | integer | false | | |
-| `» uploaded_at` | string(date-time) | false | | |
-| `» uuid` | string(uuid) | false | | |
+| Name | Type | Required | Restrictions | Description |
+|-----------------|-------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `[array item]` | array | false | | |
+| `» claims` | object | false | | Claims are the JWT claims asserted by the license. Here we use a generic string map to ensure that all data from the server is parsed verbatim, not just the fields this version of Coder understands. |
+| `» id` | integer | false | | |
+| `» uploaded_at` | string(date-time) | false | | |
+| `» uuid` | string(uuid) | false | | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -646,13 +654,13 @@ curl -X DELETE http://coder-server:8080/api/v2/licenses/{id} \
### Parameters
| Name | In | Type | Required | Description |
-| ---- | ---- | -------------- | -------- | ----------- |
+|------|------|----------------|----------|-------------|
| `id` | path | string(number) | true | License ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -672,19 +680,19 @@ curl -X PUT http://coder-server:8080/api/v2/notifications/templates/{notificatio
### Parameters
| Name | In | Type | Required | Description |
-| ----------------------- | ---- | ------ | -------- | -------------------------- |
+|-------------------------|------|--------|----------|----------------------------|
| `notification_template` | path | string | true | Notification template UUID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ------------ | ------ |
+|--------|-----------------------------------------------------------------|--------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | Success | |
| 304 | [Not Modified](https://tools.ietf.org/html/rfc7232#section-4.1) | Not modified | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Get OAuth2 applications.
+## Get OAuth2 applications
### Code samples
@@ -700,7 +708,7 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps \
### Parameters
| Name | In | Type | Required | Description |
-| --------- | ----- | ------ | -------- | -------------------------------------------- |
+|-----------|-------|--------|----------|----------------------------------------------|
| `user_id` | query | string | false | Filter by applications authorized for a user |
### Example responses
@@ -709,24 +717,24 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps \
```json
[
- {
- "callback_url": "string",
- "endpoints": {
- "authorization": "string",
- "device_authorization": "string",
- "token": "string"
- },
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
- }
+ {
+ "callback_url": "string",
+ "endpoints": {
+ "authorization": "string",
+ "device_authorization": "string",
+ "token": "string"
+ },
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp) |
Response Schema
@@ -734,7 +742,7 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ------------------------- | -------------------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|---------------------------|----------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» callback_url` | string | false | | |
| `» endpoints` | [codersdk.OAuth2AppEndpoints](schemas.md#codersdkoauth2appendpoints) | false | | Endpoints are included in the app response for easier discovery. The OAuth2 spec does not have a defined place to find these (for comparison, OIDC has a '/.well-known/openid-configuration' endpoint). |
@@ -747,7 +755,7 @@ Status Code **200**
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Create OAuth2 application.
+## Create OAuth2 application
### Code samples
@@ -765,16 +773,16 @@ curl -X POST http://coder-server:8080/api/v2/oauth2-provider/apps \
```json
{
- "callback_url": "string",
- "icon": "string",
- "name": "string"
+ "callback_url": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------------------------------------- | -------- | --------------------------------- |
+|--------|------|------------------------------------------------------------------------------------------|----------|-----------------------------------|
| `body` | body | [codersdk.PostOAuth2ProviderAppRequest](schemas.md#codersdkpostoauth2providerapprequest) | true | The OAuth2 application to create. |
### Example responses
@@ -783,27 +791,27 @@ curl -X POST http://coder-server:8080/api/v2/oauth2-provider/apps \
```json
{
- "callback_url": "string",
- "endpoints": {
- "authorization": "string",
- "device_authorization": "string",
- "token": "string"
- },
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
+ "callback_url": "string",
+ "endpoints": {
+ "authorization": "string",
+ "device_authorization": "string",
+ "token": "string"
+ },
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Get OAuth2 application.
+## Get OAuth2 application
### Code samples
@@ -819,7 +827,7 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \
### Parameters
| Name | In | Type | Required | Description |
-| ----- | ---- | ------ | -------- | ----------- |
+|-------|------|--------|----------|-------------|
| `app` | path | string | true | App ID |
### Example responses
@@ -828,27 +836,27 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \
```json
{
- "callback_url": "string",
- "endpoints": {
- "authorization": "string",
- "device_authorization": "string",
- "token": "string"
- },
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
+ "callback_url": "string",
+ "endpoints": {
+ "authorization": "string",
+ "device_authorization": "string",
+ "token": "string"
+ },
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Update OAuth2 application.
+## Update OAuth2 application
### Code samples
@@ -866,16 +874,16 @@ curl -X PUT http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \
```json
{
- "callback_url": "string",
- "icon": "string",
- "name": "string"
+ "callback_url": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------------------- | -------- | ----------------------------- |
+|--------|------|----------------------------------------------------------------------------------------|----------|-------------------------------|
| `app` | path | string | true | App ID |
| `body` | body | [codersdk.PutOAuth2ProviderAppRequest](schemas.md#codersdkputoauth2providerapprequest) | true | Update an OAuth2 application. |
@@ -885,27 +893,27 @@ curl -X PUT http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \
```json
{
- "callback_url": "string",
- "endpoints": {
- "authorization": "string",
- "device_authorization": "string",
- "token": "string"
- },
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
+ "callback_url": "string",
+ "endpoints": {
+ "authorization": "string",
+ "device_authorization": "string",
+ "token": "string"
+ },
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Delete OAuth2 application.
+## Delete OAuth2 application
### Code samples
@@ -920,18 +928,18 @@ curl -X DELETE http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \
### Parameters
| Name | In | Type | Required | Description |
-| ----- | ---- | ------ | -------- | ----------- |
+|-------|------|--------|----------|-------------|
| `app` | path | string | true | App ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Get OAuth2 application secrets.
+## Get OAuth2 application secrets
### Code samples
@@ -947,7 +955,7 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets \
### Parameters
| Name | In | Type | Required | Description |
-| ----- | ---- | ------ | -------- | ----------- |
+|-------|------|--------|----------|-------------|
| `app` | path | string | true | App ID |
### Example responses
@@ -956,18 +964,18 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets \
```json
[
- {
- "client_secret_truncated": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "string"
- }
+ {
+ "client_secret_truncated": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.OAuth2ProviderAppSecret](schemas.md#codersdkoauth2providerappsecret) |
Response Schema
@@ -975,7 +983,7 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| --------------------------- | ------------ | -------- | ------------ | ----------- |
+|-----------------------------|--------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» client_secret_truncated` | string | false | | |
| `» id` | string(uuid) | false | | |
@@ -983,7 +991,7 @@ Status Code **200**
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Create OAuth2 application secret.
+## Create OAuth2 application secret
### Code samples
@@ -999,7 +1007,7 @@ curl -X POST http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets
### Parameters
| Name | In | Type | Required | Description |
-| ----- | ---- | ------ | -------- | ----------- |
+|-------|------|--------|----------|-------------|
| `app` | path | string | true | App ID |
### Example responses
@@ -1008,17 +1016,17 @@ curl -X POST http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets
```json
[
- {
- "client_secret_full": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
- }
+ {
+ "client_secret_full": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.OAuth2ProviderAppSecretFull](schemas.md#codersdkoauth2providerappsecretfull) |
Response Schema
@@ -1026,14 +1034,14 @@ curl -X POST http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | ------------ | -------- | ------------ | ----------- |
+|------------------------|--------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» client_secret_full` | string | false | | |
| `» id` | string(uuid) | false | | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Delete OAuth2 application secret.
+## Delete OAuth2 application secret
### Code samples
@@ -1048,19 +1056,19 @@ curl -X DELETE http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secret
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | ------ | -------- | ----------- |
+|------------|------|--------|----------|-------------|
| `app` | path | string | true | App ID |
| `secretID` | path | string | true | Secret ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## OAuth2 authorization request.
+## OAuth2 authorization request
### Code samples
@@ -1075,7 +1083,7 @@ curl -X POST http://coder-server:8080/api/v2/oauth2/authorize?client_id=string&s
### Parameters
| Name | In | Type | Required | Description |
-| --------------- | ----- | ------ | -------- | --------------------------------- |
+|-----------------|-------|--------|----------|-----------------------------------|
| `client_id` | query | string | true | Client ID |
| `state` | query | string | true | A random unguessable string |
| `response_type` | query | string | true | Response type |
@@ -1085,18 +1093,18 @@ curl -X POST http://coder-server:8080/api/v2/oauth2/authorize?client_id=string&s
#### Enumerated Values
| Parameter | Value |
-| --------------- | ------ |
+|-----------------|--------|
| `response_type` | `code` |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ---------------------------------------------------------- | ----------- | ------ |
+|--------|------------------------------------------------------------|-------------|--------|
| 302 | [Found](https://tools.ietf.org/html/rfc7231#section-6.4.3) | Found | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## OAuth2 token exchange.
+## OAuth2 token exchange
### Code samples
@@ -1116,12 +1124,13 @@ client_secret: string
code: string
refresh_token: string
grant_type: authorization_code
+
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------ | -------- | ------------------------------------------------------------- |
+|-------------------|------|--------|----------|---------------------------------------------------------------|
| `body` | body | object | false | |
| `» client_id` | body | string | false | Client ID, required if grant_type=authorization_code |
| `» client_secret` | body | string | false | Client secret, required if grant_type=authorization_code |
@@ -1132,7 +1141,7 @@ grant_type: authorization_code
#### Enumerated Values
| Parameter | Value |
-| -------------- | -------------------- |
+|----------------|----------------------|
| `» grant_type` | `authorization_code` |
| `» grant_type` | `refresh_token` |
@@ -1142,21 +1151,21 @@ grant_type: authorization_code
```json
{
- "access_token": "string",
- "expires_in": 0,
- "expiry": "string",
- "refresh_token": "string",
- "token_type": "string"
+ "access_token": "string",
+ "expires_in": 0,
+ "expiry": "string",
+ "refresh_token": "string",
+ "token_type": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [oauth2.Token](schemas.md#oauth2token) |
-## Delete OAuth2 application tokens.
+## Delete OAuth2 application tokens
### Code samples
@@ -1171,13 +1180,13 @@ curl -X DELETE http://coder-server:8080/api/v2/oauth2/tokens?client_id=string \
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ----- | ------ | -------- | ----------- |
+|-------------|-------|--------|----------|-------------|
| `client_id` | query | string | true | Client ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1198,7 +1207,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Example responses
@@ -1207,40 +1216,40 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups
```json
[
- {
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
- }
+ {
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Group](schemas.md#codersdkgroup) |
Response Schema
@@ -1248,7 +1257,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ----------------------------- | ------------------------------------------------------ | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|-------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» avatar_url` | string | false | | |
| `» display_name` | string | false | | |
@@ -1276,7 +1285,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------ | ----------- |
+|--------------|-------------|
| `login_type` | `` |
| `login_type` | `password` |
| `login_type` | `github` |
@@ -1308,17 +1317,17 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/groups
```json
{
- "avatar_url": "string",
- "display_name": "string",
- "name": "string",
- "quota_allowance": 0
+ "avatar_url": "string",
+ "display_name": "string",
+ "name": "string",
+ "quota_allowance": 0
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | -------------------------------------------------------------------- | -------- | -------------------- |
+|----------------|------|----------------------------------------------------------------------|----------|----------------------|
| `organization` | path | string | true | Organization ID |
| `body` | body | [codersdk.CreateGroupRequest](schemas.md#codersdkcreategrouprequest) | true | Create group request |
@@ -1328,38 +1337,38 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/groups
```json
{
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ------------------------------------------ |
+|--------|--------------------------------------------------------------|-------------|--------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.Group](schemas.md#codersdkgroup) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1380,7 +1389,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups/
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `groupName` | path | string | true | Group name |
@@ -1390,38 +1399,38 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups/
```json
{
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Group](schemas.md#codersdkgroup) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1442,7 +1451,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | -------------------- |
+|----------------|------|--------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `organization` | path | string(uuid) | true | Organization ID |
@@ -1452,90 +1461,19 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members
```json
{
- "budget": 0,
- "credits_consumed": 0
+ "budget": 0,
+ "credits_consumed": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceQuota](schemas.md#codersdkworkspacequota) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Get provisioner daemons
-
-### Code samples
-
-```shell
-# Example request using curl
-curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisionerdaemons \
- -H 'Accept: application/json' \
- -H 'Coder-Session-Token: API_KEY'
-```
-
-`GET /organizations/{organization}/provisionerdaemons`
-
-### Parameters
-
-| Name | In | Type | Required | Description |
-| -------------- | ----- | ------------ | -------- | ---------------------------------------------------------------------------------- |
-| `organization` | path | string(uuid) | true | Organization ID |
-| `tags` | query | object | false | Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'}) |
-
-### Example responses
-
-> 200 Response
-
-```json
-[
- {
- "api_version": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "provisioners": ["string"],
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "version": "string"
- }
-]
-```
-
-### Responses
-
-| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
-| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerDaemon](schemas.md#codersdkprovisionerdaemon) |
-
-Response Schema
-
-Status Code **200**
-
-| Name | Type | Required | Restrictions | Description |
-| ------------------- | ----------------- | -------- | ------------ | ----------- |
-| `[array item]` | array | false | | |
-| `» api_version` | string | false | | |
-| `» created_at` | string(date-time) | false | | |
-| `» id` | string(uuid) | false | | |
-| `» key_id` | string(uuid) | false | | |
-| `» last_seen_at` | string(date-time) | false | | |
-| `» name` | string | false | | |
-| `» organization_id` | string(uuid) | false | | |
-| `» provisioners` | array | false | | |
-| `» tags` | object | false | | |
-| `»» [any property]` | string | false | | |
-| `» version` | string | false | | |
-
-To perform this operation, you must be authenticated. [Learn more](authentication.md).
-
## Serve provisioner daemon
### Code samples
@@ -1551,13 +1489,13 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------------------ | ------------------- | ------ |
+|--------|--------------------------------------------------------------------------|---------------------|--------|
| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1578,7 +1516,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------ | -------- | --------------- |
+|----------------|------|--------|----------|-----------------|
| `organization` | path | string | true | Organization ID |
### Example responses
@@ -1587,23 +1525,23 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
- "tags": {
- "property1": "string",
- "property2": "string"
- }
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ }
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey) |
Response Schema
@@ -1611,7 +1549,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ------------------- | -------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|---------------------|----------------------------------------------------------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | false | | |
| `» id` | string(uuid) | false | | |
@@ -1638,7 +1576,7 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/provis
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------ | -------- | --------------- |
+|----------------|------|--------|----------|-----------------|
| `organization` | path | string | true | Organization ID |
### Example responses
@@ -1647,14 +1585,14 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/provis
```json
{
- "key": "string"
+ "key": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ---------------------------------------------------------------------------------------- |
+|--------|--------------------------------------------------------------|-------------|------------------------------------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.CreateProvisionerKeyResponse](schemas.md#codersdkcreateprovisionerkeyresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1675,7 +1613,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------ | -------- | --------------- |
+|----------------|------|--------|----------|-----------------|
| `organization` | path | string | true | Organization ID |
### Example responses
@@ -1684,70 +1622,102 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi
```json
[
- {
- "daemons": [
- {
- "api_version": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "provisioners": ["string"],
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "version": "string"
- }
- ],
- "key": {
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
- "tags": {
- "property1": "string",
- "property2": "string"
- }
- }
- }
+ {
+ "daemons": [
+ {
+ "api_version": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "current_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
+ "key_name": "string",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "previous_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "provisioners": [
+ "string"
+ ],
+ "status": "offline",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "version": "string"
+ }
+ ],
+ "key": {
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ }
+ }
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerKeyDaemons](schemas.md#codersdkprovisionerkeydaemons) |
Response Schema
Status Code **200**
-| Name | Type | Required | Restrictions | Description |
-| -------------------- | -------------------------------------------------------------------- | -------- | ------------ | ----------- |
-| `[array item]` | array | false | | |
-| `» daemons` | array | false | | |
-| `»» api_version` | string | false | | |
-| `»» created_at` | string(date-time) | false | | |
-| `»» id` | string(uuid) | false | | |
-| `»» key_id` | string(uuid) | false | | |
-| `»» last_seen_at` | string(date-time) | false | | |
-| `»» name` | string | false | | |
-| `»» organization_id` | string(uuid) | false | | |
-| `»» provisioners` | array | false | | |
-| `»» tags` | object | false | | |
-| `»»» [any property]` | string | false | | |
-| `»» version` | string | false | | |
-| `» key` | [codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey) | false | | |
-| `»» created_at` | string(date-time) | false | | |
-| `»» id` | string(uuid) | false | | |
-| `»» name` | string | false | | |
-| `»» organization` | string(uuid) | false | | |
-| `»» tags` | [codersdk.ProvisionerKeyTags](schemas.md#codersdkprovisionerkeytags) | false | | |
-| `»»» [any property]` | string | false | | |
+| Name | Type | Required | Restrictions | Description |
+|----------------------|--------------------------------------------------------------------------------|----------|--------------|------------------|
+| `[array item]` | array | false | | |
+| `» daemons` | array | false | | |
+| `»» api_version` | string | false | | |
+| `»» created_at` | string(date-time) | false | | |
+| `»» current_job` | [codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob) | false | | |
+| `»»» id` | string(uuid) | false | | |
+| `»»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | |
+| `»» id` | string(uuid) | false | | |
+| `»» key_id` | string(uuid) | false | | |
+| `»» key_name` | string | false | | Optional fields. |
+| `»» last_seen_at` | string(date-time) | false | | |
+| `»» name` | string | false | | |
+| `»» organization_id` | string(uuid) | false | | |
+| `»» previous_job` | [codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob) | false | | |
+| `»» provisioners` | array | false | | |
+| `»» status` | [codersdk.ProvisionerDaemonStatus](schemas.md#codersdkprovisionerdaemonstatus) | false | | |
+| `»» tags` | object | false | | |
+| `»»» [any property]` | string | false | | |
+| `»» version` | string | false | | |
+| `» key` | [codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey) | false | | |
+| `»» created_at` | string(date-time) | false | | |
+| `»» id` | string(uuid) | false | | |
+| `»» name` | string | false | | |
+| `»» organization` | string(uuid) | false | | |
+| `»» tags` | [codersdk.ProvisionerKeyTags](schemas.md#codersdkprovisionerkeytags) | false | | |
+| `»»» [any property]` | string | false | | |
+
+#### Enumerated Values
+
+| Property | Value |
+|----------|-------------|
+| `status` | `pending` |
+| `status` | `running` |
+| `status` | `succeeded` |
+| `status` | `canceling` |
+| `status` | `canceled` |
+| `status` | `failed` |
+| `status` | `offline` |
+| `status` | `idle` |
+| `status` | `busy` |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1766,14 +1736,14 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/prov
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------ | -------- | -------------------- |
+|------------------|------|--------|----------|----------------------|
| `organization` | path | string | true | Organization ID |
| `provisionerkey` | path | string | true | Provisioner key name |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1794,7 +1764,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Example responses
@@ -1802,19 +1772,61 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting
> 200 Response
```json
-["string"]
+[
+ "string"
+]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------- |
+|--------|---------------------------------------------------------|-------------|-----------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of string |
Response Schema
To perform this operation, you must be authenticated. [Learn more](authentication.md).
+## Get the organization idp sync claim field values
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/settings/idpsync/field-values?claimField=string \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`GET /organizations/{organization}/settings/idpsync/field-values`
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|----------------|-------|----------------|----------|-----------------|
+| `organization` | path | string(uuid) | true | Organization ID |
+| `claimField` | query | string(string) | true | Claim Field |
+
+### Example responses
+
+> 200 Response
+
+```json
+[
+ "string"
+]
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|-----------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of string |
+
+Response Schema
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
## Get group IdP Sync settings by organization
### Code samples
@@ -1831,7 +1843,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Example responses
@@ -1840,24 +1852,28 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting
```json
{
- "auto_create_missing_groups": true,
- "field": "string",
- "legacy_group_name_mapping": {
- "property1": "string",
- "property2": "string"
- },
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- },
- "regex_filter": {}
+ "auto_create_missing_groups": true,
+ "field": "string",
+ "legacy_group_name_mapping": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "regex_filter": {}
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1880,24 +1896,28 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti
```json
{
- "auto_create_missing_groups": true,
- "field": "string",
- "legacy_group_name_mapping": {
- "property1": "string",
- "property2": "string"
- },
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- },
- "regex_filter": {}
+ "auto_create_missing_groups": true,
+ "field": "string",
+ "legacy_group_name_mapping": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "regex_filter": {}
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------------------------------------------------------------ | -------- | --------------- |
+|----------------|------|--------------------------------------------------------------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `body` | body | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) | true | New settings |
@@ -1907,24 +1927,163 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti
```json
{
- "auto_create_missing_groups": true,
- "field": "string",
- "legacy_group_name_mapping": {
- "property1": "string",
- "property2": "string"
- },
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- },
- "regex_filter": {}
+ "auto_create_missing_groups": true,
+ "field": "string",
+ "legacy_group_name_mapping": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "regex_filter": {}
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
+## Update group IdP Sync config
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/settings/idpsync/groups/config \
+ -H 'Content-Type: application/json' \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`PATCH /organizations/{organization}/settings/idpsync/groups/config`
+
+> Body parameter
+
+```json
+{
+ "auto_create_missing_groups": true,
+ "field": "string",
+ "regex_filter": {}
+}
+```
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|----------------|------|----------------------------------------------------------------------------------------------|----------|-------------------------|
+| `organization` | path | string(uuid) | true | Organization ID or name |
+| `body` | body | [codersdk.PatchGroupIDPSyncConfigRequest](schemas.md#codersdkpatchgroupidpsyncconfigrequest) | true | New config values |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "auto_create_missing_groups": true,
+ "field": "string",
+ "legacy_group_name_mapping": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "regex_filter": {}
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
+## Update group IdP Sync mapping
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/settings/idpsync/groups/mapping \
+ -H 'Content-Type: application/json' \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`PATCH /organizations/{organization}/settings/idpsync/groups/mapping`
+
+> Body parameter
+
+```json
+{
+ "add": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ],
+ "remove": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ]
+}
+```
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|----------------|------|------------------------------------------------------------------------------------------------|----------|-----------------------------------------------|
+| `organization` | path | string(uuid) | true | Organization ID or name |
+| `body` | body | [codersdk.PatchGroupIDPSyncMappingRequest](schemas.md#codersdkpatchgroupidpsyncmappingrequest) | true | Description of the mappings to add and remove |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "auto_create_missing_groups": true,
+ "field": "string",
+ "legacy_group_name_mapping": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "regex_filter": {}
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1945,7 +2104,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Example responses
@@ -1954,18 +2113,22 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting
```json
{
- "field": "string",
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- }
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1988,18 +2151,22 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti
```json
{
- "field": "string",
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- }
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ }
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ---------------------------------------------------------------- | -------- | --------------- |
+|----------------|------|------------------------------------------------------------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `body` | body | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) | true | New settings |
@@ -2009,18 +2176,143 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti
```json
{
- "field": "string",
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- }
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
+## Update role IdP Sync config
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/settings/idpsync/roles/config \
+ -H 'Content-Type: application/json' \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`PATCH /organizations/{organization}/settings/idpsync/roles/config`
+
+> Body parameter
+
+```json
+{
+ "field": "string"
+}
+```
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|----------------|------|--------------------------------------------------------------------------------------------|----------|-------------------------|
+| `organization` | path | string(uuid) | true | Organization ID or name |
+| `body` | body | [codersdk.PatchRoleIDPSyncConfigRequest](schemas.md#codersdkpatchroleidpsyncconfigrequest) | true | New config values |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ }
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
+## Update role IdP Sync mapping
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/settings/idpsync/roles/mapping \
+ -H 'Content-Type: application/json' \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`PATCH /organizations/{organization}/settings/idpsync/roles/mapping`
+
+> Body parameter
+
+```json
+{
+ "add": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ],
+ "remove": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ]
+}
+```
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|----------------|------|----------------------------------------------------------------------------------------------|----------|-----------------------------------------------|
+| `organization` | path | string(uuid) | true | Organization ID or name |
+| `body` | body | [codersdk.PatchRoleIDPSyncMappingRequest](schemas.md#codersdkpatchroleidpsyncmappingrequest) | true | Description of the mappings to add and remove |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ }
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2040,7 +2332,7 @@ curl -X GET http://coder-server:8080/api/v2/provisionerkeys/{provisionerkey} \
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------ | -------- | --------------- |
+|------------------|------|--------|----------|-----------------|
| `provisionerkey` | path | string | true | Provisioner Key |
### Example responses
@@ -2049,21 +2341,21 @@ curl -X GET http://coder-server:8080/api/v2/provisionerkeys/{provisionerkey} \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
- "tags": {
- "property1": "string",
- "property2": "string"
- }
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2087,22 +2379,22 @@ curl -X GET http://coder-server:8080/api/v2/replicas \
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "database_latency": 0,
- "error": "string",
- "hostname": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "region_id": 0,
- "relay_address": "string"
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "database_latency": 0,
+ "error": "string",
+ "hostname": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "region_id": 0,
+ "relay_address": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Replica](schemas.md#codersdkreplica) |
Response Schema
@@ -2110,7 +2402,7 @@ curl -X GET http://coder-server:8080/api/v2/replicas \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ----------------- | -------- | ------------ | ------------------------------------------------------------------ |
+|----------------------|-------------------|----------|--------------|--------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | false | | Created at is the timestamp when the replica was first seen. |
| `» database_latency` | integer | false | | Database latency is the latency in microseconds to the database. |
@@ -2137,7 +2429,7 @@ curl -X GET http://coder-server:8080/api/v2/scim/v2/ServiceProviderConfig
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
## SCIM 2.0: Get users
@@ -2155,7 +2447,7 @@ curl -X GET http://coder-server:8080/api/v2/scim/v2/Users \
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2178,33 +2470,37 @@ curl -X POST http://coder-server:8080/api/v2/scim/v2/Users \
```json
{
- "active": true,
- "emails": [
- {
- "display": "string",
- "primary": true,
- "type": "string",
- "value": "user@example.com"
- }
- ],
- "groups": [null],
- "id": "string",
- "meta": {
- "resourceType": "string"
- },
- "name": {
- "familyName": "string",
- "givenName": "string"
- },
- "schemas": ["string"],
- "userName": "string"
+ "active": true,
+ "emails": [
+ {
+ "display": "string",
+ "primary": true,
+ "type": "string",
+ "value": "user@example.com"
+ }
+ ],
+ "groups": [
+ null
+ ],
+ "id": "string",
+ "meta": {
+ "resourceType": "string"
+ },
+ "name": {
+ "familyName": "string",
+ "givenName": "string"
+ },
+ "schemas": [
+ "string"
+ ],
+ "userName": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------- | -------- | ----------- |
+|--------|------|----------------------------------------------|----------|-------------|
| `body` | body | [coderd.SCIMUser](schemas.md#coderdscimuser) | true | New user |
### Example responses
@@ -2213,33 +2509,37 @@ curl -X POST http://coder-server:8080/api/v2/scim/v2/Users \
```json
{
- "active": true,
- "emails": [
- {
- "display": "string",
- "primary": true,
- "type": "string",
- "value": "user@example.com"
- }
- ],
- "groups": [null],
- "id": "string",
- "meta": {
- "resourceType": "string"
- },
- "name": {
- "familyName": "string",
- "givenName": "string"
- },
- "schemas": ["string"],
- "userName": "string"
+ "active": true,
+ "emails": [
+ {
+ "display": "string",
+ "primary": true,
+ "type": "string",
+ "value": "user@example.com"
+ }
+ ],
+ "groups": [
+ null
+ ],
+ "id": "string",
+ "meta": {
+ "resourceType": "string"
+ },
+ "name": {
+ "familyName": "string",
+ "givenName": "string"
+ },
+ "schemas": [
+ "string"
+ ],
+ "userName": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [coderd.SCIMUser](schemas.md#coderdscimuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2259,17 +2559,107 @@ curl -X GET http://coder-server:8080/api/v2/scim/v2/Users/{id} \
### Parameters
| Name | In | Type | Required | Description |
-| ---- | ---- | ------------ | -------- | ----------- |
+|------|------|--------------|----------|-------------|
| `id` | path | string(uuid) | true | User ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | -------------------------------------------------------------- | ----------- | ------ |
+|--------|----------------------------------------------------------------|-------------|--------|
| 404 | [Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4) | Not Found | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
+## SCIM 2.0: Replace user account
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X PUT http://coder-server:8080/api/v2/scim/v2/Users/{id} \
+ -H 'Content-Type: application/json' \
+ -H 'Accept: application/scim+json' \
+ -H 'Authorizaiton: API_KEY'
+```
+
+`PUT /scim/v2/Users/{id}`
+
+> Body parameter
+
+```json
+{
+ "active": true,
+ "emails": [
+ {
+ "display": "string",
+ "primary": true,
+ "type": "string",
+ "value": "user@example.com"
+ }
+ ],
+ "groups": [
+ null
+ ],
+ "id": "string",
+ "meta": {
+ "resourceType": "string"
+ },
+ "name": {
+ "familyName": "string",
+ "givenName": "string"
+ },
+ "schemas": [
+ "string"
+ ],
+ "userName": "string"
+}
+```
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|--------|------|----------------------------------------------|----------|----------------------|
+| `id` | path | string(uuid) | true | User ID |
+| `body` | body | [coderd.SCIMUser](schemas.md#coderdscimuser) | true | Replace user request |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
## SCIM 2.0: Update user account
### Code samples
@@ -2288,33 +2678,37 @@ curl -X PATCH http://coder-server:8080/api/v2/scim/v2/Users/{id} \
```json
{
- "active": true,
- "emails": [
- {
- "display": "string",
- "primary": true,
- "type": "string",
- "value": "user@example.com"
- }
- ],
- "groups": [null],
- "id": "string",
- "meta": {
- "resourceType": "string"
- },
- "name": {
- "familyName": "string",
- "givenName": "string"
- },
- "schemas": ["string"],
- "userName": "string"
+ "active": true,
+ "emails": [
+ {
+ "display": "string",
+ "primary": true,
+ "type": "string",
+ "value": "user@example.com"
+ }
+ ],
+ "groups": [
+ null
+ ],
+ "id": "string",
+ "meta": {
+ "resourceType": "string"
+ },
+ "name": {
+ "familyName": "string",
+ "givenName": "string"
+ },
+ "schemas": [
+ "string"
+ ],
+ "userName": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------- | -------- | ------------------- |
+|--------|------|----------------------------------------------|----------|---------------------|
| `id` | path | string(uuid) | true | User ID |
| `body` | body | [coderd.SCIMUser](schemas.md#coderdscimuser) | true | Update user request |
@@ -2324,32 +2718,34 @@ curl -X PATCH http://coder-server:8080/api/v2/scim/v2/Users/{id} \
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2370,7 +2766,7 @@ curl -X GET http://coder-server:8080/api/v2/settings/idpsync/available-fields \
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Example responses
@@ -2378,19 +2774,61 @@ curl -X GET http://coder-server:8080/api/v2/settings/idpsync/available-fields \
> 200 Response
```json
-["string"]
+[
+ "string"
+]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------- |
+|--------|---------------------------------------------------------|-------------|-----------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of string |
Response Schema
To perform this operation, you must be authenticated. [Learn more](authentication.md).
+## Get the idp sync claim field values
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X GET http://coder-server:8080/api/v2/settings/idpsync/field-values?claimField=string \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`GET /settings/idpsync/field-values`
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|----------------|-------|----------------|----------|-----------------|
+| `organization` | path | string(uuid) | true | Organization ID |
+| `claimField` | query | string(string) | true | Claim Field |
+
+### Example responses
+
+> 200 Response
+
+```json
+[
+ "string"
+]
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|-----------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of string |
+
+Response Schema
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
## Get organization IdP Sync settings
### Code samples
@@ -2410,19 +2848,23 @@ curl -X GET http://coder-server:8080/api/v2/settings/idpsync/organization \
```json
{
- "field": "string",
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- },
- "organization_assign_default": true
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "organization_assign_default": true
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2445,19 +2887,23 @@ curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization \
```json
{
- "field": "string",
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- },
- "organization_assign_default": true
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "organization_assign_default": true
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------------- | -------- | ------------ |
+|--------|------|----------------------------------------------------------------------------------|----------|--------------|
| `body` | body | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) | true | New settings |
### Example responses
@@ -2466,19 +2912,145 @@ curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization \
```json
{
- "field": "string",
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- },
- "organization_assign_default": true
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "organization_assign_default": true
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
+## Update organization IdP Sync config
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization/config \
+ -H 'Content-Type: application/json' \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`PATCH /settings/idpsync/organization/config`
+
+> Body parameter
+
+```json
+{
+ "assign_default": true,
+ "field": "string"
+}
+```
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|--------|------|------------------------------------------------------------------------------------------------------------|----------|-------------------|
+| `body` | body | [codersdk.PatchOrganizationIDPSyncConfigRequest](schemas.md#codersdkpatchorganizationidpsyncconfigrequest) | true | New config values |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "organization_assign_default": true
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
+## Update organization IdP Sync mapping
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization/mapping \
+ -H 'Content-Type: application/json' \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`PATCH /settings/idpsync/organization/mapping`
+
+> Body parameter
+
+```json
+{
+ "add": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ],
+ "remove": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ]
+}
+```
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|--------|------|--------------------------------------------------------------------------------------------------------------|----------|-----------------------------------------------|
+| `body` | body | [codersdk.PatchOrganizationIDPSyncMappingRequest](schemas.md#codersdkpatchorganizationidpsyncmappingrequest) | true | Description of the mappings to add and remove |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "organization_assign_default": true
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2499,7 +3071,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl \
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | ------------ | -------- | ----------- |
+|------------|------|--------------|----------|-------------|
| `template` | path | string(uuid) | true | Template ID |
### Example responses
@@ -2508,35 +3080,37 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl \
```json
[
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "role": "admin",
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "role": "admin",
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateUser](schemas.md#codersdktemplateuser) |
Response Schema
@@ -2544,7 +3118,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------------- | -------------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------------|----------------------------------------------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» avatar_url` | string(uri) | false | | |
| `» created_at` | string(date-time) | true | | |
@@ -2567,7 +3141,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------ | ----------- |
+|--------------|-------------|
| `login_type` | `` |
| `login_type` | `password` |
| `login_type` | `github` |
@@ -2599,21 +3173,21 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/acl \
```json
{
- "group_perms": {
- "8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
- ">": "admin"
- },
- "user_perms": {
- "4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
- "": "admin"
- }
+ "group_perms": {
+ "8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
+ ">": "admin"
+ },
+ "user_perms": {
+ "4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
+ "": "admin"
+ }
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | ------------------------------------------------------------------ | -------- | ----------------------- |
+|------------|------|--------------------------------------------------------------------|----------|-------------------------|
| `template` | path | string(uuid) | true | Template ID |
| `body` | body | [codersdk.UpdateTemplateACL](schemas.md#codersdkupdatetemplateacl) | true | Update template request |
@@ -2623,21 +3197,21 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/acl \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2658,7 +3232,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl/available \
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | ------------ | -------- | ----------- |
+|------------|------|--------------|----------|-------------|
| `template` | path | string(uuid) | true | Template ID |
### Example responses
@@ -2667,59 +3241,59 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl/available \
```json
[
- {
- "groups": [
- {
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
- }
- ],
- "users": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ]
- }
+ {
+ "groups": [
+ {
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
+ }
+ ],
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ]
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ACLAvailable](schemas.md#codersdkaclavailable) |
Response Schema
@@ -2727,7 +3301,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl/available \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ------------------------------ | ------------------------------------------------------ | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|--------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» groups` | array | false | | |
| `»» avatar_url` | string | false | | |
@@ -2757,7 +3331,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------ | ----------- |
+|--------------|-------------|
| `login_type` | `` |
| `login_type` | `password` |
| `login_type` | `github` |
@@ -2787,7 +3361,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/quiet-hours \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------------ | -------- | ----------- |
+|--------|------|--------------|----------|-------------|
| `user` | path | string(uuid) | true | User ID |
### Example responses
@@ -2796,21 +3370,21 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/quiet-hours \
```json
[
- {
- "next": "2019-08-24T14:15:22Z",
- "raw_schedule": "string",
- "time": "string",
- "timezone": "string",
- "user_can_set": true,
- "user_set": true
- }
+ {
+ "next": "2019-08-24T14:15:22Z",
+ "raw_schedule": "string",
+ "time": "string",
+ "timezone": "string",
+ "user_can_set": true,
+ "user_set": true
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.UserQuietHoursScheduleResponse](schemas.md#codersdkuserquiethoursscheduleresponse) |
Response Schema
@@ -2818,7 +3392,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/quiet-hours \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ----------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------------|-------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» next` | string(date-time) | false | | Next is the next time that the quiet hours window will start. |
| `» raw_schedule` | string | false | | |
@@ -2847,14 +3421,14 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/quiet-hours \
```json
{
- "schedule": "string"
+ "schedule": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------------------------------------------------------------------------------------------------------ | -------- | ----------------------- |
+|--------|------|--------------------------------------------------------------------------------------------------------|----------|-------------------------|
| `user` | path | string(uuid) | true | User ID |
| `body` | body | [codersdk.UpdateUserQuietHoursScheduleRequest](schemas.md#codersdkupdateuserquiethoursschedulerequest) | true | Update schedule request |
@@ -2864,21 +3438,21 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/quiet-hours \
```json
[
- {
- "next": "2019-08-24T14:15:22Z",
- "raw_schedule": "string",
- "time": "string",
- "timezone": "string",
- "user_can_set": true,
- "user_set": true
- }
+ {
+ "next": "2019-08-24T14:15:22Z",
+ "raw_schedule": "string",
+ "time": "string",
+ "timezone": "string",
+ "user_can_set": true,
+ "user_set": true
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.UserQuietHoursScheduleResponse](schemas.md#codersdkuserquiethoursscheduleresponse) |
Response Schema
@@ -2886,7 +3460,7 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/quiet-hours \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ----------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------------|-------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» next` | string(date-time) | false | | Next is the next time that the quiet hours window will start. |
| `» raw_schedule` | string | false | | |
@@ -2913,7 +3487,7 @@ curl -X GET http://coder-server:8080/api/v2/workspace-quota/{user} \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -2922,15 +3496,15 @@ curl -X GET http://coder-server:8080/api/v2/workspace-quota/{user} \
```json
{
- "budget": 0,
- "credits_consumed": 0
+ "budget": 0,
+ "credits_consumed": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceQuota](schemas.md#codersdkworkspacequota) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2954,74 +3528,78 @@ curl -X GET http://coder-server:8080/api/v2/workspaceproxies \
```json
[
- {
- "regions": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "deleted": true,
- "derp_enabled": true,
- "derp_only": true,
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "status": {
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
- },
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string",
- "wildcard_hostname": "string"
- }
- ]
- }
+ {
+ "regions": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleted": true,
+ "derp_enabled": true,
+ "derp_only": true,
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "status": {
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
+ },
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string",
+ "wildcard_hostname": "string"
+ }
+ ]
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.RegionsResponse-codersdk_WorkspaceProxy](schemas.md#codersdkregionsresponse-codersdk_workspaceproxy) |
Response Schema
Status Code **200**
-| Name | Type | Required | Restrictions | Description |
-| ---------------------- | ------------------------------------------------------------------------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `[array item]` | array | false | | |
-| `» regions` | array | false | | |
-| `»» created_at` | string(date-time) | false | | |
-| `»» deleted` | boolean | false | | |
-| `»» derp_enabled` | boolean | false | | |
-| `»» derp_only` | boolean | false | | |
-| `»» display_name` | string | false | | |
-| `»» healthy` | boolean | false | | |
-| `»» icon_url` | string | false | | |
-| `»» id` | string(uuid) | false | | |
-| `»» name` | string | false | | |
-| `»» path_app_url` | string | false | | Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com |
-| `»» status` | [codersdk.WorkspaceProxyStatus](schemas.md#codersdkworkspaceproxystatus) | false | | Status is the latest status check of the proxy. This will be empty for deleted proxies. This value can be used to determine if a workspace proxy is healthy and ready to use. |
-| `»»» checked_at` | string(date-time) | false | | |
-| `»»» report` | [codersdk.ProxyHealthReport](schemas.md#codersdkproxyhealthreport) | false | | Report provides more information about the health of the workspace proxy. |
-| `»»»» errors` | array | false | | Errors are problems that prevent the workspace proxy from being healthy |
-| `»»»» warnings` | array | false | | Warnings do not prevent the workspace proxy from being healthy, but should be addressed. |
-| `»»» status` | [codersdk.ProxyHealthStatus](schemas.md#codersdkproxyhealthstatus) | false | | |
-| `»» updated_at` | string(date-time) | false | | |
-| `»» version` | string | false | | |
-| `»» wildcard_hostname` | string | false | | Wildcard hostname is the wildcard hostname for subdomain apps. E.g. _.us.example.com E.g. _--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL. |
+| Name | Type | Required | Restrictions | Description |
+|------------------------|--------------------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `[array item]` | array | false | | |
+| `» regions` | array | false | | |
+| `»» created_at` | string(date-time) | false | | |
+| `»» deleted` | boolean | false | | |
+| `»» derp_enabled` | boolean | false | | |
+| `»» derp_only` | boolean | false | | |
+| `»» display_name` | string | false | | |
+| `»» healthy` | boolean | false | | |
+| `»» icon_url` | string | false | | |
+| `»» id` | string(uuid) | false | | |
+| `»» name` | string | false | | |
+| `»» path_app_url` | string | false | | Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com |
+| `»» status` | [codersdk.WorkspaceProxyStatus](schemas.md#codersdkworkspaceproxystatus) | false | | Status is the latest status check of the proxy. This will be empty for deleted proxies. This value can be used to determine if a workspace proxy is healthy and ready to use. |
+| `»»» checked_at` | string(date-time) | false | | |
+| `»»» report` | [codersdk.ProxyHealthReport](schemas.md#codersdkproxyhealthreport) | false | | Report provides more information about the health of the workspace proxy. |
+| `»»»» errors` | array | false | | Errors are problems that prevent the workspace proxy from being healthy |
+| `»»»» warnings` | array | false | | Warnings do not prevent the workspace proxy from being healthy, but should be addressed. |
+| `»»» status` | [codersdk.ProxyHealthStatus](schemas.md#codersdkproxyhealthstatus) | false | | |
+| `»» updated_at` | string(date-time) | false | | |
+| `»» version` | string | false | | |
+| `»» wildcard_hostname` | string | false | | Wildcard hostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g.*--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL. |
#### Enumerated Values
| Property | Value |
-| -------- | -------------- |
+|----------|----------------|
| `status` | `ok` |
| `status` | `unreachable` |
| `status` | `unhealthy` |
@@ -3047,16 +3625,16 @@ curl -X POST http://coder-server:8080/api/v2/workspaceproxies \
```json
{
- "display_name": "string",
- "icon": "string",
- "name": "string"
+ "display_name": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------------------- | -------- | ------------------------------ |
+|--------|------|----------------------------------------------------------------------------------------|----------|--------------------------------|
| `body` | body | [codersdk.CreateWorkspaceProxyRequest](schemas.md#codersdkcreateworkspaceproxyrequest) | true | Create workspace proxy request |
### Example responses
@@ -3065,34 +3643,38 @@ curl -X POST http://coder-server:8080/api/v2/workspaceproxies \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "deleted": true,
- "derp_enabled": true,
- "derp_only": true,
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "status": {
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
- },
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string",
- "wildcard_hostname": "string"
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleted": true,
+ "derp_enabled": true,
+ "derp_only": true,
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "status": {
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
+ },
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string",
+ "wildcard_hostname": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ------------------------------------------------------------ |
+|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.WorkspaceProxy](schemas.md#codersdkworkspaceproxy) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -3113,7 +3695,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy} \
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------------ | -------- | ---------------- |
+|------------------|------|--------------|----------|------------------|
| `workspaceproxy` | path | string(uuid) | true | Proxy ID or name |
### Example responses
@@ -3122,34 +3704,38 @@ curl -X GET http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy} \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "deleted": true,
- "derp_enabled": true,
- "derp_only": true,
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "status": {
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
- },
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string",
- "wildcard_hostname": "string"
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleted": true,
+ "derp_enabled": true,
+ "derp_only": true,
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "status": {
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
+ },
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string",
+ "wildcard_hostname": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceProxy](schemas.md#codersdkworkspaceproxy) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -3170,7 +3756,7 @@ curl -X DELETE http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy}
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ------------ | -------- | ---------------- |
+|------------------|------|--------------|----------|------------------|
| `workspaceproxy` | path | string(uuid) | true | Proxy ID or name |
### Example responses
@@ -3179,21 +3765,21 @@ curl -X DELETE http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy}
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -3216,18 +3802,18 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy}
```json
{
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "regenerate_token": true
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "regenerate_token": true
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ---------------- | ---- | ---------------------------------------------------------------------- | -------- | ------------------------------ |
+|------------------|------|------------------------------------------------------------------------|----------|--------------------------------|
| `workspaceproxy` | path | string(uuid) | true | Proxy ID or name |
| `body` | body | [codersdk.PatchWorkspaceProxy](schemas.md#codersdkpatchworkspaceproxy) | true | Update workspace proxy request |
@@ -3237,34 +3823,38 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy}
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "deleted": true,
- "derp_enabled": true,
- "derp_only": true,
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "status": {
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
- },
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string",
- "wildcard_hostname": "string"
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleted": true,
+ "derp_enabled": true,
+ "derp_only": true,
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "status": {
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
+ },
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string",
+ "wildcard_hostname": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceProxy](schemas.md#codersdkworkspaceproxy) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/files.md b/docs/reference/api/files.md
index b0c6b6d7fd683..7b937876bbf3b 100644
--- a/docs/reference/api/files.md
+++ b/docs/reference/api/files.md
@@ -18,12 +18,13 @@ curl -X POST http://coder-server:8080/api/v2/files \
```yaml
file: string
+
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ------ | ------ | -------- | ---------------------------------------------------------------------------------------------- |
+|----------------|--------|--------|----------|------------------------------------------------------------------------------------------------|
| `Content-Type` | header | string | true | Content-Type must be `application/x-tar` or `application/zip` |
| `body` | body | object | true | |
| `» file` | body | binary | true | File to be uploaded. If using tar format, file must conform to ustar (pax may cause problems). |
@@ -34,14 +35,14 @@ file: string
```json
{
- "hash": "19686d84-b10d-4f90-b18e-84fd3fa038fd"
+ "hash": "19686d84-b10d-4f90-b18e-84fd3fa038fd"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ------------------------------------------------------------ |
+|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.UploadResponse](schemas.md#codersdkuploadresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -61,13 +62,13 @@ curl -X GET http://coder-server:8080/api/v2/files/{fileID} \
### Parameters
| Name | In | Type | Required | Description |
-| -------- | ---- | ------------ | -------- | ----------- |
+|----------|------|--------------|----------|-------------|
| `fileID` | path | string(uuid) | true | File ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/general.md b/docs/reference/api/general.md
index 57e62d3ba7fed..66e85f3f6978a 100644
--- a/docs/reference/api/general.md
+++ b/docs/reference/api/general.md
@@ -18,21 +18,21 @@ curl -X GET http://coder-server:8080/api/v2/ \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
## Build info
@@ -53,22 +53,22 @@ curl -X GET http://coder-server:8080/api/v2/buildinfo \
```json
{
- "agent_api_version": "string",
- "dashboard_url": "string",
- "deployment_id": "string",
- "external_url": "string",
- "provisioner_api_version": "string",
- "telemetry": true,
- "upgrade_message": "string",
- "version": "string",
- "workspace_proxy": true
+ "agent_api_version": "string",
+ "dashboard_url": "string",
+ "deployment_id": "string",
+ "external_url": "string",
+ "provisioner_api_version": "string",
+ "telemetry": true,
+ "upgrade_message": "string",
+ "version": "string",
+ "workspace_proxy": true
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.BuildInfoResponse](schemas.md#codersdkbuildinforesponse) |
## Report CSP violations
@@ -88,20 +88,20 @@ curl -X POST http://coder-server:8080/api/v2/csp/reports \
```json
{
- "csp-report": {}
+ "csp-report": {}
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------- | -------- | ---------------- |
+|--------|------|------------------------------------------------------|----------|------------------|
| `body` | body | [coderd.cspViolation](schemas.md#coderdcspviolation) | true | Violation report |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -125,386 +125,431 @@ curl -X GET http://coder-server:8080/api/v2/deployment/config \
```json
{
- "config": {
- "access_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "additional_csp_policy": ["string"],
- "address": {
- "host": "string",
- "port": "string"
- },
- "agent_fallback_troubleshooting_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "agent_stat_refresh_interval": 0,
- "allow_workspace_renames": true,
- "autobuild_poll_interval": 0,
- "browser_only": true,
- "cache_directory": "string",
- "cli_upgrade_message": "string",
- "config": "string",
- "config_ssh": {
- "deploymentName": "string",
- "sshconfigOptions": ["string"]
- },
- "dangerous": {
- "allow_all_cors": true,
- "allow_path_app_sharing": true,
- "allow_path_app_site_owner_access": true
- },
- "derp": {
- "config": {
- "block_direct": true,
- "force_websockets": true,
- "path": "string",
- "url": "string"
- },
- "server": {
- "enable": true,
- "region_code": "string",
- "region_id": 0,
- "region_name": "string",
- "relay_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "stun_addresses": ["string"]
- }
- },
- "disable_owner_workspace_exec": true,
- "disable_password_auth": true,
- "disable_path_apps": true,
- "docs_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "enable_terraform_debug_mode": true,
- "experiments": ["string"],
- "external_auth": {
- "value": [
- {
- "app_install_url": "string",
- "app_installations_url": "string",
- "auth_url": "string",
- "client_id": "string",
- "device_code_url": "string",
- "device_flow": true,
- "display_icon": "string",
- "display_name": "string",
- "id": "string",
- "no_refresh": true,
- "regex": "string",
- "scopes": ["string"],
- "token_url": "string",
- "type": "string",
- "validate_url": "string"
- }
- ]
- },
- "external_token_encryption_keys": ["string"],
- "healthcheck": {
- "refresh": 0,
- "threshold_database": 0
- },
- "http_address": "string",
- "in_memory_database": true,
- "job_hang_detector_interval": 0,
- "logging": {
- "human": "string",
- "json": "string",
- "log_filter": ["string"],
- "stackdriver": "string"
- },
- "metrics_cache_refresh_interval": 0,
- "notifications": {
- "dispatch_timeout": 0,
- "email": {
- "auth": {
- "identity": "string",
- "password": "string",
- "password_file": "string",
- "username": "string"
- },
- "force_tls": true,
- "from": "string",
- "hello": "string",
- "smarthost": "string",
- "tls": {
- "ca_file": "string",
- "cert_file": "string",
- "insecure_skip_verify": true,
- "key_file": "string",
- "server_name": "string",
- "start_tls": true
- }
- },
- "fetch_interval": 0,
- "lease_count": 0,
- "lease_period": 0,
- "max_send_attempts": 0,
- "method": "string",
- "retry_interval": 0,
- "sync_buffer_size": 0,
- "sync_interval": 0,
- "webhook": {
- "endpoint": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- }
- }
- },
- "oauth2": {
- "github": {
- "allow_everyone": true,
- "allow_signups": true,
- "allowed_orgs": ["string"],
- "allowed_teams": ["string"],
- "client_id": "string",
- "client_secret": "string",
- "enterprise_base_url": "string"
- }
- },
- "oidc": {
- "allow_signups": true,
- "auth_url_params": {},
- "client_cert_file": "string",
- "client_id": "string",
- "client_key_file": "string",
- "client_secret": "string",
- "email_domain": ["string"],
- "email_field": "string",
- "group_allow_list": ["string"],
- "group_auto_create": true,
- "group_mapping": {},
- "group_regex_filter": {},
- "groups_field": "string",
- "icon_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "ignore_email_verified": true,
- "ignore_user_info": true,
- "issuer_url": "string",
- "name_field": "string",
- "organization_assign_default": true,
- "organization_field": "string",
- "organization_mapping": {},
- "scopes": ["string"],
- "sign_in_text": "string",
- "signups_disabled_text": "string",
- "skip_issuer_checks": true,
- "user_role_field": "string",
- "user_role_mapping": {},
- "user_roles_default": ["string"],
- "username_field": "string"
- },
- "pg_auth": "string",
- "pg_connection_url": "string",
- "pprof": {
- "address": {
- "host": "string",
- "port": "string"
- },
- "enable": true
- },
- "prometheus": {
- "address": {
- "host": "string",
- "port": "string"
- },
- "aggregate_agent_stats_by": ["string"],
- "collect_agent_stats": true,
- "collect_db_metrics": true,
- "enable": true
- },
- "provisioner": {
- "daemon_poll_interval": 0,
- "daemon_poll_jitter": 0,
- "daemon_psk": "string",
- "daemon_types": ["string"],
- "daemons": 0,
- "force_cancel_interval": 0
- },
- "proxy_health_status_interval": 0,
- "proxy_trusted_headers": ["string"],
- "proxy_trusted_origins": ["string"],
- "rate_limit": {
- "api": 0,
- "disable_all": true
- },
- "redirect_to_access_url": true,
- "scim_api_key": "string",
- "secure_auth_cookie": true,
- "session_lifetime": {
- "default_duration": 0,
- "default_token_lifetime": 0,
- "disable_expiry_refresh": true,
- "max_token_lifetime": 0
- },
- "ssh_keygen_algorithm": "string",
- "strict_transport_security": 0,
- "strict_transport_security_options": ["string"],
- "support": {
- "links": {
- "value": [
- {
- "icon": "bug",
- "name": "string",
- "target": "string"
- }
- ]
- }
- },
- "swagger": {
- "enable": true
- },
- "telemetry": {
- "enable": true,
- "trace": true,
- "url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- }
- },
- "terms_of_service_url": "string",
- "tls": {
- "address": {
- "host": "string",
- "port": "string"
- },
- "allow_insecure_ciphers": true,
- "cert_file": ["string"],
- "client_auth": "string",
- "client_ca_file": "string",
- "client_cert_file": "string",
- "client_key_file": "string",
- "enable": true,
- "key_file": ["string"],
- "min_version": "string",
- "redirect_http": true,
- "supported_ciphers": ["string"]
- },
- "trace": {
- "capture_logs": true,
- "data_dog": true,
- "enable": true,
- "honeycomb_api_key": "string"
- },
- "update_check": true,
- "user_quiet_hours_schedule": {
- "allow_user_custom": true,
- "default_schedule": "string"
- },
- "verbose": true,
- "web_terminal_renderer": "string",
- "wgtunnel_host": "string",
- "wildcard_access_url": "string",
- "write_config": true
- },
- "options": [
- {
- "annotations": {
- "property1": "string",
- "property2": "string"
- },
- "default": "string",
- "description": "string",
- "env": "string",
- "flag": "string",
- "flag_shorthand": "string",
- "group": {
- "description": "string",
- "name": "string",
- "parent": {
- "description": "string",
- "name": "string",
- "parent": {},
- "yaml": "string"
- },
- "yaml": "string"
- },
- "hidden": true,
- "name": "string",
- "required": true,
- "use_instead": [{}],
- "value": null,
- "value_source": "",
- "yaml": "string"
- }
- ]
+ "config": {
+ "access_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "additional_csp_policy": [
+ "string"
+ ],
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "agent_fallback_troubleshooting_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "agent_stat_refresh_interval": 0,
+ "allow_workspace_renames": true,
+ "autobuild_poll_interval": 0,
+ "browser_only": true,
+ "cache_directory": "string",
+ "cli_upgrade_message": "string",
+ "config": "string",
+ "config_ssh": {
+ "deploymentName": "string",
+ "sshconfigOptions": [
+ "string"
+ ]
+ },
+ "dangerous": {
+ "allow_all_cors": true,
+ "allow_path_app_sharing": true,
+ "allow_path_app_site_owner_access": true
+ },
+ "derp": {
+ "config": {
+ "block_direct": true,
+ "force_websockets": true,
+ "path": "string",
+ "url": "string"
+ },
+ "server": {
+ "enable": true,
+ "region_code": "string",
+ "region_id": 0,
+ "region_name": "string",
+ "relay_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "stun_addresses": [
+ "string"
+ ]
+ }
+ },
+ "disable_owner_workspace_exec": true,
+ "disable_password_auth": true,
+ "disable_path_apps": true,
+ "docs_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "enable_terraform_debug_mode": true,
+ "ephemeral_deployment": true,
+ "experiments": [
+ "string"
+ ],
+ "external_auth": {
+ "value": [
+ {
+ "app_install_url": "string",
+ "app_installations_url": "string",
+ "auth_url": "string",
+ "client_id": "string",
+ "device_code_url": "string",
+ "device_flow": true,
+ "display_icon": "string",
+ "display_name": "string",
+ "id": "string",
+ "no_refresh": true,
+ "regex": "string",
+ "scopes": [
+ "string"
+ ],
+ "token_url": "string",
+ "type": "string",
+ "validate_url": "string"
+ }
+ ]
+ },
+ "external_token_encryption_keys": [
+ "string"
+ ],
+ "healthcheck": {
+ "refresh": 0,
+ "threshold_database": 0
+ },
+ "http_address": "string",
+ "in_memory_database": true,
+ "job_hang_detector_interval": 0,
+ "logging": {
+ "human": "string",
+ "json": "string",
+ "log_filter": [
+ "string"
+ ],
+ "stackdriver": "string"
+ },
+ "metrics_cache_refresh_interval": 0,
+ "notifications": {
+ "dispatch_timeout": 0,
+ "email": {
+ "auth": {
+ "identity": "string",
+ "password": "string",
+ "password_file": "string",
+ "username": "string"
+ },
+ "force_tls": true,
+ "from": "string",
+ "hello": "string",
+ "smarthost": "string",
+ "tls": {
+ "ca_file": "string",
+ "cert_file": "string",
+ "insecure_skip_verify": true,
+ "key_file": "string",
+ "server_name": "string",
+ "start_tls": true
+ }
+ },
+ "fetch_interval": 0,
+ "lease_count": 0,
+ "lease_period": 0,
+ "max_send_attempts": 0,
+ "method": "string",
+ "retry_interval": 0,
+ "sync_buffer_size": 0,
+ "sync_interval": 0,
+ "webhook": {
+ "endpoint": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ }
+ }
+ },
+ "oauth2": {
+ "github": {
+ "allow_everyone": true,
+ "allow_signups": true,
+ "allowed_orgs": [
+ "string"
+ ],
+ "allowed_teams": [
+ "string"
+ ],
+ "client_id": "string",
+ "client_secret": "string",
+ "enterprise_base_url": "string"
+ }
+ },
+ "oidc": {
+ "allow_signups": true,
+ "auth_url_params": {},
+ "client_cert_file": "string",
+ "client_id": "string",
+ "client_key_file": "string",
+ "client_secret": "string",
+ "email_domain": [
+ "string"
+ ],
+ "email_field": "string",
+ "group_allow_list": [
+ "string"
+ ],
+ "group_auto_create": true,
+ "group_mapping": {},
+ "group_regex_filter": {},
+ "groups_field": "string",
+ "icon_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "ignore_email_verified": true,
+ "ignore_user_info": true,
+ "issuer_url": "string",
+ "name_field": "string",
+ "organization_assign_default": true,
+ "organization_field": "string",
+ "organization_mapping": {},
+ "scopes": [
+ "string"
+ ],
+ "sign_in_text": "string",
+ "signups_disabled_text": "string",
+ "skip_issuer_checks": true,
+ "user_role_field": "string",
+ "user_role_mapping": {},
+ "user_roles_default": [
+ "string"
+ ],
+ "username_field": "string"
+ },
+ "pg_auth": "string",
+ "pg_connection_url": "string",
+ "pprof": {
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "enable": true
+ },
+ "prometheus": {
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "aggregate_agent_stats_by": [
+ "string"
+ ],
+ "collect_agent_stats": true,
+ "collect_db_metrics": true,
+ "enable": true
+ },
+ "provisioner": {
+ "daemon_poll_interval": 0,
+ "daemon_poll_jitter": 0,
+ "daemon_psk": "string",
+ "daemon_types": [
+ "string"
+ ],
+ "daemons": 0,
+ "force_cancel_interval": 0
+ },
+ "proxy_health_status_interval": 0,
+ "proxy_trusted_headers": [
+ "string"
+ ],
+ "proxy_trusted_origins": [
+ "string"
+ ],
+ "rate_limit": {
+ "api": 0,
+ "disable_all": true
+ },
+ "redirect_to_access_url": true,
+ "scim_api_key": "string",
+ "secure_auth_cookie": true,
+ "session_lifetime": {
+ "default_duration": 0,
+ "default_token_lifetime": 0,
+ "disable_expiry_refresh": true,
+ "max_token_lifetime": 0
+ },
+ "ssh_keygen_algorithm": "string",
+ "strict_transport_security": 0,
+ "strict_transport_security_options": [
+ "string"
+ ],
+ "support": {
+ "links": {
+ "value": [
+ {
+ "icon": "bug",
+ "name": "string",
+ "target": "string"
+ }
+ ]
+ }
+ },
+ "swagger": {
+ "enable": true
+ },
+ "telemetry": {
+ "enable": true,
+ "trace": true,
+ "url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ }
+ },
+ "terms_of_service_url": "string",
+ "tls": {
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "allow_insecure_ciphers": true,
+ "cert_file": [
+ "string"
+ ],
+ "client_auth": "string",
+ "client_ca_file": "string",
+ "client_cert_file": "string",
+ "client_key_file": "string",
+ "enable": true,
+ "key_file": [
+ "string"
+ ],
+ "min_version": "string",
+ "redirect_http": true,
+ "supported_ciphers": [
+ "string"
+ ]
+ },
+ "trace": {
+ "capture_logs": true,
+ "data_dog": true,
+ "enable": true,
+ "honeycomb_api_key": "string"
+ },
+ "update_check": true,
+ "user_quiet_hours_schedule": {
+ "allow_user_custom": true,
+ "default_schedule": "string"
+ },
+ "verbose": true,
+ "web_terminal_renderer": "string",
+ "wgtunnel_host": "string",
+ "wildcard_access_url": "string",
+ "write_config": true
+ },
+ "options": [
+ {
+ "annotations": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "default": "string",
+ "description": "string",
+ "env": "string",
+ "flag": "string",
+ "flag_shorthand": "string",
+ "group": {
+ "description": "string",
+ "name": "string",
+ "parent": {
+ "description": "string",
+ "name": "string",
+ "parent": {},
+ "yaml": "string"
+ },
+ "yaml": "string"
+ },
+ "hidden": true,
+ "name": "string",
+ "required": true,
+ "use_instead": [
+ {}
+ ],
+ "value": null,
+ "value_source": "",
+ "yaml": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.DeploymentConfig](schemas.md#codersdkdeploymentconfig) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -528,18 +573,18 @@ curl -X GET http://coder-server:8080/api/v2/deployment/ssh \
```json
{
- "hostname_prefix": "string",
- "ssh_config_options": {
- "property1": "string",
- "property2": "string"
- }
+ "hostname_prefix": "string",
+ "ssh_config_options": {
+ "property1": "string",
+ "property2": "string"
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.SSHConfigResponse](schemas.md#codersdksshconfigresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -563,35 +608,35 @@ curl -X GET http://coder-server:8080/api/v2/deployment/stats \
```json
{
- "aggregated_from": "2019-08-24T14:15:22Z",
- "collected_at": "2019-08-24T14:15:22Z",
- "next_update_at": "2019-08-24T14:15:22Z",
- "session_count": {
- "jetbrains": 0,
- "reconnecting_pty": 0,
- "ssh": 0,
- "vscode": 0
- },
- "workspaces": {
- "building": 0,
- "connection_latency_ms": {
- "p50": 0,
- "p95": 0
- },
- "failed": 0,
- "pending": 0,
- "running": 0,
- "rx_bytes": 0,
- "stopped": 0,
- "tx_bytes": 0
- }
+ "aggregated_from": "2019-08-24T14:15:22Z",
+ "collected_at": "2019-08-24T14:15:22Z",
+ "next_update_at": "2019-08-24T14:15:22Z",
+ "session_count": {
+ "jetbrains": 0,
+ "reconnecting_pty": 0,
+ "ssh": 0,
+ "vscode": 0
+ },
+ "workspaces": {
+ "building": 0,
+ "connection_latency_ms": {
+ "p50": 0,
+ "p95": 0
+ },
+ "failed": 0,
+ "pending": 0,
+ "running": 0,
+ "rx_bytes": 0,
+ "stopped": 0,
+ "tx_bytes": 0
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.DeploymentStats](schemas.md#codersdkdeploymentstats) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -614,13 +659,15 @@ curl -X GET http://coder-server:8080/api/v2/experiments \
> 200 Response
```json
-["example"]
+[
+ "example"
+]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Experiment](schemas.md#codersdkexperiment) |
Response Schema
@@ -628,7 +675,7 @@ curl -X GET http://coder-server:8080/api/v2/experiments \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | ----- | -------- | ------------ | ----------- |
+|----------------|-------|----------|--------------|-------------|
| `[array item]` | array | false | | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -651,13 +698,15 @@ curl -X GET http://coder-server:8080/api/v2/experiments/available \
> 200 Response
```json
-["example"]
+[
+ "example"
+]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Experiment](schemas.md#codersdkexperiment) |
Response Schema
@@ -665,7 +714,7 @@ curl -X GET http://coder-server:8080/api/v2/experiments/available \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | ----- | -------- | ------------ | ----------- |
+|----------------|-------|----------|--------------|-------------|
| `[array item]` | array | false | | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -688,16 +737,16 @@ curl -X GET http://coder-server:8080/api/v2/updatecheck \
```json
{
- "current": true,
- "url": "string",
- "version": "string"
+ "current": true,
+ "url": "string",
+ "version": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UpdateCheckResponse](schemas.md#codersdkupdatecheckresponse) |
## Get token config
@@ -716,7 +765,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens/tokenconfig
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -725,14 +774,14 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens/tokenconfig
```json
{
- "max_token_lifetime": 0
+ "max_token_lifetime": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TokenConfig](schemas.md#codersdktokenconfig) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/git.md b/docs/reference/api/git.md
index 0200421ec2db3..fc36f184a7c97 100644
--- a/docs/reference/api/git.md
+++ b/docs/reference/api/git.md
@@ -19,20 +19,20 @@ curl -X GET http://coder-server:8080/api/v2/external-auth \
```json
{
- "authenticated": true,
- "created_at": "2019-08-24T14:15:22Z",
- "expires": "2019-08-24T14:15:22Z",
- "has_refresh_token": true,
- "provider_id": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "validate_error": "string"
+ "authenticated": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "expires": "2019-08-24T14:15:22Z",
+ "has_refresh_token": true,
+ "provider_id": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "validate_error": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ExternalAuthLink](schemas.md#codersdkexternalauthlink) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -53,7 +53,7 @@ curl -X GET http://coder-server:8080/api/v2/external-auth/{externalauth} \
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | -------------- | -------- | --------------- |
+|----------------|------|----------------|----------|-----------------|
| `externalauth` | path | string(string) | true | Git Provider ID |
### Example responses
@@ -62,38 +62,38 @@ curl -X GET http://coder-server:8080/api/v2/external-auth/{externalauth} \
```json
{
- "app_install_url": "string",
- "app_installable": true,
- "authenticated": true,
- "device": true,
- "display_name": "string",
- "installations": [
- {
- "account": {
- "avatar_url": "string",
- "id": 0,
- "login": "string",
- "name": "string",
- "profile_url": "string"
- },
- "configure_url": "string",
- "id": 0
- }
- ],
- "user": {
- "avatar_url": "string",
- "id": 0,
- "login": "string",
- "name": "string",
- "profile_url": "string"
- }
+ "app_install_url": "string",
+ "app_installable": true,
+ "authenticated": true,
+ "device": true,
+ "display_name": "string",
+ "installations": [
+ {
+ "account": {
+ "avatar_url": "string",
+ "id": 0,
+ "login": "string",
+ "name": "string",
+ "profile_url": "string"
+ },
+ "configure_url": "string",
+ "id": 0
+ }
+ ],
+ "user": {
+ "avatar_url": "string",
+ "id": 0,
+ "login": "string",
+ "name": "string",
+ "profile_url": "string"
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ExternalAuth](schemas.md#codersdkexternalauth) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -113,18 +113,18 @@ curl -X DELETE http://coder-server:8080/api/v2/external-auth/{externalauth} \
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | -------------- | -------- | --------------- |
+|----------------|------|----------------|----------|-----------------|
| `externalauth` | path | string(string) | true | Git Provider ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Get external auth device by ID.
+## Get external auth device by ID
### Code samples
@@ -140,7 +140,7 @@ curl -X GET http://coder-server:8080/api/v2/external-auth/{externalauth}/device
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | -------------- | -------- | --------------- |
+|----------------|------|----------------|----------|-----------------|
| `externalauth` | path | string(string) | true | Git Provider ID |
### Example responses
@@ -149,18 +149,18 @@ curl -X GET http://coder-server:8080/api/v2/external-auth/{externalauth}/device
```json
{
- "device_code": "string",
- "expires_in": 0,
- "interval": 0,
- "user_code": "string",
- "verification_uri": "string"
+ "device_code": "string",
+ "expires_in": 0,
+ "interval": 0,
+ "user_code": "string",
+ "verification_uri": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ExternalAuthDevice](schemas.md#codersdkexternalauthdevice) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -180,13 +180,13 @@ curl -X POST http://coder-server:8080/api/v2/external-auth/{externalauth}/device
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | -------------- | -------- | -------------------- |
+|----------------|------|----------------|----------|----------------------|
| `externalauth` | path | string(string) | true | External Provider ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/index.md b/docs/reference/api/index.md
index 8124da06e71da..a44b68e2c8cf3 100644
--- a/docs/reference/api/index.md
+++ b/docs/reference/api/index.md
@@ -1,20 +1,22 @@
+# API
+
Get started with the Coder API:
## Quickstart
Generate a token on your Coder deployment by visiting:
-```shell
+````shell
https://coder.example.com/settings/tokens
-```
+````
List your workspaces
-```shell
+````shell
# CLI
curl https://coder.example.com/api/v2/workspaces?q=owner:me \
-H "Coder-Session-Token: "
-```
+````
## Use cases
diff --git a/docs/reference/api/insights.md b/docs/reference/api/insights.md
index d9bb2327a9517..b8fcdbbb1e776 100644
--- a/docs/reference/api/insights.md
+++ b/docs/reference/api/insights.md
@@ -16,7 +16,7 @@ curl -X GET http://coder-server:8080/api/v2/insights/daus?tz_offset=0 \
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ----- | ------- | -------- | -------------------------- |
+|-------------|-------|---------|----------|----------------------------|
| `tz_offset` | query | integer | true | Time-zone offset (e.g. -2) |
### Example responses
@@ -25,20 +25,20 @@ curl -X GET http://coder-server:8080/api/v2/insights/daus?tz_offset=0 \
```json
{
- "entries": [
- {
- "amount": 0,
- "date": "string"
- }
- ],
- "tz_hour_offset": 0
+ "entries": [
+ {
+ "amount": 0,
+ "date": "string"
+ }
+ ],
+ "tz_hour_offset": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.DAUsResponse](schemas.md#codersdkdausresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -59,7 +59,7 @@ curl -X GET http://coder-server:8080/api/v2/insights/templates?start_time=2019-0
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ----- | ----------------- | -------- | ------------ |
+|----------------|-------|-------------------|----------|--------------|
| `start_time` | query | string(date-time) | true | Start time |
| `end_time` | query | string(date-time) | true | End time |
| `interval` | query | string | true | Interval |
@@ -68,7 +68,7 @@ curl -X GET http://coder-server:8080/api/v2/insights/templates?start_time=2019-0
#### Enumerated Values
| Parameter | Value |
-| ---------- | ------ |
+|------------|--------|
| `interval` | `week` |
| `interval` | `day` |
@@ -78,62 +78,70 @@ curl -X GET http://coder-server:8080/api/v2/insights/templates?start_time=2019-0
```json
{
- "interval_reports": [
- {
- "active_users": 14,
- "end_time": "2019-08-24T14:15:22Z",
- "interval": "week",
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
- }
- ],
- "report": {
- "active_users": 22,
- "apps_usage": [
- {
- "display_name": "Visual Studio Code",
- "icon": "string",
- "seconds": 80500,
- "slug": "vscode",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "times_used": 2,
- "type": "builtin"
- }
- ],
- "end_time": "2019-08-24T14:15:22Z",
- "parameters_usage": [
- {
- "description": "string",
- "display_name": "string",
- "name": "string",
- "options": [
- {
- "description": "string",
- "icon": "string",
- "name": "string",
- "value": "string"
- }
- ],
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "type": "string",
- "values": [
- {
- "count": 0,
- "value": "string"
- }
- ]
- }
- ],
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
- }
+ "interval_reports": [
+ {
+ "active_users": 14,
+ "end_time": "2019-08-24T14:15:22Z",
+ "interval": "week",
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ]
+ }
+ ],
+ "report": {
+ "active_users": 22,
+ "apps_usage": [
+ {
+ "display_name": "Visual Studio Code",
+ "icon": "string",
+ "seconds": 80500,
+ "slug": "vscode",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "times_used": 2,
+ "type": "builtin"
+ }
+ ],
+ "end_time": "2019-08-24T14:15:22Z",
+ "parameters_usage": [
+ {
+ "description": "string",
+ "display_name": "string",
+ "name": "string",
+ "options": [
+ {
+ "description": "string",
+ "icon": "string",
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "type": "string",
+ "values": [
+ {
+ "count": 0,
+ "value": "string"
+ }
+ ]
+ }
+ ],
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ]
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateInsightsResponse](schemas.md#codersdktemplateinsightsresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -154,7 +162,7 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-activity?start_time=20
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ----- | ----------------- | -------- | ------------ |
+|----------------|-------|-------------------|----------|--------------|
| `start_time` | query | string(date-time) | true | Start time |
| `end_time` | query | string(date-time) | true | End time |
| `template_ids` | query | array[string] | false | Template IDs |
@@ -165,27 +173,31 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-activity?start_time=20
```json
{
- "report": {
- "end_time": "2019-08-24T14:15:22Z",
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "users": [
- {
- "avatar_url": "http://example.com",
- "seconds": 80500,
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
- }
- ]
- }
+ "report": {
+ "end_time": "2019-08-24T14:15:22Z",
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "seconds": 80500,
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
+ }
+ ]
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UserActivityInsightsResponse](schemas.md#codersdkuseractivityinsightsresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -206,7 +218,7 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-latency?start_time=201
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ----- | ----------------- | -------- | ------------ |
+|----------------|-------|-------------------|----------|--------------|
| `start_time` | query | string(date-time) | true | Start time |
| `end_time` | query | string(date-time) | true | End time |
| `template_ids` | query | array[string] | false | Template IDs |
@@ -217,30 +229,84 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-latency?start_time=201
```json
{
- "report": {
- "end_time": "2019-08-24T14:15:22Z",
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "users": [
- {
- "avatar_url": "http://example.com",
- "latency_ms": {
- "p50": 31.312,
- "p95": 119.832
- },
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
- }
- ]
- }
+ "report": {
+ "end_time": "2019-08-24T14:15:22Z",
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "latency_ms": {
+ "p50": 31.312,
+ "p95": 119.832
+ },
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
+ }
+ ]
+ }
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UserLatencyInsightsResponse](schemas.md#codersdkuserlatencyinsightsresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
+## Get insights about user status counts
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X GET http://coder-server:8080/api/v2/insights/user-status-counts?tz_offset=0 \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`GET /insights/user-status-counts`
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|-------------|-------|---------|----------|----------------------------|
+| `tz_offset` | query | integer | true | Time-zone offset (e.g. -2) |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "status_counts": {
+ "property1": [
+ {
+ "count": 10,
+ "date": "2019-08-24T14:15:22Z"
+ }
+ ],
+ "property2": [
+ {
+ "count": 10,
+ "date": "2019-08-24T14:15:22Z"
+ }
+ ]
+ }
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GetUserStatusCountsResponse](schemas.md#codersdkgetuserstatuscountsresponse) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/members.md b/docs/reference/api/members.md
index 6ac07aa21fd5d..efe76a2eda58e 100644
--- a/docs/reference/api/members.md
+++ b/docs/reference/api/members.md
@@ -16,7 +16,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------ | -------- | --------------- |
+|----------------|------|--------|----------|-----------------|
| `organization` | path | string | true | Organization ID |
### Example responses
@@ -25,37 +25,37 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members
```json
[
- {
- "avatar_url": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "string",
- "global_roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
- }
+ {
+ "avatar_url": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "string",
+ "global_roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.OrganizationMemberWithUserData](schemas.md#codersdkorganizationmemberwithuserdata) |
Response Schema
@@ -63,7 +63,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ----------------- | -------- | ------------ | ----------- |
+|----------------------|-------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» avatar_url` | string | false | | |
| `» created_at` | string(date-time) | false | | |
@@ -97,7 +97,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Example responses
@@ -106,41 +106,41 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members
```json
[
- {
- "assignable": true,
- "built_in": true,
- "display_name": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
- }
+ {
+ "assignable": true,
+ "built_in": true,
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.AssignableRoles](schemas.md#codersdkassignableroles) |
Response Schema
@@ -148,7 +148,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- |
+|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» assignable` | boolean | false | | |
| `» built_in` | boolean | false | | Built in roles are immutable |
@@ -165,7 +165,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| --------------- | ------------------------- |
+|-----------------|---------------------------|
| `action` | `application_connect` |
| `action` | `assign` |
| `action` | `create` |
@@ -202,6 +202,7 @@ Status Code **200**
| `resource_type` | `organization` |
| `resource_type` | `organization_member` |
| `resource_type` | `provisioner_daemon` |
+| `resource_type` | `provisioner_jobs` |
| `resource_type` | `provisioner_keys` |
| `resource_type` | `replicas` |
| `resource_type` | `system` |
@@ -232,36 +233,36 @@ curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members
```json
{
- "display_name": "string",
- "name": "string",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
+ "display_name": "string",
+ "name": "string",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------------------------------------------------------------ | -------- | ------------------- |
+|----------------|------|--------------------------------------------------------------------|----------|---------------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `body` | body | [codersdk.CustomRoleRequest](schemas.md#codersdkcustomrolerequest) | true | Upsert role request |
@@ -271,39 +272,39 @@ curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members
```json
[
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
- }
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Role](schemas.md#codersdkrole) |
Response Schema
@@ -311,7 +312,7 @@ curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- |
+|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» display_name` | string | false | | |
| `» name` | string | false | | |
@@ -326,7 +327,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| --------------- | ------------------------- |
+|-----------------|---------------------------|
| `action` | `application_connect` |
| `action` | `assign` |
| `action` | `create` |
@@ -363,6 +364,7 @@ Status Code **200**
| `resource_type` | `organization` |
| `resource_type` | `organization_member` |
| `resource_type` | `provisioner_daemon` |
+| `resource_type` | `provisioner_jobs` |
| `resource_type` | `provisioner_keys` |
| `resource_type` | `replicas` |
| `resource_type` | `system` |
@@ -393,36 +395,36 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member
```json
{
- "display_name": "string",
- "name": "string",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
+ "display_name": "string",
+ "name": "string",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------------------------------------------------------------ | -------- | ------------------- |
+|----------------|------|--------------------------------------------------------------------|----------|---------------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `body` | body | [codersdk.CustomRoleRequest](schemas.md#codersdkcustomrolerequest) | true | Insert role request |
@@ -432,39 +434,39 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member
```json
[
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
- }
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Role](schemas.md#codersdkrole) |
Response Schema
@@ -472,7 +474,7 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- |
+|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» display_name` | string | false | | |
| `» name` | string | false | | |
@@ -487,7 +489,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| --------------- | ------------------------- |
+|-----------------|---------------------------|
| `action` | `application_connect` |
| `action` | `assign` |
| `action` | `create` |
@@ -524,6 +526,7 @@ Status Code **200**
| `resource_type` | `organization` |
| `resource_type` | `organization_member` |
| `resource_type` | `provisioner_daemon` |
+| `resource_type` | `provisioner_jobs` |
| `resource_type` | `provisioner_keys` |
| `resource_type` | `replicas` |
| `resource_type` | `system` |
@@ -552,7 +555,7 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/memb
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `roleName` | path | string | true | Role name |
@@ -562,39 +565,39 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/memb
```json
[
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
- }
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Role](schemas.md#codersdkrole) |
Response Schema
@@ -602,7 +605,7 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/memb
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- |
+|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» display_name` | string | false | | |
| `» name` | string | false | | |
@@ -617,7 +620,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| --------------- | ------------------------- |
+|-----------------|---------------------------|
| `action` | `application_connect` |
| `action` | `assign` |
| `action` | `create` |
@@ -654,6 +657,7 @@ Status Code **200**
| `resource_type` | `organization` |
| `resource_type` | `organization_member` |
| `resource_type` | `provisioner_daemon` |
+| `resource_type` | `provisioner_jobs` |
| `resource_type` | `provisioner_keys` |
| `resource_type` | `replicas` |
| `resource_type` | `system` |
@@ -682,7 +686,7 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------ | -------- | -------------------- |
+|----------------|------|--------|----------|----------------------|
| `organization` | path | string | true | Organization ID |
| `user` | path | string | true | User ID, name, or me |
@@ -692,24 +696,24 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "created_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationMember](schemas.md#codersdkorganizationmember) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -729,14 +733,14 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/memb
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------ | -------- | -------------------- |
+|----------------|------|--------|----------|----------------------|
| `organization` | path | string | true | Organization ID |
| `user` | path | string | true | User ID, name, or me |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -759,14 +763,16 @@ curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members
```json
{
- "roles": ["string"]
+ "roles": [
+ "string"
+ ]
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------------------------------------------------ | -------- | -------------------- |
+|----------------|------|--------------------------------------------------------|----------|----------------------|
| `organization` | path | string | true | Organization ID |
| `user` | path | string | true | User ID, name, or me |
| `body` | body | [codersdk.UpdateRoles](schemas.md#codersdkupdateroles) | true | Update roles request |
@@ -777,24 +783,24 @@ curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "created_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationMember](schemas.md#codersdkorganizationmember) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -818,41 +824,41 @@ curl -X GET http://coder-server:8080/api/v2/users/roles \
```json
[
- {
- "assignable": true,
- "built_in": true,
- "display_name": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
- }
+ {
+ "assignable": true,
+ "built_in": true,
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.AssignableRoles](schemas.md#codersdkassignableroles) |
Response Schema
@@ -860,7 +866,7 @@ curl -X GET http://coder-server:8080/api/v2/users/roles \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- |
+|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» assignable` | boolean | false | | |
| `» built_in` | boolean | false | | Built in roles are immutable |
@@ -877,7 +883,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| --------------- | ------------------------- |
+|-----------------|---------------------------|
| `action` | `application_connect` |
| `action` | `assign` |
| `action` | `create` |
@@ -914,6 +920,7 @@ Status Code **200**
| `resource_type` | `organization` |
| `resource_type` | `organization_member` |
| `resource_type` | `provisioner_daemon` |
+| `resource_type` | `provisioner_jobs` |
| `resource_type` | `provisioner_keys` |
| `resource_type` | `replicas` |
| `resource_type` | `system` |
diff --git a/docs/reference/api/notifications.md b/docs/reference/api/notifications.md
index 21cad113adaa2..0d9b07b3ffce2 100644
--- a/docs/reference/api/notifications.md
+++ b/docs/reference/api/notifications.md
@@ -19,17 +19,19 @@ curl -X GET http://coder-server:8080/api/v2/notifications/dispatch-methods \
```json
[
- {
- "available": ["string"],
- "default": "string"
- }
+ {
+ "available": [
+ "string"
+ ],
+ "default": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.NotificationMethodsResponse](schemas.md#codersdknotificationmethodsresponse) |
Response Schema
@@ -37,7 +39,7 @@ curl -X GET http://coder-server:8080/api/v2/notifications/dispatch-methods \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» available` | array | false | | |
| `» default` | string | false | | |
@@ -63,14 +65,14 @@ curl -X GET http://coder-server:8080/api/v2/notifications/settings \
```json
{
- "notifier_paused": true
+ "notifier_paused": true
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -93,14 +95,14 @@ curl -X PUT http://coder-server:8080/api/v2/notifications/settings \
```json
{
- "notifier_paused": true
+ "notifier_paused": true
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------- | -------- | ------------------------------ |
+|--------|------|----------------------------------------------------------------------------|----------|--------------------------------|
| `body` | body | [codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings) | true | Notifications settings request |
### Example responses
@@ -109,14 +111,14 @@ curl -X PUT http://coder-server:8080/api/v2/notifications/settings \
```json
{
- "notifier_paused": true
+ "notifier_paused": true
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ------------ | -------------------------------------------------------------------------- |
+|--------|-----------------------------------------------------------------|--------------|----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings) |
| 304 | [Not Modified](https://tools.ietf.org/html/rfc7232#section-4.1) | Not Modified | |
@@ -141,40 +143,42 @@ curl -X GET http://coder-server:8080/api/v2/notifications/templates/system \
```json
[
- {
- "actions": "string",
- "body_template": "string",
- "group": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "kind": "string",
- "method": "string",
- "name": "string",
- "title_template": "string"
- }
+ {
+ "actions": "string",
+ "body_template": "string",
+ "enabled_by_default": true,
+ "group": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "kind": "string",
+ "method": "string",
+ "name": "string",
+ "title_template": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.NotificationTemplate](schemas.md#codersdknotificationtemplate) |
Response Schema
Status Code **200**
-| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------------ | -------- | ------------ | ----------- |
-| `[array item]` | array | false | | |
-| `» actions` | string | false | | |
-| `» body_template` | string | false | | |
-| `» group` | string | false | | |
-| `» id` | string(uuid) | false | | |
-| `» kind` | string | false | | |
-| `» method` | string | false | | |
-| `» name` | string | false | | |
-| `» title_template` | string | false | | |
+| Name | Type | Required | Restrictions | Description |
+|------------------------|--------------|----------|--------------|-------------|
+| `[array item]` | array | false | | |
+| `» actions` | string | false | | |
+| `» body_template` | string | false | | |
+| `» enabled_by_default` | boolean | false | | |
+| `» group` | string | false | | |
+| `» id` | string(uuid) | false | | |
+| `» kind` | string | false | | |
+| `» method` | string | false | | |
+| `» name` | string | false | | |
+| `» title_template` | string | false | | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -194,7 +198,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/notifications/preferenc
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -203,18 +207,18 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/notifications/preferenc
```json
[
- {
- "disabled": true,
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "updated_at": "2019-08-24T14:15:22Z"
- }
+ {
+ "disabled": true,
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "updated_at": "2019-08-24T14:15:22Z"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.NotificationPreference](schemas.md#codersdknotificationpreference) |
Response Schema
@@ -222,7 +226,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/notifications/preferenc
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | ----------------- | -------- | ------------ | ----------- |
+|----------------|-------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» disabled` | boolean | false | | |
| `» id` | string(uuid) | false | | |
@@ -248,17 +252,17 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/notifications/preferenc
```json
{
- "template_disabled_map": {
- "property1": true,
- "property2": true
- }
+ "template_disabled_map": {
+ "property1": true,
+ "property2": true
+ }
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------------------------------- | -------- | -------------------- |
+|--------|------|----------------------------------------------------------------------------------------------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `body` | body | [codersdk.UpdateUserNotificationPreferences](schemas.md#codersdkupdateusernotificationpreferences) | true | Preferences |
@@ -268,18 +272,18 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/notifications/preferenc
```json
[
- {
- "disabled": true,
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "updated_at": "2019-08-24T14:15:22Z"
- }
+ {
+ "disabled": true,
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "updated_at": "2019-08-24T14:15:22Z"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.NotificationPreference](schemas.md#codersdknotificationpreference) |
Response Schema
@@ -287,7 +291,7 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/notifications/preferenc
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | ----------------- | -------- | ------------ | ----------- |
+|----------------|-------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» disabled` | boolean | false | | |
| `» id` | string(uuid) | false | | |
diff --git a/docs/reference/api/organizations.md b/docs/reference/api/organizations.md
index e398d8e7c0105..32789743afc38 100644
--- a/docs/reference/api/organizations.md
+++ b/docs/reference/api/organizations.md
@@ -18,14 +18,14 @@ curl -X POST http://coder-server:8080/api/v2/licenses \
```json
{
- "license": "string"
+ "license": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------------------------------------------------------------------ | -------- | ------------------- |
+|--------|------|--------------------------------------------------------------------|----------|---------------------|
| `body` | body | [codersdk.AddLicenseRequest](schemas.md#codersdkaddlicenserequest) | true | Add license request |
### Example responses
@@ -34,17 +34,17 @@ curl -X POST http://coder-server:8080/api/v2/licenses \
```json
{
- "claims": {},
- "id": 0,
- "uploaded_at": "2019-08-24T14:15:22Z",
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
+ "claims": {},
+ "id": 0,
+ "uploaded_at": "2019-08-24T14:15:22Z",
+ "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ---------------------------------------------- |
+|--------|--------------------------------------------------------------|-------------|------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.License](schemas.md#codersdklicense) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -68,21 +68,21 @@ curl -X POST http://coder-server:8080/api/v2/licenses/refresh-entitlements \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ------------------------------------------------ |
+|--------|--------------------------------------------------------------|-------------|--------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -106,23 +106,23 @@ curl -X GET http://coder-server:8080/api/v2/organizations \
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "is_default": true,
- "name": "string",
- "updated_at": "2019-08-24T14:15:22Z"
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "is_default": true,
+ "name": "string",
+ "updated_at": "2019-08-24T14:15:22Z"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Organization](schemas.md#codersdkorganization) |
Response Schema
@@ -130,7 +130,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ----------------- | -------- | ------------ | ----------- |
+|------------------|-------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | true | | |
| `» description` | string | false | | |
@@ -161,17 +161,17 @@ curl -X POST http://coder-server:8080/api/v2/organizations \
```json
{
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "name": "string"
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------------------------------- | -------- | --------------------------- |
+|--------|------|------------------------------------------------------------------------------------|----------|-----------------------------|
| `body` | body | [codersdk.CreateOrganizationRequest](schemas.md#codersdkcreateorganizationrequest) | true | Create organization request |
### Example responses
@@ -180,21 +180,21 @@ curl -X POST http://coder-server:8080/api/v2/organizations \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "is_default": true,
- "name": "string",
- "updated_at": "2019-08-24T14:15:22Z"
+ "created_at": "2019-08-24T14:15:22Z",
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "is_default": true,
+ "name": "string",
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | -------------------------------------------------------- |
+|--------|--------------------------------------------------------------|-------------|----------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.Organization](schemas.md#codersdkorganization) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -215,7 +215,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization} \
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Example responses
@@ -224,21 +224,21 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization} \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "is_default": true,
- "name": "string",
- "updated_at": "2019-08-24T14:15:22Z"
+ "created_at": "2019-08-24T14:15:22Z",
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "is_default": true,
+ "name": "string",
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Organization](schemas.md#codersdkorganization) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -259,7 +259,7 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization} \
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------ | -------- | ----------------------- |
+|----------------|------|--------|----------|-------------------------|
| `organization` | path | string | true | Organization ID or name |
### Example responses
@@ -268,21 +268,21 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization} \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -305,17 +305,17 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization} \
```json
{
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "name": "string"
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ---------------------------------------------------------------------------------- | -------- | -------------------------- |
+|----------------|------|------------------------------------------------------------------------------------|----------|----------------------------|
| `organization` | path | string | true | Organization ID or name |
| `body` | body | [codersdk.UpdateOrganizationRequest](schemas.md#codersdkupdateorganizationrequest) | true | Patch organization request |
@@ -325,21 +325,212 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization} \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "is_default": true,
- "name": "string",
- "updated_at": "2019-08-24T14:15:22Z"
+ "created_at": "2019-08-24T14:15:22Z",
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "is_default": true,
+ "name": "string",
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Organization](schemas.md#codersdkorganization) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
+## Get provisioner jobs
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisionerjobs \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`GET /organizations/{organization}/provisionerjobs`
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|----------------|-------|--------------|----------|--------------------------|
+| `organization` | path | string(uuid) | true | Organization ID |
+| `limit` | query | integer | false | Page limit |
+| `status` | query | string | false | Filter results by status |
+
+#### Enumerated Values
+
+| Parameter | Value |
+|-----------|-------------|
+| `status` | `pending` |
+| `status` | `running` |
+| `status` | `succeeded` |
+| `status` | `canceling` |
+| `status` | `canceled` |
+| `status` | `failed` |
+| `status` | `unknown` |
+| `status` | `pending` |
+| `status` | `running` |
+| `status` | `succeeded` |
+| `status` | `canceling` |
+| `status` | `canceled` |
+| `status` | `failed` |
+
+### Example responses
+
+> 200 Response
+
+```json
+[
+ {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ }
+]
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) |
+
+Response Schema
+
+Status Code **200**
+
+| Name | Type | Required | Restrictions | Description |
+|--------------------------|--------------------------------------------------------------------------|----------|--------------|-------------|
+| `[array item]` | array | false | | |
+| `» available_workers` | array | false | | |
+| `» canceled_at` | string(date-time) | false | | |
+| `» completed_at` | string(date-time) | false | | |
+| `» created_at` | string(date-time) | false | | |
+| `» error` | string | false | | |
+| `» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | |
+| `» file_id` | string(uuid) | false | | |
+| `» id` | string(uuid) | false | | |
+| `» input` | [codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput) | false | | |
+| `»» error` | string | false | | |
+| `»» template_version_id` | string(uuid) | false | | |
+| `»» workspace_build_id` | string(uuid) | false | | |
+| `» organization_id` | string(uuid) | false | | |
+| `» queue_position` | integer | false | | |
+| `» queue_size` | integer | false | | |
+| `» started_at` | string(date-time) | false | | |
+| `» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | |
+| `» tags` | object | false | | |
+| `»» [any property]` | string | false | | |
+| `» type` | [codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype) | false | | |
+| `» worker_id` | string(uuid) | false | | |
+
+#### Enumerated Values
+
+| Property | Value |
+|--------------|-------------------------------|
+| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` |
+| `status` | `pending` |
+| `status` | `running` |
+| `status` | `succeeded` |
+| `status` | `canceling` |
+| `status` | `canceled` |
+| `status` | `failed` |
+| `type` | `template_version_import` |
+| `type` | `workspace_build` |
+| `type` | `template_version_dry_run` |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
+## Get provisioner job
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisionerjobs/{job} \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`GET /organizations/{organization}/provisionerjobs/{job}`
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|----------------|------|--------------|----------|-----------------|
+| `organization` | path | string(uuid) | true | Organization ID |
+| `job` | path | string(uuid) | true | Job ID |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/portsharing.md b/docs/reference/api/portsharing.md
index dbd81cd9a2988..782d6012c9f12 100644
--- a/docs/reference/api/portsharing.md
+++ b/docs/reference/api/portsharing.md
@@ -17,22 +17,22 @@ curl -X DELETE http://coder-server:8080/api/v2/workspaces/{workspace}/port-share
```json
{
- "agent_name": "string",
- "port": 0
+ "agent_name": "string",
+ "port": 0
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | -------------------------------------------------------------------------------------------------------- | -------- | --------------------------------- |
+|-------------|------|----------------------------------------------------------------------------------------------------------|----------|-----------------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.DeleteWorkspaceAgentPortShareRequest](schemas.md#codersdkdeleteworkspaceagentportsharerequest) | true | Delete port sharing level request |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -55,17 +55,17 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/port-share \
```json
{
- "agent_name": "string",
- "port": 0,
- "protocol": "http",
- "share_level": "owner"
+ "agent_name": "string",
+ "port": 0,
+ "protocol": "http",
+ "share_level": "owner"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | -------------------------------------------------------------------------------------------------------- | -------- | --------------------------------- |
+|-------------|------|----------------------------------------------------------------------------------------------------------|----------|-----------------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.UpsertWorkspaceAgentPortShareRequest](schemas.md#codersdkupsertworkspaceagentportsharerequest) | true | Upsert port sharing level request |
@@ -75,18 +75,18 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/port-share \
```json
{
- "agent_name": "string",
- "port": 0,
- "protocol": "http",
- "share_level": "owner",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
+ "agent_name": "string",
+ "port": 0,
+ "protocol": "http",
+ "share_level": "owner",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentPortShare](schemas.md#codersdkworkspaceagentportshare) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/provisioning.md b/docs/reference/api/provisioning.md
new file mode 100644
index 0000000000000..bf3c36269fafa
--- /dev/null
+++ b/docs/reference/api/provisioning.md
@@ -0,0 +1,104 @@
+# Provisioning
+
+## Get provisioner daemons
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisionerdaemons \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`GET /organizations/{organization}/provisionerdaemons`
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|----------------|-------|--------------|----------|------------------------------------------------------------------------------------|
+| `organization` | path | string(uuid) | true | Organization ID |
+| `tags` | query | object | false | Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'}) |
+
+### Example responses
+
+> 200 Response
+
+```json
+[
+ {
+ "api_version": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "current_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
+ "key_name": "string",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "previous_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "provisioners": [
+ "string"
+ ],
+ "status": "offline",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "version": "string"
+ }
+]
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerDaemon](schemas.md#codersdkprovisionerdaemon) |
+
+Response Schema
+
+Status Code **200**
+
+| Name | Type | Required | Restrictions | Description |
+|---------------------|--------------------------------------------------------------------------------|----------|--------------|------------------|
+| `[array item]` | array | false | | |
+| `» api_version` | string | false | | |
+| `» created_at` | string(date-time) | false | | |
+| `» current_job` | [codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob) | false | | |
+| `»» id` | string(uuid) | false | | |
+| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | |
+| `» id` | string(uuid) | false | | |
+| `» key_id` | string(uuid) | false | | |
+| `» key_name` | string | false | | Optional fields. |
+| `» last_seen_at` | string(date-time) | false | | |
+| `» name` | string | false | | |
+| `» organization_id` | string(uuid) | false | | |
+| `» previous_job` | [codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob) | false | | |
+| `» provisioners` | array | false | | |
+| `» status` | [codersdk.ProvisionerDaemonStatus](schemas.md#codersdkprovisionerdaemonstatus) | false | | |
+| `» tags` | object | false | | |
+| `»» [any property]` | string | false | | |
+| `» version` | string | false | | |
+
+#### Enumerated Values
+
+| Property | Value |
+|----------|-------------|
+| `status` | `pending` |
+| `status` | `running` |
+| `status` | `succeeded` |
+| `status` | `canceling` |
+| `status` | `canceled` |
+| `status` | `failed` |
+| `status` | `offline` |
+| `status` | `idle` |
+| `status` | `busy` |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/schemas.md b/docs/reference/api/schemas.md
index 211dc9297f0fc..20ed37f81f7f7 100644
--- a/docs/reference/api/schemas.md
+++ b/docs/reference/api/schemas.md
@@ -4,15 +4,15 @@
```json
{
- "document": "string",
- "signature": "string"
+ "document": "string",
+ "signature": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------- | ------ | -------- | ------------ | ----------- |
+|-------------|--------|----------|--------------|-------------|
| `document` | string | true | | |
| `signature` | string | true | | |
@@ -20,29 +20,29 @@
```json
{
- "session_token": "string"
+ "session_token": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------- | ------ | -------- | ------------ | ----------- |
+|-----------------|--------|----------|--------------|-------------|
| `session_token` | string | false | | |
## agentsdk.AzureInstanceIdentityToken
```json
{
- "encoding": "string",
- "signature": "string"
+ "encoding": "string",
+ "signature": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------- | ------ | -------- | ------------ | ----------- |
+|-------------|--------|----------|--------------|-------------|
| `encoding` | string | true | | |
| `signature` | string | true | | |
@@ -50,19 +50,19 @@
```json
{
- "access_token": "string",
- "password": "string",
- "token_extra": {},
- "type": "string",
- "url": "string",
- "username": "string"
+ "access_token": "string",
+ "password": "string",
+ "token_extra": {},
+ "type": "string",
+ "url": "string",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ---------------------------------------------------------------------------------------- |
+|----------------|--------|----------|--------------|------------------------------------------------------------------------------------------|
| `access_token` | string | false | | |
| `password` | string | false | | |
| `token_extra` | object | false | | |
@@ -74,15 +74,15 @@
```json
{
- "private_key": "string",
- "public_key": "string"
+ "private_key": "string",
+ "public_key": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | ------ | -------- | ------------ | ----------- |
+|---------------|--------|----------|--------------|-------------|
| `private_key` | string | false | | |
| `public_key` | string | false | | |
@@ -90,30 +90,30 @@
```json
{
- "json_web_token": "string"
+ "json_web_token": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ------ | -------- | ------------ | ----------- |
+|------------------|--------|----------|--------------|-------------|
| `json_web_token` | string | true | | |
## agentsdk.Log
```json
{
- "created_at": "string",
- "level": "trace",
- "output": "string"
+ "created_at": "string",
+ "level": "trace",
+ "output": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | -------------------------------------- | -------- | ------------ | ----------- |
+|--------------|----------------------------------------|----------|--------------|-------------|
| `created_at` | string | false | | |
| `level` | [codersdk.LogLevel](#codersdkloglevel) | false | | |
| `output` | string | false | | |
@@ -122,21 +122,21 @@
```json
{
- "log_source_id": "string",
- "logs": [
- {
- "created_at": "string",
- "level": "trace",
- "output": "string"
- }
- ]
+ "log_source_id": "string",
+ "logs": [
+ {
+ "created_at": "string",
+ "level": "trace",
+ "output": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------- | ------------------------------------- | -------- | ------------ | ----------- |
+|-----------------|---------------------------------------|----------|--------------|-------------|
| `log_source_id` | string | false | | |
| `logs` | array of [agentsdk.Log](#agentsdklog) | false | | |
@@ -144,16 +144,16 @@
```json
{
- "display_name": "string",
- "icon": "string",
- "id": "string"
+ "display_name": "string",
+ "icon": "string",
+ "id": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|----------------|--------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `display_name` | string | false | | |
| `icon` | string | false | | |
| `id` | string | false | | ID is a unique identifier for the log source. It is scoped to a workspace agent, and can be statically defined inside code to prevent duplicate sources from being created for the same agent. |
@@ -162,118 +162,122 @@
```json
{
- "active": true,
- "emails": [
- {
- "display": "string",
- "primary": true,
- "type": "string",
- "value": "user@example.com"
- }
- ],
- "groups": [null],
- "id": "string",
- "meta": {
- "resourceType": "string"
- },
- "name": {
- "familyName": "string",
- "givenName": "string"
- },
- "schemas": ["string"],
- "userName": "string"
-}
-```
-
-### Properties
-
-| Name | Type | Required | Restrictions | Description |
-| ---------------- | ------------------ | -------- | ------------ | ----------- |
-| `active` | boolean | false | | |
-| `emails` | array of object | false | | |
-| `» display` | string | false | | |
-| `» primary` | boolean | false | | |
-| `» type` | string | false | | |
-| `» value` | string | false | | |
-| `groups` | array of undefined | false | | |
-| `id` | string | false | | |
-| `meta` | object | false | | |
-| `» resourceType` | string | false | | |
-| `name` | object | false | | |
-| `» familyName` | string | false | | |
-| `» givenName` | string | false | | |
-| `schemas` | array of string | false | | |
-| `userName` | string | false | | |
+ "active": true,
+ "emails": [
+ {
+ "display": "string",
+ "primary": true,
+ "type": "string",
+ "value": "user@example.com"
+ }
+ ],
+ "groups": [
+ null
+ ],
+ "id": "string",
+ "meta": {
+ "resourceType": "string"
+ },
+ "name": {
+ "familyName": "string",
+ "givenName": "string"
+ },
+ "schemas": [
+ "string"
+ ],
+ "userName": "string"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|------------------|--------------------|----------|--------------|-----------------------------------------------------------------------------|
+| `active` | boolean | false | | Active is a ptr to prevent the empty value from being interpreted as false. |
+| `emails` | array of object | false | | |
+| `» display` | string | false | | |
+| `» primary` | boolean | false | | |
+| `» type` | string | false | | |
+| `» value` | string | false | | |
+| `groups` | array of undefined | false | | |
+| `id` | string | false | | |
+| `meta` | object | false | | |
+| `» resourceType` | string | false | | |
+| `name` | object | false | | |
+| `» familyName` | string | false | | |
+| `» givenName` | string | false | | |
+| `schemas` | array of string | false | | |
+| `userName` | string | false | | |
## coderd.cspViolation
```json
{
- "csp-report": {}
+ "csp-report": {}
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------ | -------- | ------------ | ----------- |
+|--------------|--------|----------|--------------|-------------|
| `csp-report` | object | false | | |
## codersdk.ACLAvailable
```json
{
- "groups": [
- {
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
- }
- ],
- "users": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ]
+ "groups": [
+ {
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
+ }
+ ],
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ----------------------------------------------------- | -------- | ------------ | ----------- |
+|----------|-------------------------------------------------------|----------|--------------|-------------|
| `groups` | array of [codersdk.Group](#codersdkgroup) | false | | |
| `users` | array of [codersdk.ReducedUser](#codersdkreduceduser) | false | | |
@@ -281,23 +285,23 @@
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "expires_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "last_used": "2019-08-24T14:15:22Z",
- "lifetime_seconds": 0,
- "login_type": "password",
- "scope": "all",
- "token_name": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "created_at": "2019-08-24T14:15:22Z",
+ "expires_at": "2019-08-24T14:15:22Z",
+ "id": "string",
+ "last_used": "2019-08-24T14:15:22Z",
+ "lifetime_seconds": 0,
+ "login_type": "password",
+ "scope": "all",
+ "token_name": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | -------------------------------------------- | -------- | ------------ | ----------- |
+|--------------------|----------------------------------------------|----------|--------------|-------------|
| `created_at` | string | true | | |
| `expires_at` | string | true | | |
| `id` | string | true | | |
@@ -312,7 +316,7 @@
#### Enumerated Values
| Property | Value |
-| ------------ | --------------------- |
+|--------------|-----------------------|
| `login_type` | `password` |
| `login_type` | `github` |
| `login_type` | `oidc` |
@@ -331,7 +335,7 @@
#### Enumerated Values
| Value |
-| --------------------- |
+|-----------------------|
| `all` |
| `application_connect` |
@@ -339,32 +343,32 @@
```json
{
- "license": "string"
+ "license": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------ | -------- | ------------ | ----------- |
+|-----------|--------|----------|--------------|-------------|
| `license` | string | true | | |
## codersdk.AgentConnectionTiming
```json
{
- "ended_at": "2019-08-24T14:15:22Z",
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z",
- "workspace_agent_id": "string",
- "workspace_agent_name": "string"
+ "ended_at": "2019-08-24T14:15:22Z",
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z",
+ "workspace_agent_id": "string",
+ "workspace_agent_name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | -------------------------------------------- | -------- | ------------ | ----------- |
+|------------------------|----------------------------------------------|----------|--------------|-------------|
| `ended_at` | string | false | | |
| `stage` | [codersdk.TimingStage](#codersdktimingstage) | false | | |
| `started_at` | string | false | | |
@@ -375,21 +379,21 @@
```json
{
- "display_name": "string",
- "ended_at": "2019-08-24T14:15:22Z",
- "exit_code": 0,
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z",
- "status": "string",
- "workspace_agent_id": "string",
- "workspace_agent_name": "string"
+ "display_name": "string",
+ "ended_at": "2019-08-24T14:15:22Z",
+ "exit_code": 0,
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "string",
+ "workspace_agent_id": "string",
+ "workspace_agent_name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | -------------------------------------------- | -------- | ------------ | ----------- |
+|------------------------|----------------------------------------------|----------|--------------|-------------|
| `display_name` | string | false | | |
| `ended_at` | string | false | | |
| `exit_code` | integer | false | | |
@@ -410,7 +414,7 @@
#### Enumerated Values
| Value |
-| ------------ |
+|--------------|
| `envbox` |
| `envbuilder` |
| `exectrace` |
@@ -419,49 +423,49 @@
```json
{
- "host": "string"
+ "host": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------ | ------ | -------- | ------------ | ------------------------------------------------------------- |
+|--------|--------|----------|--------------|---------------------------------------------------------------|
| `host` | string | false | | Host is the externally accessible URL for the Coder instance. |
## codersdk.AppearanceConfig
```json
{
- "announcement_banners": [
- {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- }
- ],
- "application_name": "string",
- "docs_url": "string",
- "logo_url": "string",
- "service_banner": {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- },
- "support_links": [
- {
- "icon": "bug",
- "name": "string",
- "target": "string"
- }
- ]
+ "announcement_banners": [
+ {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ }
+ ],
+ "application_name": "string",
+ "docs_url": "string",
+ "logo_url": "string",
+ "service_banner": {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ },
+ "support_links": [
+ {
+ "icon": "bug",
+ "name": "string",
+ "target": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | ------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------- |
+|------------------------|---------------------------------------------------------|----------|--------------|---------------------------------------------------------------------|
| `announcement_banners` | array of [codersdk.BannerConfig](#codersdkbannerconfig) | false | | |
| `application_name` | string | false | | |
| `docs_url` | string | false | | |
@@ -473,53 +477,53 @@
```json
{
- "all": true
+ "all": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----- | ------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------ |
+|-------|---------|----------|--------------|--------------------------------------------------------------------------------------------------------------------------|
| `all` | boolean | false | | By default, only failed versions are archived. Set this to true to archive all unused versions regardless of job status. |
## codersdk.AssignableRoles
```json
{
- "assignable": true,
- "built_in": true,
- "display_name": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
+ "assignable": true,
+ "built_in": true,
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------------- | --------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- |
+|----------------------------|-----------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------|
| `assignable` | boolean | false | | |
| `built_in` | boolean | false | | Built in roles are immutable |
| `display_name` | string | false | | |
@@ -540,7 +544,7 @@
#### Enumerated Values
| Value |
-| ------------------------ |
+|--------------------------|
| `create` |
| `write` |
| `delete` |
@@ -555,39 +559,39 @@
```json
{
- "property1": {
- "new": null,
- "old": null,
- "secret": true
- },
- "property2": {
- "new": null,
- "old": null,
- "secret": true
- }
+ "property1": {
+ "new": null,
+ "old": null,
+ "secret": true
+ },
+ "property2": {
+ "new": null,
+ "old": null,
+ "secret": true
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | -------------------------------------------------- | -------- | ------------ | ----------- |
+|------------------|----------------------------------------------------|----------|--------------|-------------|
| `[any property]` | [codersdk.AuditDiffField](#codersdkauditdifffield) | false | | |
## codersdk.AuditDiffField
```json
{
- "new": null,
- "old": null,
- "secret": true
+ "new": null,
+ "old": null,
+ "secret": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ------- | -------- | ------------ | ----------- |
+|----------|---------|----------|--------------|-------------|
| `new` | any | false | | |
| `old` | any | false | | |
| `secret` | boolean | false | | |
@@ -596,68 +600,72 @@
```json
{
- "action": "create",
- "additional_fields": [0],
- "description": "string",
- "diff": {
- "property1": {
- "new": null,
- "old": null,
- "secret": true
- },
- "property2": {
- "new": null,
- "old": null,
- "secret": true
- }
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ip": "string",
- "is_deleted": true,
- "organization": {
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
- },
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
- "resource_icon": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource_link": "string",
- "resource_target": "string",
- "resource_type": "template",
- "status_code": 0,
- "time": "2019-08-24T14:15:22Z",
- "user": {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- },
- "user_agent": "string"
+ "action": "create",
+ "additional_fields": [
+ 0
+ ],
+ "description": "string",
+ "diff": {
+ "property1": {
+ "new": null,
+ "old": null,
+ "secret": true
+ },
+ "property2": {
+ "new": null,
+ "old": null,
+ "secret": true
+ }
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "ip": "string",
+ "is_deleted": true,
+ "organization": {
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
+ "resource_icon": "string",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "resource_link": "string",
+ "resource_target": "string",
+ "resource_type": "template",
+ "status_code": 0,
+ "time": "2019-08-24T14:15:22Z",
+ "user": {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ },
+ "user_agent": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ------------------------------------------------------------ | -------- | ------------ | -------------------------------------------- |
+|---------------------|--------------------------------------------------------------|----------|--------------|----------------------------------------------|
| `action` | [codersdk.AuditAction](#codersdkauditaction) | false | | |
| `additional_fields` | array of integer | false | | |
| `description` | string | false | | |
@@ -682,73 +690,77 @@
```json
{
- "audit_logs": [
- {
- "action": "create",
- "additional_fields": [0],
- "description": "string",
- "diff": {
- "property1": {
- "new": null,
- "old": null,
- "secret": true
- },
- "property2": {
- "new": null,
- "old": null,
- "secret": true
- }
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ip": "string",
- "is_deleted": true,
- "organization": {
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
- },
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
- "resource_icon": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource_link": "string",
- "resource_target": "string",
- "resource_type": "template",
- "status_code": 0,
- "time": "2019-08-24T14:15:22Z",
- "user": {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- },
- "user_agent": "string"
- }
- ],
- "count": 0
+ "audit_logs": [
+ {
+ "action": "create",
+ "additional_fields": [
+ 0
+ ],
+ "description": "string",
+ "diff": {
+ "property1": {
+ "new": null,
+ "old": null,
+ "secret": true
+ },
+ "property2": {
+ "new": null,
+ "old": null,
+ "secret": true
+ }
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "ip": "string",
+ "is_deleted": true,
+ "organization": {
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
+ "resource_icon": "string",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "resource_link": "string",
+ "resource_target": "string",
+ "resource_type": "template",
+ "status_code": 0,
+ "time": "2019-08-24T14:15:22Z",
+ "user": {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ },
+ "user_agent": "string"
+ }
+ ],
+ "count": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ----------------------------------------------- | -------- | ------------ | ----------- |
+|--------------|-------------------------------------------------|----------|--------------|-------------|
| `audit_logs` | array of [codersdk.AuditLog](#codersdkauditlog) | false | | |
| `count` | integer | false | | |
@@ -756,39 +768,39 @@
```json
{
- "enabled": true
+ "enabled": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------- | -------- | ------------ | ----------- |
+|-----------|---------|----------|--------------|-------------|
| `enabled` | boolean | false | | |
## codersdk.AuthMethods
```json
{
- "github": {
- "enabled": true
- },
- "oidc": {
- "enabled": true,
- "iconUrl": "string",
- "signInText": "string"
- },
- "password": {
- "enabled": true
- },
- "terms_of_service_url": "string"
+ "github": {
+ "enabled": true
+ },
+ "oidc": {
+ "enabled": true,
+ "iconUrl": "string",
+ "signInText": "string"
+ },
+ "password": {
+ "enabled": true
+ },
+ "terms_of_service_url": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | -------------------------------------------------- | -------- | ------------ | ----------- |
+|------------------------|----------------------------------------------------|----------|--------------|-------------|
| `github` | [codersdk.AuthMethod](#codersdkauthmethod) | false | | |
| `oidc` | [codersdk.OIDCAuthMethod](#codersdkoidcauthmethod) | false | | |
| `password` | [codersdk.AuthMethod](#codersdkauthmethod) | false | | |
@@ -798,14 +810,14 @@
```json
{
- "action": "create",
- "object": {
- "any_org": true,
- "organization_id": "string",
- "owner_id": "string",
- "resource_id": "string",
- "resource_type": "*"
- }
+ "action": "create",
+ "object": {
+ "any_org": true,
+ "organization_id": "string",
+ "owner_id": "string",
+ "resource_id": "string",
+ "resource_type": "*"
+ }
}
```
@@ -814,14 +826,14 @@ AuthorizationCheck is used to check if the currently authenticated user (or the
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ------------------------------------------------------------ | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|----------|--------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `action` | [codersdk.RBACAction](#codersdkrbacaction) | false | | |
| `object` | [codersdk.AuthorizationObject](#codersdkauthorizationobject) | false | | Object can represent a "set" of objects, such as: all workspaces in an organization, all workspaces owned by me, and all workspaces across the entire product. When defining an object, use the most specific language when possible to produce the smallest set. Meaning to set as many fields on 'Object' as you can. Example, if you want to check if you can update all workspaces owned by 'me', try to also add an 'OrganizationID' to the settings. Omitting the 'OrganizationID' could produce the incorrect value, as workspaces have both `user` and `organization` owners. |
#### Enumerated Values
| Property | Value |
-| -------- | -------- |
+|----------|----------|
| `action` | `create` |
| `action` | `read` |
| `action` | `update` |
@@ -831,11 +843,11 @@ AuthorizationCheck is used to check if the currently authenticated user (or the
```json
{
- "any_org": true,
- "organization_id": "string",
- "owner_id": "string",
- "resource_id": "string",
- "resource_type": "*"
+ "any_org": true,
+ "organization_id": "string",
+ "owner_id": "string",
+ "resource_id": "string",
+ "resource_type": "*"
}
```
@@ -844,7 +856,7 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ---------------------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|-------------------|------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `any_org` | boolean | false | | Any org (optional) will disregard the org_owner when checking for permissions. This cannot be set to true if the OrganizationID is set. |
| `organization_id` | string | false | | Organization ID (optional) adds the set constraint to all resources owned by a given organization. |
| `owner_id` | string | false | | Owner ID (optional) adds the set constraint to all resources owned by a given user. |
@@ -855,35 +867,35 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "checks": {
- "property1": {
- "action": "create",
- "object": {
- "any_org": true,
- "organization_id": "string",
- "owner_id": "string",
- "resource_id": "string",
- "resource_type": "*"
- }
- },
- "property2": {
- "action": "create",
- "object": {
- "any_org": true,
- "organization_id": "string",
- "owner_id": "string",
- "resource_id": "string",
- "resource_type": "*"
- }
- }
- }
+ "checks": {
+ "property1": {
+ "action": "create",
+ "object": {
+ "any_org": true,
+ "organization_id": "string",
+ "owner_id": "string",
+ "resource_id": "string",
+ "resource_type": "*"
+ }
+ },
+ "property2": {
+ "action": "create",
+ "object": {
+ "any_org": true,
+ "organization_id": "string",
+ "owner_id": "string",
+ "resource_id": "string",
+ "resource_type": "*"
+ }
+ }
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ---------------------------------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|--------------------|------------------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `checks` | object | false | | Checks is a map keyed with an arbitrary string to a permission check. The key can be any string that is helpful to the caller, and allows multiple permission checks to be run in a single request. The key ensures that each permission check has the same key in the response. |
| » `[any property]` | [codersdk.AuthorizationCheck](#codersdkauthorizationcheck) | false | | It is used to check if the currently authenticated user (or the specified user) can do a given action to a given set of objects. |
@@ -891,15 +903,15 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "property1": true,
- "property2": true
+ "property1": true,
+ "property2": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ------- | -------- | ------------ | ----------- |
+|------------------|---------|----------|--------------|-------------|
| `[any property]` | boolean | false | | |
## codersdk.AutomaticUpdates
@@ -913,7 +925,7 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
#### Enumerated Values
| Value |
-| -------- |
+|----------|
| `always` |
| `never` |
@@ -921,16 +933,16 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "background_color": "string",
- "enabled": true,
- "message": "string"
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------- | -------- | ------------ | ----------- |
+|--------------------|---------|----------|--------------|-------------|
| `background_color` | string | false | | |
| `enabled` | boolean | false | | |
| `message` | string | false | | |
@@ -939,22 +951,22 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "agent_api_version": "string",
- "dashboard_url": "string",
- "deployment_id": "string",
- "external_url": "string",
- "provisioner_api_version": "string",
- "telemetry": true,
- "upgrade_message": "string",
- "version": "string",
- "workspace_proxy": true
+ "agent_api_version": "string",
+ "dashboard_url": "string",
+ "deployment_id": "string",
+ "external_url": "string",
+ "provisioner_api_version": "string",
+ "telemetry": true,
+ "upgrade_message": "string",
+ "version": "string",
+ "workspace_proxy": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------------- | ------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|---------------------------|---------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `agent_api_version` | string | false | | Agent api version is the current version of the Agent API (back versions MAY still be supported). |
| `dashboard_url` | string | false | | Dashboard URL is the URL to hit the deployment's dashboard. For external workspace proxies, this is the coderd they are connected to. |
| `deployment_id` | string | false | | Deployment ID is the unique identifier for this deployment. |
@@ -976,7 +988,7 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
#### Enumerated Values
| Value |
-| ----------- |
+|-------------|
| `initiator` |
| `autostart` |
| `autostop` |
@@ -985,16 +997,16 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "email": "user@example.com",
- "one_time_passcode": "string",
- "password": "string"
+ "email": "user@example.com",
+ "one_time_passcode": "string",
+ "password": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ------ | -------- | ------------ | ----------- |
+|---------------------|--------|----------|--------------|-------------|
| `email` | string | true | | |
| `one_time_passcode` | string | true | | |
| `password` | string | true | | |
@@ -1003,15 +1015,15 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "p50": 31.312,
- "p95": 119.832
+ "p50": 31.312,
+ "p95": 119.832
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----- | ------ | -------- | ------------ | ----------- |
+|-------|--------|----------|--------------|-------------|
| `p50` | number | false | | |
| `p95` | number | false | | |
@@ -1019,15 +1031,15 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "password": "string",
- "to_type": ""
+ "password": "string",
+ "to_type": ""
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------- | ---------------------------------------- | -------- | ------------ | ---------------------------------------- |
+|------------|------------------------------------------|----------|--------------|------------------------------------------|
| `password` | string | true | | |
| `to_type` | [codersdk.LoginType](#codersdklogintype) | true | | To type is the login type to convert to. |
@@ -1035,27 +1047,27 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "email": "string",
- "name": "string",
- "password": "string",
- "trial": true,
- "trial_info": {
- "company_name": "string",
- "country": "string",
- "developers": "string",
- "first_name": "string",
- "job_title": "string",
- "last_name": "string",
- "phone_number": "string"
- },
- "username": "string"
+ "email": "string",
+ "name": "string",
+ "password": "string",
+ "trial": true,
+ "trial_info": {
+ "company_name": "string",
+ "country": "string",
+ "developers": "string",
+ "first_name": "string",
+ "job_title": "string",
+ "last_name": "string",
+ "phone_number": "string"
+ },
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ---------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|--------------|------------------------------------------------------------------------|----------|--------------|-------------|
| `email` | string | true | | |
| `name` | string | false | | |
| `password` | string | true | | |
@@ -1067,15 +1079,15 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ------ | -------- | ------------ | ----------- |
+|-------------------|--------|----------|--------------|-------------|
| `organization_id` | string | false | | |
| `user_id` | string | false | | |
@@ -1083,20 +1095,20 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "company_name": "string",
- "country": "string",
- "developers": "string",
- "first_name": "string",
- "job_title": "string",
- "last_name": "string",
- "phone_number": "string"
+ "company_name": "string",
+ "country": "string",
+ "developers": "string",
+ "first_name": "string",
+ "job_title": "string",
+ "last_name": "string",
+ "phone_number": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `company_name` | string | false | | |
| `country` | string | false | | |
| `developers` | string | false | | |
@@ -1109,17 +1121,17 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "avatar_url": "string",
- "display_name": "string",
- "name": "string",
- "quota_allowance": 0
+ "avatar_url": "string",
+ "display_name": "string",
+ "name": "string",
+ "quota_allowance": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ------- | -------- | ------------ | ----------- |
+|-------------------|---------|----------|--------------|-------------|
| `avatar_url` | string | false | | |
| `display_name` | string | false | | |
| `name` | string | true | | |
@@ -1129,17 +1141,17 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "name": "string"
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ---------------------------------------------------------------------- |
+|----------------|--------|----------|--------------|------------------------------------------------------------------------|
| `description` | string | false | | |
| `display_name` | string | false | | Display name will default to the same value as `Name` if not provided. |
| `icon` | string | false | | |
@@ -1149,94 +1161,98 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "key": "string"
+ "key": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----- | ------ | -------- | ------------ | ----------- |
+|-------|--------|----------|--------------|-------------|
| `key` | string | false | | |
## codersdk.CreateTemplateRequest
```json
{
- "activity_bump_ms": 0,
- "allow_user_autostart": true,
- "allow_user_autostop": true,
- "allow_user_cancel_workspace_jobs": true,
- "autostart_requirement": {
- "days_of_week": ["monday"]
- },
- "autostop_requirement": {
- "days_of_week": ["monday"],
- "weeks": 0
- },
- "default_ttl_ms": 0,
- "delete_ttl_ms": 0,
- "description": "string",
- "disable_everyone_group_access": true,
- "display_name": "string",
- "dormant_ttl_ms": 0,
- "failure_ttl_ms": 0,
- "icon": "string",
- "max_port_share_level": "owner",
- "name": "string",
- "require_active_version": true,
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1"
-}
-```
-
-### Properties
-
-| Name | Type | Required | Restrictions | Description |
-| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `activity_bump_ms` | integer | false | | Activity bump ms allows optionally specifying the activity bump duration for all workspaces created from this template. Defaults to 1h but can be set to 0 to disable activity bumping. |
-| `allow_user_autostart` | boolean | false | | Allow user autostart allows users to set a schedule for autostarting their workspace. By default this is true. This can only be disabled when using an enterprise license. |
-| `allow_user_autostop` | boolean | false | | Allow user autostop allows users to set a custom workspace TTL to use in place of the template's DefaultTTL field. By default this is true. If false, the DefaultTTL will always be used. This can only be disabled when using an enterprise license. |
-| `allow_user_cancel_workspace_jobs` | boolean | false | | Allow users to cancel in-progress workspace jobs. \*bool as the default value is "true". |
-| `autostart_requirement` | [codersdk.TemplateAutostartRequirement](#codersdktemplateautostartrequirement) | false | | Autostart requirement allows optionally specifying the autostart allowed days for workspaces created from this template. This is an enterprise feature. |
-| `autostop_requirement` | [codersdk.TemplateAutostopRequirement](#codersdktemplateautostoprequirement) | false | | Autostop requirement allows optionally specifying the autostop requirement for workspaces created from this template. This is an enterprise feature. |
-| `default_ttl_ms` | integer | false | | Default ttl ms allows optionally specifying the default TTL for all workspaces created from this template. |
-| `delete_ttl_ms` | integer | false | | Delete ttl ms allows optionally specifying the max lifetime before Coder permanently deletes dormant workspaces created from this template. |
-| `description` | string | false | | Description is a description of what the template contains. It must be less than 128 bytes. |
-| `disable_everyone_group_access` | boolean | false | | Disable everyone group access allows optionally disabling the default behavior of granting the 'everyone' group access to use the template. If this is set to true, the template will not be available to all users, and must be explicitly granted to users or groups in the permissions settings of the template. |
-| `display_name` | string | false | | Display name is the displayed name of the template. |
-| `dormant_ttl_ms` | integer | false | | Dormant ttl ms allows optionally specifying the max lifetime before Coder locks inactive workspaces created from this template. |
-| `failure_ttl_ms` | integer | false | | Failure ttl ms allows optionally specifying the max lifetime before Coder stops all resources for failed workspaces created from this template. |
-| `icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. |
-| `max_port_share_level` | [codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel) | false | | Max port share level allows optionally specifying the maximum port share level for workspaces created from the template. |
-| `name` | string | true | | Name is the name of the template. |
-| `require_active_version` | boolean | false | | Require active version mandates that workspaces are built with the active template version. |
-| `template_version_id` | string | true | | Template version ID 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. |
+ "activity_bump_ms": 0,
+ "allow_user_autostart": true,
+ "allow_user_autostop": true,
+ "allow_user_cancel_workspace_jobs": true,
+ "autostart_requirement": {
+ "days_of_week": [
+ "monday"
+ ]
+ },
+ "autostop_requirement": {
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
+ },
+ "default_ttl_ms": 0,
+ "delete_ttl_ms": 0,
+ "description": "string",
+ "disable_everyone_group_access": true,
+ "display_name": "string",
+ "dormant_ttl_ms": 0,
+ "failure_ttl_ms": 0,
+ "icon": "string",
+ "max_port_share_level": "owner",
+ "name": "string",
+ "require_active_version": true,
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|------------------------------------|--------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `activity_bump_ms` | integer | false | | Activity bump ms allows optionally specifying the activity bump duration for all workspaces created from this template. Defaults to 1h but can be set to 0 to disable activity bumping. |
+| `allow_user_autostart` | boolean | false | | Allow user autostart allows users to set a schedule for autostarting their workspace. By default this is true. This can only be disabled when using an enterprise license. |
+| `allow_user_autostop` | boolean | false | | Allow user autostop allows users to set a custom workspace TTL to use in place of the template's DefaultTTL field. By default this is true. If false, the DefaultTTL will always be used. This can only be disabled when using an enterprise license. |
+| `allow_user_cancel_workspace_jobs` | boolean | false | | Allow users to cancel in-progress workspace jobs. *bool as the default value is "true". |
+| `autostart_requirement` | [codersdk.TemplateAutostartRequirement](#codersdktemplateautostartrequirement) | false | | Autostart requirement allows optionally specifying the autostart allowed days for workspaces created from this template. This is an enterprise feature. |
+| `autostop_requirement` | [codersdk.TemplateAutostopRequirement](#codersdktemplateautostoprequirement) | false | | Autostop requirement allows optionally specifying the autostop requirement for workspaces created from this template. This is an enterprise feature. |
+| `default_ttl_ms` | integer | false | | Default ttl ms allows optionally specifying the default TTL for all workspaces created from this template. |
+| `delete_ttl_ms` | integer | false | | Delete ttl ms allows optionally specifying the max lifetime before Coder permanently deletes dormant workspaces created from this template. |
+| `description` | string | false | | Description is a description of what the template contains. It must be less than 128 bytes. |
+| `disable_everyone_group_access` | boolean | false | | Disable everyone group access allows optionally disabling the default behavior of granting the 'everyone' group access to use the template. If this is set to true, the template will not be available to all users, and must be explicitly granted to users or groups in the permissions settings of the template. |
+| `display_name` | string | false | | Display name is the displayed name of the template. |
+| `dormant_ttl_ms` | integer | false | | Dormant ttl ms allows optionally specifying the max lifetime before Coder locks inactive workspaces created from this template. |
+| `failure_ttl_ms` | integer | false | | Failure ttl ms allows optionally specifying the max lifetime before Coder stops all resources for failed workspaces created from this template. |
+| `icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. |
+| `max_port_share_level` | [codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel) | false | | Max port share level allows optionally specifying the maximum port share level for workspaces created from the template. |
+| `name` | string | true | | Name is the name of the template. |
+| `require_active_version` | boolean | false | | Require active version mandates that workspaces are built with the active template version. |
+|`template_version_id`|string|true||Template version ID 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.|
## codersdk.CreateTemplateVersionDryRunRequest
```json
{
- "rich_parameter_values": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "user_variable_values": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "workspace_name": "string"
+ "rich_parameter_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "user_variable_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "workspace_name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | ----------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|-------------------------|-------------------------------------------------------------------------------|----------|--------------|-------------|
| `rich_parameter_values` | array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter) | false | | |
| `user_variable_values` | array of [codersdk.VariableValue](#codersdkvariablevalue) | false | | |
| `workspace_name` | string | false | | |
@@ -1245,30 +1261,30 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "example_id": "string",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "message": "string",
- "name": "string",
- "provisioner": "terraform",
- "storage_method": "file",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "user_variable_values": [
- {
- "name": "string",
- "value": "string"
- }
- ]
+ "example_id": "string",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "message": "string",
+ "name": "string",
+ "provisioner": "terraform",
+ "storage_method": "file",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "user_variable_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | ---------------------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------ |
+|------------------------|------------------------------------------------------------------------|----------|--------------|--------------------------------------------------------------|
| `example_id` | string | false | | |
| `file_id` | string | false | | |
| `message` | string | false | | |
@@ -1283,7 +1299,7 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
#### Enumerated Values
| Property | Value |
-| ---------------- | ----------- |
+|------------------|-------------|
| `provisioner` | `terraform` |
| `provisioner` | `echo` |
| `storage_method` | `file` |
@@ -1292,20 +1308,22 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "action": "create",
- "additional_fields": [0],
- "build_reason": "autostart",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource_type": "template",
- "time": "2019-08-24T14:15:22Z"
+ "action": "create",
+ "additional_fields": [
+ 0
+ ],
+ "build_reason": "autostart",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "resource_type": "template",
+ "time": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ---------------------------------------------- | -------- | ------------ | ----------- |
+|---------------------|------------------------------------------------|----------|--------------|-------------|
| `action` | [codersdk.AuditAction](#codersdkauditaction) | false | | |
| `additional_fields` | array of integer | false | | |
| `build_reason` | [codersdk.BuildReason](#codersdkbuildreason) | false | | |
@@ -1317,7 +1335,7 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
#### Enumerated Values
| Property | Value |
-| --------------- | ------------------ |
+|-----------------|--------------------|
| `action` | `create` |
| `action` | `write` |
| `action` | `delete` |
@@ -1338,16 +1356,16 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "lifetime": 0,
- "scope": "all",
- "token_name": "string"
+ "lifetime": 0,
+ "scope": "all",
+ "token_name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | -------------------------------------------- | -------- | ------------ | ----------- |
+|--------------|----------------------------------------------|----------|--------------|-------------|
| `lifetime` | integer | false | | |
| `scope` | [codersdk.APIKeyScope](#codersdkapikeyscope) | false | | |
| `token_name` | string | false | | |
@@ -1355,7 +1373,7 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
#### Enumerated Values
| Property | Value |
-| -------- | --------------------- |
+|----------|-----------------------|
| `scope` | `all` |
| `scope` | `application_connect` |
@@ -1363,20 +1381,22 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "email": "user@example.com",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "password": "string",
- "user_status": "active",
- "username": "string"
+ "email": "user@example.com",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "password": "string",
+ "user_status": "active",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------------------------------------------ | -------- | ------------ | ----------------------------------------------------------------------------------- |
+|--------------------|--------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------|
| `email` | string | true | | |
| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | Login type defaults to LoginTypePassword. |
| `name` | string | false | | |
@@ -1389,25 +1409,27 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "dry_run": true,
- "log_level": "debug",
- "orphan": true,
- "rich_parameter_values": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "state": [0],
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "transition": "start"
+ "dry_run": true,
+ "log_level": "debug",
+ "orphan": true,
+ "rich_parameter_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "state": [
+ 0
+ ],
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "transition": "start"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | ----------------------------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|-------------------------|-------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `dry_run` | boolean | false | | |
| `log_level` | [codersdk.ProvisionerLogLevel](#codersdkprovisionerloglevel) | false | | Log level changes the default logging verbosity of a provider ("info" if empty). |
| `orphan` | boolean | false | | Orphan may be set for the Destroy transition. |
@@ -1419,7 +1441,7 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
#### Enumerated Values
| Property | Value |
-| ------------ | -------- |
+|--------------|----------|
| `log_level` | `debug` |
| `transition` | `start` |
| `transition` | `stop` |
@@ -1429,16 +1451,16 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "display_name": "string",
- "icon": "string",
- "name": "string"
+ "display_name": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `display_name` | string | false | | |
| `icon` | string | false | | |
| `name` | string | true | | |
@@ -1447,18 +1469,18 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
```json
{
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "name": "string",
- "rich_parameter_values": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "ttl_ms": 0
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "name": "string",
+ "rich_parameter_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "ttl_ms": 0
}
```
@@ -1467,7 +1489,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | ----------------------------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------- |
+|-------------------------|-------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------|
| `automatic_updates` | [codersdk.AutomaticUpdates](#codersdkautomaticupdates) | false | | |
| `autostart_schedule` | string | false | | |
| `name` | string | true | | |
@@ -1480,18 +1502,18 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "deletes_at": "2019-08-24T14:15:22Z",
- "feature": "workspace_apps_api_key",
- "secret": "string",
- "sequence": 0,
- "starts_at": "2019-08-24T14:15:22Z"
+ "deletes_at": "2019-08-24T14:15:22Z",
+ "feature": "workspace_apps_api_key",
+ "secret": "string",
+ "sequence": 0,
+ "starts_at": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------------------------------------------------------ | -------- | ------------ | ----------- |
+|--------------|--------------------------------------------------------|----------|--------------|-------------|
| `deletes_at` | string | false | | |
| `feature` | [codersdk.CryptoKeyFeature](#codersdkcryptokeyfeature) | false | | |
| `secret` | string | false | | |
@@ -1509,7 +1531,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------------------------ |
+|--------------------------|
| `workspace_apps_api_key` |
| `workspace_apps_token` |
| `oidc_convert` |
@@ -1519,36 +1541,36 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "display_name": "string",
- "name": "string",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
+ "display_name": "string",
+ "name": "string",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------------- | --------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------ |
+|----------------------------|-----------------------------------------------------|----------|--------------|--------------------------------------------------------------------------------|
| `display_name` | string | false | | |
| `name` | string | false | | |
| `organization_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | Organization permissions are specific to the organization the role belongs to. |
@@ -1559,15 +1581,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "amount": 0,
- "date": "string"
+ "amount": 0,
+ "date": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ------- | -------- | ------------ | ---------------------------------------------------------------------------------------- |
+|----------|---------|----------|--------------|------------------------------------------------------------------------------------------|
| `amount` | integer | false | | |
| `date` | string | false | | Date is a string formatted as 2024-01-31. Timezone and time information is not included. |
@@ -1575,20 +1597,20 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "entries": [
- {
- "amount": 0,
- "date": "string"
- }
- ],
- "tz_hour_offset": 0
+ "entries": [
+ {
+ "amount": 0,
+ "date": "string"
+ }
+ ],
+ "tz_hour_offset": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ----------------------------------------------- | -------- | ------------ | ----------- |
+|------------------|-------------------------------------------------|----------|--------------|-------------|
| `entries` | array of [codersdk.DAUEntry](#codersdkdauentry) | false | | |
| `tz_hour_offset` | integer | false | | |
@@ -1596,39 +1618,41 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "config": {
- "block_direct": true,
- "force_websockets": true,
- "path": "string",
- "url": "string"
- },
- "server": {
- "enable": true,
- "region_code": "string",
- "region_id": 0,
- "region_name": "string",
- "relay_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "stun_addresses": ["string"]
- }
+ "config": {
+ "block_direct": true,
+ "force_websockets": true,
+ "path": "string",
+ "url": "string"
+ },
+ "server": {
+ "enable": true,
+ "region_code": "string",
+ "region_id": 0,
+ "region_name": "string",
+ "relay_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "stun_addresses": [
+ "string"
+ ]
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ------------------------------------------------------ | -------- | ------------ | ----------- |
+|----------|--------------------------------------------------------|----------|--------------|-------------|
| `config` | [codersdk.DERPConfig](#codersdkderpconfig) | false | | |
| `server` | [codersdk.DERPServerConfig](#codersdkderpserverconfig) | false | | |
@@ -1636,17 +1660,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "block_direct": true,
- "force_websockets": true,
- "path": "string",
- "url": "string"
+ "block_direct": true,
+ "force_websockets": true,
+ "path": "string",
+ "url": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------- | -------- | ------------ | ----------- |
+|--------------------|---------|----------|--------------|-------------|
| `block_direct` | boolean | false | | |
| `force_websockets` | boolean | false | | |
| `path` | string | false | | |
@@ -1656,15 +1680,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "latency_ms": 0,
- "preferred": true
+ "latency_ms": 0,
+ "preferred": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------- | -------- | ------------ | ----------- |
+|--------------|---------|----------|--------------|-------------|
| `latency_ms` | number | false | | |
| `preferred` | boolean | false | | |
@@ -1672,31 +1696,33 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "enable": true,
- "region_code": "string",
- "region_id": 0,
- "region_name": "string",
- "relay_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "stun_addresses": ["string"]
+ "enable": true,
+ "region_code": "string",
+ "region_id": 0,
+ "region_name": "string",
+ "relay_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "stun_addresses": [
+ "string"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | -------------------------- | -------- | ------------ | ----------- |
+|------------------|----------------------------|----------|--------------|-------------|
| `enable` | boolean | false | | |
| `region_code` | string | false | | |
| `region_id` | integer | false | | |
@@ -1708,16 +1734,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "allow_all_cors": true,
- "allow_path_app_sharing": true,
- "allow_path_app_site_owner_access": true
+ "allow_all_cors": true,
+ "allow_path_app_sharing": true,
+ "allow_path_app_site_owner_access": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------------------- | ------- | -------- | ------------ | ----------- |
+|------------------------------------|---------|----------|--------------|-------------|
| `allow_all_cors` | boolean | false | | |
| `allow_path_app_sharing` | boolean | false | | |
| `allow_path_app_site_owner_access` | boolean | false | | |
@@ -1726,15 +1752,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "agent_name": "string",
- "port": 0
+ "agent_name": "string",
+ "port": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------- | -------- | ------------ | ----------- |
+|--------------|---------|----------|--------------|-------------|
| `agent_name` | string | false | | |
| `port` | integer | false | | |
@@ -1742,386 +1768,431 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "config": {
- "access_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "additional_csp_policy": ["string"],
- "address": {
- "host": "string",
- "port": "string"
- },
- "agent_fallback_troubleshooting_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "agent_stat_refresh_interval": 0,
- "allow_workspace_renames": true,
- "autobuild_poll_interval": 0,
- "browser_only": true,
- "cache_directory": "string",
- "cli_upgrade_message": "string",
- "config": "string",
- "config_ssh": {
- "deploymentName": "string",
- "sshconfigOptions": ["string"]
- },
- "dangerous": {
- "allow_all_cors": true,
- "allow_path_app_sharing": true,
- "allow_path_app_site_owner_access": true
- },
- "derp": {
- "config": {
- "block_direct": true,
- "force_websockets": true,
- "path": "string",
- "url": "string"
- },
- "server": {
- "enable": true,
- "region_code": "string",
- "region_id": 0,
- "region_name": "string",
- "relay_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "stun_addresses": ["string"]
- }
- },
- "disable_owner_workspace_exec": true,
- "disable_password_auth": true,
- "disable_path_apps": true,
- "docs_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "enable_terraform_debug_mode": true,
- "experiments": ["string"],
- "external_auth": {
- "value": [
- {
- "app_install_url": "string",
- "app_installations_url": "string",
- "auth_url": "string",
- "client_id": "string",
- "device_code_url": "string",
- "device_flow": true,
- "display_icon": "string",
- "display_name": "string",
- "id": "string",
- "no_refresh": true,
- "regex": "string",
- "scopes": ["string"],
- "token_url": "string",
- "type": "string",
- "validate_url": "string"
- }
- ]
- },
- "external_token_encryption_keys": ["string"],
- "healthcheck": {
- "refresh": 0,
- "threshold_database": 0
- },
- "http_address": "string",
- "in_memory_database": true,
- "job_hang_detector_interval": 0,
- "logging": {
- "human": "string",
- "json": "string",
- "log_filter": ["string"],
- "stackdriver": "string"
- },
- "metrics_cache_refresh_interval": 0,
- "notifications": {
- "dispatch_timeout": 0,
- "email": {
- "auth": {
- "identity": "string",
- "password": "string",
- "password_file": "string",
- "username": "string"
- },
- "force_tls": true,
- "from": "string",
- "hello": "string",
- "smarthost": "string",
- "tls": {
- "ca_file": "string",
- "cert_file": "string",
- "insecure_skip_verify": true,
- "key_file": "string",
- "server_name": "string",
- "start_tls": true
- }
- },
- "fetch_interval": 0,
- "lease_count": 0,
- "lease_period": 0,
- "max_send_attempts": 0,
- "method": "string",
- "retry_interval": 0,
- "sync_buffer_size": 0,
- "sync_interval": 0,
- "webhook": {
- "endpoint": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- }
- }
- },
- "oauth2": {
- "github": {
- "allow_everyone": true,
- "allow_signups": true,
- "allowed_orgs": ["string"],
- "allowed_teams": ["string"],
- "client_id": "string",
- "client_secret": "string",
- "enterprise_base_url": "string"
- }
- },
- "oidc": {
- "allow_signups": true,
- "auth_url_params": {},
- "client_cert_file": "string",
- "client_id": "string",
- "client_key_file": "string",
- "client_secret": "string",
- "email_domain": ["string"],
- "email_field": "string",
- "group_allow_list": ["string"],
- "group_auto_create": true,
- "group_mapping": {},
- "group_regex_filter": {},
- "groups_field": "string",
- "icon_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "ignore_email_verified": true,
- "ignore_user_info": true,
- "issuer_url": "string",
- "name_field": "string",
- "organization_assign_default": true,
- "organization_field": "string",
- "organization_mapping": {},
- "scopes": ["string"],
- "sign_in_text": "string",
- "signups_disabled_text": "string",
- "skip_issuer_checks": true,
- "user_role_field": "string",
- "user_role_mapping": {},
- "user_roles_default": ["string"],
- "username_field": "string"
- },
- "pg_auth": "string",
- "pg_connection_url": "string",
- "pprof": {
- "address": {
- "host": "string",
- "port": "string"
- },
- "enable": true
- },
- "prometheus": {
- "address": {
- "host": "string",
- "port": "string"
- },
- "aggregate_agent_stats_by": ["string"],
- "collect_agent_stats": true,
- "collect_db_metrics": true,
- "enable": true
- },
- "provisioner": {
- "daemon_poll_interval": 0,
- "daemon_poll_jitter": 0,
- "daemon_psk": "string",
- "daemon_types": ["string"],
- "daemons": 0,
- "force_cancel_interval": 0
- },
- "proxy_health_status_interval": 0,
- "proxy_trusted_headers": ["string"],
- "proxy_trusted_origins": ["string"],
- "rate_limit": {
- "api": 0,
- "disable_all": true
- },
- "redirect_to_access_url": true,
- "scim_api_key": "string",
- "secure_auth_cookie": true,
- "session_lifetime": {
- "default_duration": 0,
- "default_token_lifetime": 0,
- "disable_expiry_refresh": true,
- "max_token_lifetime": 0
- },
- "ssh_keygen_algorithm": "string",
- "strict_transport_security": 0,
- "strict_transport_security_options": ["string"],
- "support": {
- "links": {
- "value": [
- {
- "icon": "bug",
- "name": "string",
- "target": "string"
- }
- ]
- }
- },
- "swagger": {
- "enable": true
- },
- "telemetry": {
- "enable": true,
- "trace": true,
- "url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- }
- },
- "terms_of_service_url": "string",
- "tls": {
- "address": {
- "host": "string",
- "port": "string"
- },
- "allow_insecure_ciphers": true,
- "cert_file": ["string"],
- "client_auth": "string",
- "client_ca_file": "string",
- "client_cert_file": "string",
- "client_key_file": "string",
- "enable": true,
- "key_file": ["string"],
- "min_version": "string",
- "redirect_http": true,
- "supported_ciphers": ["string"]
- },
- "trace": {
- "capture_logs": true,
- "data_dog": true,
- "enable": true,
- "honeycomb_api_key": "string"
- },
- "update_check": true,
- "user_quiet_hours_schedule": {
- "allow_user_custom": true,
- "default_schedule": "string"
- },
- "verbose": true,
- "web_terminal_renderer": "string",
- "wgtunnel_host": "string",
- "wildcard_access_url": "string",
- "write_config": true
- },
- "options": [
- {
- "annotations": {
- "property1": "string",
- "property2": "string"
- },
- "default": "string",
- "description": "string",
- "env": "string",
- "flag": "string",
- "flag_shorthand": "string",
- "group": {
- "description": "string",
- "name": "string",
- "parent": {
- "description": "string",
- "name": "string",
- "parent": {},
- "yaml": "string"
- },
- "yaml": "string"
- },
- "hidden": true,
- "name": "string",
- "required": true,
- "use_instead": [{}],
- "value": null,
- "value_source": "",
- "yaml": "string"
- }
- ]
+ "config": {
+ "access_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "additional_csp_policy": [
+ "string"
+ ],
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "agent_fallback_troubleshooting_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "agent_stat_refresh_interval": 0,
+ "allow_workspace_renames": true,
+ "autobuild_poll_interval": 0,
+ "browser_only": true,
+ "cache_directory": "string",
+ "cli_upgrade_message": "string",
+ "config": "string",
+ "config_ssh": {
+ "deploymentName": "string",
+ "sshconfigOptions": [
+ "string"
+ ]
+ },
+ "dangerous": {
+ "allow_all_cors": true,
+ "allow_path_app_sharing": true,
+ "allow_path_app_site_owner_access": true
+ },
+ "derp": {
+ "config": {
+ "block_direct": true,
+ "force_websockets": true,
+ "path": "string",
+ "url": "string"
+ },
+ "server": {
+ "enable": true,
+ "region_code": "string",
+ "region_id": 0,
+ "region_name": "string",
+ "relay_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "stun_addresses": [
+ "string"
+ ]
+ }
+ },
+ "disable_owner_workspace_exec": true,
+ "disable_password_auth": true,
+ "disable_path_apps": true,
+ "docs_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "enable_terraform_debug_mode": true,
+ "ephemeral_deployment": true,
+ "experiments": [
+ "string"
+ ],
+ "external_auth": {
+ "value": [
+ {
+ "app_install_url": "string",
+ "app_installations_url": "string",
+ "auth_url": "string",
+ "client_id": "string",
+ "device_code_url": "string",
+ "device_flow": true,
+ "display_icon": "string",
+ "display_name": "string",
+ "id": "string",
+ "no_refresh": true,
+ "regex": "string",
+ "scopes": [
+ "string"
+ ],
+ "token_url": "string",
+ "type": "string",
+ "validate_url": "string"
+ }
+ ]
+ },
+ "external_token_encryption_keys": [
+ "string"
+ ],
+ "healthcheck": {
+ "refresh": 0,
+ "threshold_database": 0
+ },
+ "http_address": "string",
+ "in_memory_database": true,
+ "job_hang_detector_interval": 0,
+ "logging": {
+ "human": "string",
+ "json": "string",
+ "log_filter": [
+ "string"
+ ],
+ "stackdriver": "string"
+ },
+ "metrics_cache_refresh_interval": 0,
+ "notifications": {
+ "dispatch_timeout": 0,
+ "email": {
+ "auth": {
+ "identity": "string",
+ "password": "string",
+ "password_file": "string",
+ "username": "string"
+ },
+ "force_tls": true,
+ "from": "string",
+ "hello": "string",
+ "smarthost": "string",
+ "tls": {
+ "ca_file": "string",
+ "cert_file": "string",
+ "insecure_skip_verify": true,
+ "key_file": "string",
+ "server_name": "string",
+ "start_tls": true
+ }
+ },
+ "fetch_interval": 0,
+ "lease_count": 0,
+ "lease_period": 0,
+ "max_send_attempts": 0,
+ "method": "string",
+ "retry_interval": 0,
+ "sync_buffer_size": 0,
+ "sync_interval": 0,
+ "webhook": {
+ "endpoint": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ }
+ }
+ },
+ "oauth2": {
+ "github": {
+ "allow_everyone": true,
+ "allow_signups": true,
+ "allowed_orgs": [
+ "string"
+ ],
+ "allowed_teams": [
+ "string"
+ ],
+ "client_id": "string",
+ "client_secret": "string",
+ "enterprise_base_url": "string"
+ }
+ },
+ "oidc": {
+ "allow_signups": true,
+ "auth_url_params": {},
+ "client_cert_file": "string",
+ "client_id": "string",
+ "client_key_file": "string",
+ "client_secret": "string",
+ "email_domain": [
+ "string"
+ ],
+ "email_field": "string",
+ "group_allow_list": [
+ "string"
+ ],
+ "group_auto_create": true,
+ "group_mapping": {},
+ "group_regex_filter": {},
+ "groups_field": "string",
+ "icon_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "ignore_email_verified": true,
+ "ignore_user_info": true,
+ "issuer_url": "string",
+ "name_field": "string",
+ "organization_assign_default": true,
+ "organization_field": "string",
+ "organization_mapping": {},
+ "scopes": [
+ "string"
+ ],
+ "sign_in_text": "string",
+ "signups_disabled_text": "string",
+ "skip_issuer_checks": true,
+ "user_role_field": "string",
+ "user_role_mapping": {},
+ "user_roles_default": [
+ "string"
+ ],
+ "username_field": "string"
+ },
+ "pg_auth": "string",
+ "pg_connection_url": "string",
+ "pprof": {
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "enable": true
+ },
+ "prometheus": {
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "aggregate_agent_stats_by": [
+ "string"
+ ],
+ "collect_agent_stats": true,
+ "collect_db_metrics": true,
+ "enable": true
+ },
+ "provisioner": {
+ "daemon_poll_interval": 0,
+ "daemon_poll_jitter": 0,
+ "daemon_psk": "string",
+ "daemon_types": [
+ "string"
+ ],
+ "daemons": 0,
+ "force_cancel_interval": 0
+ },
+ "proxy_health_status_interval": 0,
+ "proxy_trusted_headers": [
+ "string"
+ ],
+ "proxy_trusted_origins": [
+ "string"
+ ],
+ "rate_limit": {
+ "api": 0,
+ "disable_all": true
+ },
+ "redirect_to_access_url": true,
+ "scim_api_key": "string",
+ "secure_auth_cookie": true,
+ "session_lifetime": {
+ "default_duration": 0,
+ "default_token_lifetime": 0,
+ "disable_expiry_refresh": true,
+ "max_token_lifetime": 0
+ },
+ "ssh_keygen_algorithm": "string",
+ "strict_transport_security": 0,
+ "strict_transport_security_options": [
+ "string"
+ ],
+ "support": {
+ "links": {
+ "value": [
+ {
+ "icon": "bug",
+ "name": "string",
+ "target": "string"
+ }
+ ]
+ }
+ },
+ "swagger": {
+ "enable": true
+ },
+ "telemetry": {
+ "enable": true,
+ "trace": true,
+ "url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ }
+ },
+ "terms_of_service_url": "string",
+ "tls": {
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "allow_insecure_ciphers": true,
+ "cert_file": [
+ "string"
+ ],
+ "client_auth": "string",
+ "client_ca_file": "string",
+ "client_cert_file": "string",
+ "client_key_file": "string",
+ "enable": true,
+ "key_file": [
+ "string"
+ ],
+ "min_version": "string",
+ "redirect_http": true,
+ "supported_ciphers": [
+ "string"
+ ]
+ },
+ "trace": {
+ "capture_logs": true,
+ "data_dog": true,
+ "enable": true,
+ "honeycomb_api_key": "string"
+ },
+ "update_check": true,
+ "user_quiet_hours_schedule": {
+ "allow_user_custom": true,
+ "default_schedule": "string"
+ },
+ "verbose": true,
+ "web_terminal_renderer": "string",
+ "wgtunnel_host": "string",
+ "wildcard_access_url": "string",
+ "write_config": true
+ },
+ "options": [
+ {
+ "annotations": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "default": "string",
+ "description": "string",
+ "env": "string",
+ "flag": "string",
+ "flag_shorthand": "string",
+ "group": {
+ "description": "string",
+ "name": "string",
+ "parent": {
+ "description": "string",
+ "name": "string",
+ "parent": {},
+ "yaml": "string"
+ },
+ "yaml": "string"
+ },
+ "hidden": true,
+ "name": "string",
+ "required": true,
+ "use_instead": [
+ {}
+ ],
+ "value": null,
+ "value_source": "",
+ "yaml": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------------------------------------------------------ | -------- | ------------ | ----------- |
+|-----------|--------------------------------------------------------|----------|--------------|-------------|
| `config` | [codersdk.DeploymentValues](#codersdkdeploymentvalues) | false | | |
| `options` | array of [serpent.Option](#serpentoption) | false | | |
@@ -2129,35 +2200,35 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "aggregated_from": "2019-08-24T14:15:22Z",
- "collected_at": "2019-08-24T14:15:22Z",
- "next_update_at": "2019-08-24T14:15:22Z",
- "session_count": {
- "jetbrains": 0,
- "reconnecting_pty": 0,
- "ssh": 0,
- "vscode": 0
- },
- "workspaces": {
- "building": 0,
- "connection_latency_ms": {
- "p50": 0,
- "p95": 0
- },
- "failed": 0,
- "pending": 0,
- "running": 0,
- "rx_bytes": 0,
- "stopped": 0,
- "tx_bytes": 0
- }
+ "aggregated_from": "2019-08-24T14:15:22Z",
+ "collected_at": "2019-08-24T14:15:22Z",
+ "next_update_at": "2019-08-24T14:15:22Z",
+ "session_count": {
+ "jetbrains": 0,
+ "reconnecting_pty": 0,
+ "ssh": 0,
+ "vscode": 0
+ },
+ "workspaces": {
+ "building": 0,
+ "connection_latency_ms": {
+ "p50": 0,
+ "p95": 0
+ },
+ "failed": 0,
+ "pending": 0,
+ "running": 0,
+ "rx_bytes": 0,
+ "stopped": 0,
+ "tx_bytes": 0
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ---------------------------------------------------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------- |
+|-------------------|------------------------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------|
| `aggregated_from` | string | false | | Aggregated from is the time in which stats are aggregated from. This might be back in time a specific duration or interval. |
| `collected_at` | string | false | | Collected at is the time in which stats are collected at. |
| `next_update_at` | string | false | | Next update at is the time when the next batch of stats will be updated. |
@@ -2168,353 +2239,396 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "access_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "additional_csp_policy": ["string"],
- "address": {
- "host": "string",
- "port": "string"
- },
- "agent_fallback_troubleshooting_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "agent_stat_refresh_interval": 0,
- "allow_workspace_renames": true,
- "autobuild_poll_interval": 0,
- "browser_only": true,
- "cache_directory": "string",
- "cli_upgrade_message": "string",
- "config": "string",
- "config_ssh": {
- "deploymentName": "string",
- "sshconfigOptions": ["string"]
- },
- "dangerous": {
- "allow_all_cors": true,
- "allow_path_app_sharing": true,
- "allow_path_app_site_owner_access": true
- },
- "derp": {
- "config": {
- "block_direct": true,
- "force_websockets": true,
- "path": "string",
- "url": "string"
- },
- "server": {
- "enable": true,
- "region_code": "string",
- "region_id": 0,
- "region_name": "string",
- "relay_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "stun_addresses": ["string"]
- }
- },
- "disable_owner_workspace_exec": true,
- "disable_password_auth": true,
- "disable_path_apps": true,
- "docs_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "enable_terraform_debug_mode": true,
- "experiments": ["string"],
- "external_auth": {
- "value": [
- {
- "app_install_url": "string",
- "app_installations_url": "string",
- "auth_url": "string",
- "client_id": "string",
- "device_code_url": "string",
- "device_flow": true,
- "display_icon": "string",
- "display_name": "string",
- "id": "string",
- "no_refresh": true,
- "regex": "string",
- "scopes": ["string"],
- "token_url": "string",
- "type": "string",
- "validate_url": "string"
- }
- ]
- },
- "external_token_encryption_keys": ["string"],
- "healthcheck": {
- "refresh": 0,
- "threshold_database": 0
- },
- "http_address": "string",
- "in_memory_database": true,
- "job_hang_detector_interval": 0,
- "logging": {
- "human": "string",
- "json": "string",
- "log_filter": ["string"],
- "stackdriver": "string"
- },
- "metrics_cache_refresh_interval": 0,
- "notifications": {
- "dispatch_timeout": 0,
- "email": {
- "auth": {
- "identity": "string",
- "password": "string",
- "password_file": "string",
- "username": "string"
- },
- "force_tls": true,
- "from": "string",
- "hello": "string",
- "smarthost": "string",
- "tls": {
- "ca_file": "string",
- "cert_file": "string",
- "insecure_skip_verify": true,
- "key_file": "string",
- "server_name": "string",
- "start_tls": true
- }
- },
- "fetch_interval": 0,
- "lease_count": 0,
- "lease_period": 0,
- "max_send_attempts": 0,
- "method": "string",
- "retry_interval": 0,
- "sync_buffer_size": 0,
- "sync_interval": 0,
- "webhook": {
- "endpoint": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- }
- }
- },
- "oauth2": {
- "github": {
- "allow_everyone": true,
- "allow_signups": true,
- "allowed_orgs": ["string"],
- "allowed_teams": ["string"],
- "client_id": "string",
- "client_secret": "string",
- "enterprise_base_url": "string"
- }
- },
- "oidc": {
- "allow_signups": true,
- "auth_url_params": {},
- "client_cert_file": "string",
- "client_id": "string",
- "client_key_file": "string",
- "client_secret": "string",
- "email_domain": ["string"],
- "email_field": "string",
- "group_allow_list": ["string"],
- "group_auto_create": true,
- "group_mapping": {},
- "group_regex_filter": {},
- "groups_field": "string",
- "icon_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "ignore_email_verified": true,
- "ignore_user_info": true,
- "issuer_url": "string",
- "name_field": "string",
- "organization_assign_default": true,
- "organization_field": "string",
- "organization_mapping": {},
- "scopes": ["string"],
- "sign_in_text": "string",
- "signups_disabled_text": "string",
- "skip_issuer_checks": true,
- "user_role_field": "string",
- "user_role_mapping": {},
- "user_roles_default": ["string"],
- "username_field": "string"
- },
- "pg_auth": "string",
- "pg_connection_url": "string",
- "pprof": {
- "address": {
- "host": "string",
- "port": "string"
- },
- "enable": true
- },
- "prometheus": {
- "address": {
- "host": "string",
- "port": "string"
- },
- "aggregate_agent_stats_by": ["string"],
- "collect_agent_stats": true,
- "collect_db_metrics": true,
- "enable": true
- },
- "provisioner": {
- "daemon_poll_interval": 0,
- "daemon_poll_jitter": 0,
- "daemon_psk": "string",
- "daemon_types": ["string"],
- "daemons": 0,
- "force_cancel_interval": 0
- },
- "proxy_health_status_interval": 0,
- "proxy_trusted_headers": ["string"],
- "proxy_trusted_origins": ["string"],
- "rate_limit": {
- "api": 0,
- "disable_all": true
- },
- "redirect_to_access_url": true,
- "scim_api_key": "string",
- "secure_auth_cookie": true,
- "session_lifetime": {
- "default_duration": 0,
- "default_token_lifetime": 0,
- "disable_expiry_refresh": true,
- "max_token_lifetime": 0
- },
- "ssh_keygen_algorithm": "string",
- "strict_transport_security": 0,
- "strict_transport_security_options": ["string"],
- "support": {
- "links": {
- "value": [
- {
- "icon": "bug",
- "name": "string",
- "target": "string"
- }
- ]
- }
- },
- "swagger": {
- "enable": true
- },
- "telemetry": {
- "enable": true,
- "trace": true,
- "url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- }
- },
- "terms_of_service_url": "string",
- "tls": {
- "address": {
- "host": "string",
- "port": "string"
- },
- "allow_insecure_ciphers": true,
- "cert_file": ["string"],
- "client_auth": "string",
- "client_ca_file": "string",
- "client_cert_file": "string",
- "client_key_file": "string",
- "enable": true,
- "key_file": ["string"],
- "min_version": "string",
- "redirect_http": true,
- "supported_ciphers": ["string"]
- },
- "trace": {
- "capture_logs": true,
- "data_dog": true,
- "enable": true,
- "honeycomb_api_key": "string"
- },
- "update_check": true,
- "user_quiet_hours_schedule": {
- "allow_user_custom": true,
- "default_schedule": "string"
- },
- "verbose": true,
- "web_terminal_renderer": "string",
- "wgtunnel_host": "string",
- "wildcard_access_url": "string",
- "write_config": true
+ "access_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "additional_csp_policy": [
+ "string"
+ ],
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "agent_fallback_troubleshooting_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "agent_stat_refresh_interval": 0,
+ "allow_workspace_renames": true,
+ "autobuild_poll_interval": 0,
+ "browser_only": true,
+ "cache_directory": "string",
+ "cli_upgrade_message": "string",
+ "config": "string",
+ "config_ssh": {
+ "deploymentName": "string",
+ "sshconfigOptions": [
+ "string"
+ ]
+ },
+ "dangerous": {
+ "allow_all_cors": true,
+ "allow_path_app_sharing": true,
+ "allow_path_app_site_owner_access": true
+ },
+ "derp": {
+ "config": {
+ "block_direct": true,
+ "force_websockets": true,
+ "path": "string",
+ "url": "string"
+ },
+ "server": {
+ "enable": true,
+ "region_code": "string",
+ "region_id": 0,
+ "region_name": "string",
+ "relay_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "stun_addresses": [
+ "string"
+ ]
+ }
+ },
+ "disable_owner_workspace_exec": true,
+ "disable_password_auth": true,
+ "disable_path_apps": true,
+ "docs_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "enable_terraform_debug_mode": true,
+ "ephemeral_deployment": true,
+ "experiments": [
+ "string"
+ ],
+ "external_auth": {
+ "value": [
+ {
+ "app_install_url": "string",
+ "app_installations_url": "string",
+ "auth_url": "string",
+ "client_id": "string",
+ "device_code_url": "string",
+ "device_flow": true,
+ "display_icon": "string",
+ "display_name": "string",
+ "id": "string",
+ "no_refresh": true,
+ "regex": "string",
+ "scopes": [
+ "string"
+ ],
+ "token_url": "string",
+ "type": "string",
+ "validate_url": "string"
+ }
+ ]
+ },
+ "external_token_encryption_keys": [
+ "string"
+ ],
+ "healthcheck": {
+ "refresh": 0,
+ "threshold_database": 0
+ },
+ "http_address": "string",
+ "in_memory_database": true,
+ "job_hang_detector_interval": 0,
+ "logging": {
+ "human": "string",
+ "json": "string",
+ "log_filter": [
+ "string"
+ ],
+ "stackdriver": "string"
+ },
+ "metrics_cache_refresh_interval": 0,
+ "notifications": {
+ "dispatch_timeout": 0,
+ "email": {
+ "auth": {
+ "identity": "string",
+ "password": "string",
+ "password_file": "string",
+ "username": "string"
+ },
+ "force_tls": true,
+ "from": "string",
+ "hello": "string",
+ "smarthost": "string",
+ "tls": {
+ "ca_file": "string",
+ "cert_file": "string",
+ "insecure_skip_verify": true,
+ "key_file": "string",
+ "server_name": "string",
+ "start_tls": true
+ }
+ },
+ "fetch_interval": 0,
+ "lease_count": 0,
+ "lease_period": 0,
+ "max_send_attempts": 0,
+ "method": "string",
+ "retry_interval": 0,
+ "sync_buffer_size": 0,
+ "sync_interval": 0,
+ "webhook": {
+ "endpoint": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ }
+ }
+ },
+ "oauth2": {
+ "github": {
+ "allow_everyone": true,
+ "allow_signups": true,
+ "allowed_orgs": [
+ "string"
+ ],
+ "allowed_teams": [
+ "string"
+ ],
+ "client_id": "string",
+ "client_secret": "string",
+ "enterprise_base_url": "string"
+ }
+ },
+ "oidc": {
+ "allow_signups": true,
+ "auth_url_params": {},
+ "client_cert_file": "string",
+ "client_id": "string",
+ "client_key_file": "string",
+ "client_secret": "string",
+ "email_domain": [
+ "string"
+ ],
+ "email_field": "string",
+ "group_allow_list": [
+ "string"
+ ],
+ "group_auto_create": true,
+ "group_mapping": {},
+ "group_regex_filter": {},
+ "groups_field": "string",
+ "icon_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "ignore_email_verified": true,
+ "ignore_user_info": true,
+ "issuer_url": "string",
+ "name_field": "string",
+ "organization_assign_default": true,
+ "organization_field": "string",
+ "organization_mapping": {},
+ "scopes": [
+ "string"
+ ],
+ "sign_in_text": "string",
+ "signups_disabled_text": "string",
+ "skip_issuer_checks": true,
+ "user_role_field": "string",
+ "user_role_mapping": {},
+ "user_roles_default": [
+ "string"
+ ],
+ "username_field": "string"
+ },
+ "pg_auth": "string",
+ "pg_connection_url": "string",
+ "pprof": {
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "enable": true
+ },
+ "prometheus": {
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "aggregate_agent_stats_by": [
+ "string"
+ ],
+ "collect_agent_stats": true,
+ "collect_db_metrics": true,
+ "enable": true
+ },
+ "provisioner": {
+ "daemon_poll_interval": 0,
+ "daemon_poll_jitter": 0,
+ "daemon_psk": "string",
+ "daemon_types": [
+ "string"
+ ],
+ "daemons": 0,
+ "force_cancel_interval": 0
+ },
+ "proxy_health_status_interval": 0,
+ "proxy_trusted_headers": [
+ "string"
+ ],
+ "proxy_trusted_origins": [
+ "string"
+ ],
+ "rate_limit": {
+ "api": 0,
+ "disable_all": true
+ },
+ "redirect_to_access_url": true,
+ "scim_api_key": "string",
+ "secure_auth_cookie": true,
+ "session_lifetime": {
+ "default_duration": 0,
+ "default_token_lifetime": 0,
+ "disable_expiry_refresh": true,
+ "max_token_lifetime": 0
+ },
+ "ssh_keygen_algorithm": "string",
+ "strict_transport_security": 0,
+ "strict_transport_security_options": [
+ "string"
+ ],
+ "support": {
+ "links": {
+ "value": [
+ {
+ "icon": "bug",
+ "name": "string",
+ "target": "string"
+ }
+ ]
+ }
+ },
+ "swagger": {
+ "enable": true
+ },
+ "telemetry": {
+ "enable": true,
+ "trace": true,
+ "url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ }
+ },
+ "terms_of_service_url": "string",
+ "tls": {
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "allow_insecure_ciphers": true,
+ "cert_file": [
+ "string"
+ ],
+ "client_auth": "string",
+ "client_ca_file": "string",
+ "client_cert_file": "string",
+ "client_key_file": "string",
+ "enable": true,
+ "key_file": [
+ "string"
+ ],
+ "min_version": "string",
+ "redirect_http": true,
+ "supported_ciphers": [
+ "string"
+ ]
+ },
+ "trace": {
+ "capture_logs": true,
+ "data_dog": true,
+ "enable": true,
+ "honeycomb_api_key": "string"
+ },
+ "update_check": true,
+ "user_quiet_hours_schedule": {
+ "allow_user_custom": true,
+ "default_schedule": "string"
+ },
+ "verbose": true,
+ "web_terminal_renderer": "string",
+ "wgtunnel_host": "string",
+ "wildcard_access_url": "string",
+ "write_config": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------------------------ | ---------------------------------------------------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------ |
+|--------------------------------------|------------------------------------------------------------------------------------------------------|----------|--------------|--------------------------------------------------------------------|
| `access_url` | [serpent.URL](#serpenturl) | false | | |
| `additional_csp_policy` | array of string | false | | |
| `address` | [serpent.HostPort](#serpenthostport) | false | | Address Use HTTPAddress or TLS.Address instead. |
@@ -2534,6 +2648,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
| `disable_path_apps` | boolean | false | | |
| `docs_url` | [serpent.URL](#serpenturl) | false | | |
| `enable_terraform_debug_mode` | boolean | false | | |
+| `ephemeral_deployment` | boolean | false | | |
| `experiments` | array of string | false | | |
| `external_auth` | [serpent.Struct-array_codersdk_ExternalAuthConfig](#serpentstruct-array_codersdk_externalauthconfig) | false | | |
| `external_token_encryption_keys` | array of string | false | | |
@@ -2587,7 +2702,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------------------------ |
+|--------------------------|
| `vscode` |
| `vscode_insiders` |
| `web_terminal` |
@@ -2605,7 +2720,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| -------------- |
+|----------------|
| `entitled` |
| `grace_period` |
| `not_entitled` |
@@ -2614,33 +2729,37 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "errors": ["string"],
- "features": {
- "property1": {
- "actual": 0,
- "enabled": true,
- "entitlement": "entitled",
- "limit": 0
- },
- "property2": {
- "actual": 0,
- "enabled": true,
- "entitlement": "entitled",
- "limit": 0
- }
- },
- "has_license": true,
- "refreshed_at": "2019-08-24T14:15:22Z",
- "require_telemetry": true,
- "trial": true,
- "warnings": ["string"]
+ "errors": [
+ "string"
+ ],
+ "features": {
+ "property1": {
+ "actual": 0,
+ "enabled": true,
+ "entitlement": "entitled",
+ "limit": 0
+ },
+ "property2": {
+ "actual": 0,
+ "enabled": true,
+ "entitlement": "entitled",
+ "limit": 0
+ }
+ },
+ "has_license": true,
+ "refreshed_at": "2019-08-24T14:15:22Z",
+ "require_telemetry": true,
+ "trial": true,
+ "warnings": [
+ "string"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ------------------------------------ | -------- | ------------ | ----------- |
+|---------------------|--------------------------------------|----------|--------------|-------------|
| `errors` | array of string | false | | |
| `features` | object | false | | |
| » `[any property]` | [codersdk.Feature](#codersdkfeature) | false | | |
@@ -2661,7 +2780,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ---------------------- |
+|------------------------|
| `example` |
| `auto-fill-parameters` |
| `notifications` |
@@ -2671,38 +2790,38 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "app_install_url": "string",
- "app_installable": true,
- "authenticated": true,
- "device": true,
- "display_name": "string",
- "installations": [
- {
- "account": {
- "avatar_url": "string",
- "id": 0,
- "login": "string",
- "name": "string",
- "profile_url": "string"
- },
- "configure_url": "string",
- "id": 0
- }
- ],
- "user": {
- "avatar_url": "string",
- "id": 0,
- "login": "string",
- "name": "string",
- "profile_url": "string"
- }
+ "app_install_url": "string",
+ "app_installable": true,
+ "authenticated": true,
+ "device": true,
+ "display_name": "string",
+ "installations": [
+ {
+ "account": {
+ "avatar_url": "string",
+ "id": 0,
+ "login": "string",
+ "name": "string",
+ "profile_url": "string"
+ },
+ "configure_url": "string",
+ "id": 0
+ }
+ ],
+ "user": {
+ "avatar_url": "string",
+ "id": 0,
+ "login": "string",
+ "name": "string",
+ "profile_url": "string"
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ------------------------------------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------- |
+|-------------------|---------------------------------------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------|
| `app_install_url` | string | false | | App install URL is the URL to install the app. |
| `app_installable` | boolean | false | | App installable is true if the request for app installs was successful. |
| `authenticated` | boolean | false | | |
@@ -2715,22 +2834,22 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "account": {
- "avatar_url": "string",
- "id": 0,
- "login": "string",
- "name": "string",
- "profile_url": "string"
- },
- "configure_url": "string",
- "id": 0
+ "account": {
+ "avatar_url": "string",
+ "id": 0,
+ "login": "string",
+ "name": "string",
+ "profile_url": "string"
+ },
+ "configure_url": "string",
+ "id": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------- | ------------------------------------------------------ | -------- | ------------ | ----------- |
+|-----------------|--------------------------------------------------------|----------|--------------|-------------|
| `account` | [codersdk.ExternalAuthUser](#codersdkexternalauthuser) | false | | |
| `configure_url` | string | false | | |
| `id` | integer | false | | |
@@ -2739,61 +2858,63 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "app_install_url": "string",
- "app_installations_url": "string",
- "auth_url": "string",
- "client_id": "string",
- "device_code_url": "string",
- "device_flow": true,
- "display_icon": "string",
- "display_name": "string",
- "id": "string",
- "no_refresh": true,
- "regex": "string",
- "scopes": ["string"],
- "token_url": "string",
- "type": "string",
- "validate_url": "string"
-}
-```
-
-### Properties
-
-| Name | Type | Required | Restrictions | Description |
-| -------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------- |
-| `app_install_url` | string | false | | |
-| `app_installations_url` | string | false | | |
-| `auth_url` | string | false | | |
-| `client_id` | string | false | | |
-| `device_code_url` | string | false | | |
-| `device_flow` | boolean | false | | |
-| `display_icon` | string | false | | Display icon is a URL to an icon to display in the UI. |
-| `display_name` | string | false | | Display name is shown in the UI to identify the auth config. |
-| `id` | string | false | | ID is a unique identifier for the auth config. It defaults to `type` when not provided. |
-| `no_refresh` | boolean | false | | |
-| `regex` | string | false | | Regex allows API requesters to match an auth config by a string (e.g. coder.com) instead of by it's type. |
-| Git clone makes use of this by parsing the URL from: 'Username for "https://github.com":' And sending it to the Coder server to match against the Regex. |
-| `scopes` | array of string | false | | |
-| `token_url` | string | false | | |
-| `type` | string | false | | Type is the type of external auth config. |
-| `validate_url` | string | false | | |
+ "app_install_url": "string",
+ "app_installations_url": "string",
+ "auth_url": "string",
+ "client_id": "string",
+ "device_code_url": "string",
+ "device_flow": true,
+ "display_icon": "string",
+ "display_name": "string",
+ "id": "string",
+ "no_refresh": true,
+ "regex": "string",
+ "scopes": [
+ "string"
+ ],
+ "token_url": "string",
+ "type": "string",
+ "validate_url": "string"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|-------------------------|---------|----------|--------------|-----------------------------------------------------------------------------------------|
+| `app_install_url` | string | false | | |
+| `app_installations_url` | string | false | | |
+| `auth_url` | string | false | | |
+| `client_id` | string | false | | |
+| `device_code_url` | string | false | | |
+| `device_flow` | boolean | false | | |
+| `display_icon` | string | false | | Display icon is a URL to an icon to display in the UI. |
+| `display_name` | string | false | | Display name is shown in the UI to identify the auth config. |
+| `id` | string | false | | ID is a unique identifier for the auth config. It defaults to `type` when not provided. |
+| `no_refresh` | boolean | false | | |
+|`regex`|string|false||Regex allows API requesters to match an auth config by a string (e.g. coder.com) instead of by it's type.
+Git clone makes use of this by parsing the URL from: 'Username for "https://github.com":' And sending it to the Coder server to match against the Regex.|
+|`scopes`|array of string|false|||
+|`token_url`|string|false|||
+|`type`|string|false||Type is the type of external auth config.|
+|`validate_url`|string|false|||
## codersdk.ExternalAuthDevice
```json
{
- "device_code": "string",
- "expires_in": 0,
- "interval": 0,
- "user_code": "string",
- "verification_uri": "string"
+ "device_code": "string",
+ "expires_in": 0,
+ "interval": 0,
+ "user_code": "string",
+ "verification_uri": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------- | -------- | ------------ | ----------- |
+|--------------------|---------|----------|--------------|-------------|
| `device_code` | string | false | | |
| `expires_in` | integer | false | | |
| `interval` | integer | false | | |
@@ -2804,20 +2925,20 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "authenticated": true,
- "created_at": "2019-08-24T14:15:22Z",
- "expires": "2019-08-24T14:15:22Z",
- "has_refresh_token": true,
- "provider_id": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "validate_error": "string"
+ "authenticated": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "expires": "2019-08-24T14:15:22Z",
+ "has_refresh_token": true,
+ "provider_id": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "validate_error": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ------- | -------- | ------------ | ----------- |
+|---------------------|---------|----------|--------------|-------------|
| `authenticated` | boolean | false | | |
| `created_at` | string | false | | |
| `expires` | string | false | | |
@@ -2830,18 +2951,18 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "avatar_url": "string",
- "id": 0,
- "login": "string",
- "name": "string",
- "profile_url": "string"
+ "avatar_url": "string",
+ "id": 0,
+ "login": "string",
+ "name": "string",
+ "profile_url": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | ------- | -------- | ------------ | ----------- |
+|---------------|---------|----------|--------------|-------------|
| `avatar_url` | string | false | | |
| `id` | integer | false | | |
| `login` | string | false | | |
@@ -2852,17 +2973,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "actual": 0,
- "enabled": true,
- "entitlement": "entitled",
- "limit": 0
+ "actual": 0,
+ "enabled": true,
+ "entitlement": "entitled",
+ "limit": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | -------------------------------------------- | -------- | ------------ | ----------- |
+|---------------|----------------------------------------------|----------|--------------|-------------|
| `actual` | integer | false | | |
| `enabled` | boolean | false | | |
| `entitlement` | [codersdk.Entitlement](#codersdkentitlement) | false | | |
@@ -2872,51 +2993,81 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "key": "string"
+ "key": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----- | ------ | -------- | ------------ | ----------- |
+|-------|--------|----------|--------------|-------------|
| `key` | string | false | | |
+## codersdk.GetUserStatusCountsResponse
+
+```json
+{
+ "status_counts": {
+ "property1": [
+ {
+ "count": 10,
+ "date": "2019-08-24T14:15:22Z"
+ }
+ ],
+ "property2": [
+ {
+ "count": 10,
+ "date": "2019-08-24T14:15:22Z"
+ }
+ ]
+ }
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|--------------------|---------------------------------------------------------------------------|----------|--------------|-------------|
+| `status_counts` | object | false | | |
+| » `[any property]` | array of [codersdk.UserStatusChangeCount](#codersdkuserstatuschangecount) | false | | |
+
## codersdk.GetUsersResponse
```json
{
- "count": 0,
- "users": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ]
+ "count": 0,
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | --------------------------------------- | -------- | ------------ | ----------- |
+|---------|-----------------------------------------|----------|--------------|-------------|
| `count` | integer | false | | |
| `users` | array of [codersdk.User](#codersdkuser) | false | | |
@@ -2924,17 +3075,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "public_key": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "created_at": "2019-08-24T14:15:22Z",
+ "public_key": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------ | -------- | ------------ | ----------- |
+|--------------|--------|----------|--------------|-------------|
| `created_at` | string | false | | |
| `public_key` | string | false | | |
| `updated_at` | string | false | | |
@@ -2944,38 +3095,38 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "avatar_url": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "members": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ],
- "name": "string",
- "organization_display_name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "quota_allowance": 0,
- "source": "user",
- "total_member_count": 0
+ "avatar_url": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "members": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ],
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "quota_allowance": 0,
+ "source": "user",
+ "total_member_count": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------------------- | ----------------------------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|-----------------------------|-------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `avatar_url` | string | false | | |
| `display_name` | string | false | | |
| `id` | string | false | | |
@@ -2999,7 +3150,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------ |
+|--------|
| `user` |
| `oidc` |
@@ -3007,29 +3158,33 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "auto_create_missing_groups": true,
- "field": "string",
- "legacy_group_name_mapping": {
- "property1": "string",
- "property2": "string"
- },
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- },
- "regex_filter": {}
+ "auto_create_missing_groups": true,
+ "field": "string",
+ "legacy_group_name_mapping": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "regex_filter": {}
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | ------------------------------ | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------------------------|--------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `auto_create_missing_groups` | boolean | false | | Auto create missing groups controls whether groups returned by the OIDC provider are automatically created in Coder if they are missing. |
-| `field` | string | false | | Field selects the claim field to be used as the created user's groups. If the group field is the empty string, then no group updates will ever come from the OIDC provider. |
+| `field` | string | false | | Field is the name of the claim field that specifies what groups a user should be in. If empty, no groups will be synced. |
| `legacy_group_name_mapping` | object | false | | Legacy group name mapping is deprecated. It remaps an IDP group name to a Coder group name. Since configuration is now done at runtime, group IDs are used to account for group renames. For legacy configurations, this config option has to remain. Deprecated: Use Mapping instead. |
| » `[any property]` | string | false | | |
-| `mapping` | object | false | | Mapping maps from an OIDC group --> Coder group ID |
+| `mapping` | object | false | | Mapping is a map from OIDC groups to Coder group IDs |
| » `[any property]` | array of string | false | | |
| `regex_filter` | [regexp.Regexp](#regexpregexp) | false | | Regex filter is a regular expression that filters the groups returned by the OIDC provider. Any group not matched by this regex will be ignored. If the group filter is nil, then no group filtering will occur. |
@@ -3037,16 +3192,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "interval": 0,
- "threshold": 0,
- "url": "string"
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------- | ------- | -------- | ------------ | ------------------------------------------------------------------------------------------------ |
+|-------------|---------|----------|--------------|--------------------------------------------------------------------------------------------------|
| `interval` | integer | false | | Interval specifies the seconds between each health check. |
| `threshold` | integer | false | | Threshold specifies the number of consecutive failed health checks before returning "unhealthy". |
| `url` | string | false | | URL specifies the endpoint to check for the app health. |
@@ -3055,15 +3210,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "refresh": 0,
- "threshold_database": 0
+ "refresh": 0,
+ "threshold_database": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------- | -------- | ------------ | ----------- |
+|----------------------|---------|----------|--------------|-------------|
| `refresh` | integer | false | | |
| `threshold_database` | integer | false | | |
@@ -3078,7 +3233,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------ |
+|--------|
| `day` |
| `week` |
@@ -3086,15 +3241,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "agentID": "bc282582-04f9-45ce-b904-3e3bfab66958",
- "url": "string"
+ "agentID": "bc282582-04f9-45ce-b904-3e3bfab66958",
+ "url": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------ | -------- | ------------ | ---------------------------------------------------------------------- |
+|-----------|--------|----------|--------------|------------------------------------------------------------------------|
| `agentID` | string | true | | |
| `url` | string | true | | URL is the URL of the reconnecting-pty endpoint you are connecting to. |
@@ -3102,33 +3257,33 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "signed_token": "string"
+ "signed_token": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `signed_token` | string | false | | |
## codersdk.JFrogXrayScan
```json
{
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "critical": 0,
- "high": 0,
- "medium": 0,
- "results_url": "string",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
+ "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
+ "critical": 0,
+ "high": 0,
+ "medium": 0,
+ "results_url": "string",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------- | -------- | ------------ | ----------- |
+|----------------|---------|----------|--------------|-------------|
| `agent_id` | string | false | | |
| `critical` | integer | false | | |
| `high` | integer | false | | |
@@ -3147,43 +3302,43 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ----------------------------- |
+|-------------------------------|
| `REQUIRED_TEMPLATE_VARIABLES` |
## codersdk.License
```json
{
- "claims": {},
- "id": 0,
- "uploaded_at": "2019-08-24T14:15:22Z",
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
+ "claims": {},
+ "id": 0,
+ "uploaded_at": "2019-08-24T14:15:22Z",
+ "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ------------- | ------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `claims` | object | false | | Claims are the JWT claims asserted by the license. Here we use a generic string map to ensure that all data from the server is parsed verbatim, not just the fields this version of Coder understands. |
-| `id` | integer | false | | |
-| `uploaded_at` | string | false | | |
-| `uuid` | string | false | | |
+| Name | Type | Required | Restrictions | Description |
+|---------------|---------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `claims` | object | false | | Claims are the JWT claims asserted by the license. Here we use a generic string map to ensure that all data from the server is parsed verbatim, not just the fields this version of Coder understands. |
+| `id` | integer | false | | |
+| `uploaded_at` | string | false | | |
+| `uuid` | string | false | | |
## codersdk.LinkConfig
```json
{
- "icon": "bug",
- "name": "string",
- "target": "string"
+ "icon": "bug",
+ "name": "string",
+ "target": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ------ | -------- | ------------ | ----------- |
+|----------|--------|----------|--------------|-------------|
| `icon` | string | false | | |
| `name` | string | false | | |
| `target` | string | false | | |
@@ -3191,7 +3346,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Property | Value |
-| -------- | ------ |
+|----------|--------|
| `icon` | `bug` |
| `icon` | `chat` |
| `icon` | `docs` |
@@ -3207,7 +3362,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------- |
+|---------|
| `trace` |
| `debug` |
| `info` |
@@ -3225,7 +3380,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| -------------------- |
+|----------------------|
| `provisioner_daemon` |
| `provisioner` |
@@ -3233,17 +3388,19 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "human": "string",
- "json": "string",
- "log_filter": ["string"],
- "stackdriver": "string"
+ "human": "string",
+ "json": "string",
+ "log_filter": [
+ "string"
+ ],
+ "stackdriver": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | --------------- | -------- | ------------ | ----------- |
+|---------------|-----------------|----------|--------------|-------------|
| `human` | string | false | | |
| `json` | string | false | | |
| `log_filter` | array of string | false | | |
@@ -3260,7 +3417,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ---------- |
+|------------|
| `` |
| `password` |
| `github` |
@@ -3272,15 +3429,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "email": "user@example.com",
- "password": "string"
+ "email": "user@example.com",
+ "password": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------- | ------ | -------- | ------------ | ----------- |
+|------------|--------|----------|--------------|-------------|
| `email` | string | true | | |
| `password` | string | true | | |
@@ -3288,30 +3445,30 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "session_token": "string"
+ "session_token": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------- | ------ | -------- | ------------ | ----------- |
+|-----------------|--------|----------|--------------|-------------|
| `session_token` | string | true | | |
## codersdk.MatchedProvisioners
```json
{
- "available": 0,
- "count": 0,
- "most_recently_seen": "2019-08-24T14:15:22Z"
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|----------------------|---------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. |
| `count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. |
| `most_recently_seen` | string | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. |
@@ -3320,17 +3477,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `display_name` | string | false | | |
| `icon` | string | false | | |
| `id` | string | true | | |
@@ -3340,16 +3497,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "avatar_url": "http://example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------ | -------- | ------------ | ----------- |
+|--------------|--------|----------|--------------|-------------|
| `avatar_url` | string | false | | |
| `id` | string | true | | |
| `username` | string | true | | |
@@ -3358,15 +3515,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "available": ["string"],
- "default": "string"
+ "available": [
+ "string"
+ ],
+ "default": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------- | --------------- | -------- | ------------ | ----------- |
+|-------------|-----------------|----------|--------------|-------------|
| `available` | array of string | false | | |
| `default` | string | false | | |
@@ -3374,16 +3533,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "disabled": true,
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "updated_at": "2019-08-24T14:15:22Z"
+ "disabled": true,
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------- | -------- | ------------ | ----------- |
+|--------------|---------|----------|--------------|-------------|
| `disabled` | boolean | false | | |
| `id` | string | false | | |
| `updated_at` | string | false | | |
@@ -3392,85 +3551,87 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "actions": "string",
- "body_template": "string",
- "group": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "kind": "string",
- "method": "string",
- "name": "string",
- "title_template": "string"
+ "actions": "string",
+ "body_template": "string",
+ "enabled_by_default": true,
+ "group": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "kind": "string",
+ "method": "string",
+ "name": "string",
+ "title_template": "string"
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ---------------- | ------ | -------- | ------------ | ----------- |
-| `actions` | string | false | | |
-| `body_template` | string | false | | |
-| `group` | string | false | | |
-| `id` | string | false | | |
-| `kind` | string | false | | |
-| `method` | string | false | | |
-| `name` | string | false | | |
-| `title_template` | string | false | | |
+| Name | Type | Required | Restrictions | Description |
+|----------------------|---------|----------|--------------|-------------|
+| `actions` | string | false | | |
+| `body_template` | string | false | | |
+| `enabled_by_default` | boolean | false | | |
+| `group` | string | false | | |
+| `id` | string | false | | |
+| `kind` | string | false | | |
+| `method` | string | false | | |
+| `name` | string | false | | |
+| `title_template` | string | false | | |
## codersdk.NotificationsConfig
```json
{
- "dispatch_timeout": 0,
- "email": {
- "auth": {
- "identity": "string",
- "password": "string",
- "password_file": "string",
- "username": "string"
- },
- "force_tls": true,
- "from": "string",
- "hello": "string",
- "smarthost": "string",
- "tls": {
- "ca_file": "string",
- "cert_file": "string",
- "insecure_skip_verify": true,
- "key_file": "string",
- "server_name": "string",
- "start_tls": true
- }
- },
- "fetch_interval": 0,
- "lease_count": 0,
- "lease_period": 0,
- "max_send_attempts": 0,
- "method": "string",
- "retry_interval": 0,
- "sync_buffer_size": 0,
- "sync_interval": 0,
- "webhook": {
- "endpoint": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- }
- }
+ "dispatch_timeout": 0,
+ "email": {
+ "auth": {
+ "identity": "string",
+ "password": "string",
+ "password_file": "string",
+ "username": "string"
+ },
+ "force_tls": true,
+ "from": "string",
+ "hello": "string",
+ "smarthost": "string",
+ "tls": {
+ "ca_file": "string",
+ "cert_file": "string",
+ "insecure_skip_verify": true,
+ "key_file": "string",
+ "server_name": "string",
+ "start_tls": true
+ }
+ },
+ "fetch_interval": 0,
+ "lease_count": 0,
+ "lease_period": 0,
+ "max_send_attempts": 0,
+ "method": "string",
+ "retry_interval": 0,
+ "sync_buffer_size": 0,
+ "sync_interval": 0,
+ "webhook": {
+ "endpoint": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ }
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | -------------------------------------------------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|---------------------|----------------------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `dispatch_timeout` | integer | false | | How long to wait while a notification is being sent before giving up. |
| `email` | [codersdk.NotificationsEmailConfig](#codersdknotificationsemailconfig) | false | | Email settings. |
| `fetch_interval` | integer | false | | How often to query the database for queued notifications. |
@@ -3487,17 +3648,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "identity": "string",
- "password": "string",
- "password_file": "string",
- "username": "string"
+ "identity": "string",
+ "password": "string",
+ "password_file": "string",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------- | ------ | -------- | ------------ | ---------------------------------------------------------- |
+|-----------------|--------|----------|--------------|------------------------------------------------------------|
| `identity` | string | false | | Identity for PLAIN auth. |
| `password` | string | false | | Password for LOGIN/PLAIN auth. |
| `password_file` | string | false | | File from which to load the password for LOGIN/PLAIN auth. |
@@ -3507,31 +3668,31 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "auth": {
- "identity": "string",
- "password": "string",
- "password_file": "string",
- "username": "string"
- },
- "force_tls": true,
- "from": "string",
- "hello": "string",
- "smarthost": "string",
- "tls": {
- "ca_file": "string",
- "cert_file": "string",
- "insecure_skip_verify": true,
- "key_file": "string",
- "server_name": "string",
- "start_tls": true
- }
+ "auth": {
+ "identity": "string",
+ "password": "string",
+ "password_file": "string",
+ "username": "string"
+ },
+ "force_tls": true,
+ "from": "string",
+ "hello": "string",
+ "smarthost": "string",
+ "tls": {
+ "ca_file": "string",
+ "cert_file": "string",
+ "insecure_skip_verify": true,
+ "key_file": "string",
+ "server_name": "string",
+ "start_tls": true
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------- | ------------------------------------------------------------------------------ | -------- | ------------ | --------------------------------------------------------------------- |
+|-------------|--------------------------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------|
| `auth` | [codersdk.NotificationsEmailAuthConfig](#codersdknotificationsemailauthconfig) | false | | Authentication details. |
| `force_tls` | boolean | false | | Force tls causes a TLS connection to be attempted. |
| `from` | string | false | | The sender's address. |
@@ -3543,19 +3704,19 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "ca_file": "string",
- "cert_file": "string",
- "insecure_skip_verify": true,
- "key_file": "string",
- "server_name": "string",
- "start_tls": true
+ "ca_file": "string",
+ "cert_file": "string",
+ "insecure_skip_verify": true,
+ "key_file": "string",
+ "server_name": "string",
+ "start_tls": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | ------- | -------- | ------------ | ------------------------------------------------------------ |
+|------------------------|---------|----------|--------------|--------------------------------------------------------------|
| `ca_file` | string | false | | Ca file specifies the location of the CA certificate to use. |
| `cert_file` | string | false | | Cert file specifies the location of the certificate to use. |
| `insecure_skip_verify` | boolean | false | | Insecure skip verify skips target certificate validation. |
@@ -3567,56 +3728,56 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "notifier_paused": true
+ "notifier_paused": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ------- | -------- | ------------ | ----------- |
+|-------------------|---------|----------|--------------|-------------|
| `notifier_paused` | boolean | false | | |
## codersdk.NotificationsWebhookConfig
```json
{
- "endpoint": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- }
+ "endpoint": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------- | -------------------------- | -------- | ------------ | -------------------------------------------------------------------- |
+|------------|----------------------------|----------|--------------|----------------------------------------------------------------------|
| `endpoint` | [serpent.URL](#serpenturl) | false | | The URL to which the payload will be sent with an HTTP POST request. |
## codersdk.OAuth2AppEndpoints
```json
{
- "authorization": "string",
- "device_authorization": "string",
- "token": "string"
+ "authorization": "string",
+ "device_authorization": "string",
+ "token": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | ------ | -------- | ------------ | --------------------------------- |
+|------------------------|--------|----------|--------------|-----------------------------------|
| `authorization` | string | false | | |
| `device_authorization` | string | false | | Device authorization is optional. |
| `token` | string | false | | |
@@ -3625,42 +3786,50 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "github": {
- "allow_everyone": true,
- "allow_signups": true,
- "allowed_orgs": ["string"],
- "allowed_teams": ["string"],
- "client_id": "string",
- "client_secret": "string",
- "enterprise_base_url": "string"
- }
+ "github": {
+ "allow_everyone": true,
+ "allow_signups": true,
+ "allowed_orgs": [
+ "string"
+ ],
+ "allowed_teams": [
+ "string"
+ ],
+ "client_id": "string",
+ "client_secret": "string",
+ "enterprise_base_url": "string"
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ---------------------------------------------------------- | -------- | ------------ | ----------- |
+|----------|------------------------------------------------------------|----------|--------------|-------------|
| `github` | [codersdk.OAuth2GithubConfig](#codersdkoauth2githubconfig) | false | | |
## codersdk.OAuth2GithubConfig
```json
{
- "allow_everyone": true,
- "allow_signups": true,
- "allowed_orgs": ["string"],
- "allowed_teams": ["string"],
- "client_id": "string",
- "client_secret": "string",
- "enterprise_base_url": "string"
+ "allow_everyone": true,
+ "allow_signups": true,
+ "allowed_orgs": [
+ "string"
+ ],
+ "allowed_teams": [
+ "string"
+ ],
+ "client_id": "string",
+ "client_secret": "string",
+ "enterprise_base_url": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------------- | --------------- | -------- | ------------ | ----------- |
+|-----------------------|-----------------|----------|--------------|-------------|
| `allow_everyone` | boolean | false | | |
| `allow_signups` | boolean | false | | |
| `allowed_orgs` | array of string | false | | |
@@ -3673,22 +3842,22 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "callback_url": "string",
- "endpoints": {
- "authorization": "string",
- "device_authorization": "string",
- "token": "string"
- },
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
+ "callback_url": "string",
+ "endpoints": {
+ "authorization": "string",
+ "device_authorization": "string",
+ "token": "string"
+ },
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ---------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|----------------|------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `callback_url` | string | false | | |
| `endpoints` | [codersdk.OAuth2AppEndpoints](#codersdkoauth2appendpoints) | false | | Endpoints are included in the app response for easier discovery. The OAuth2 spec does not have a defined place to find these (for comparison, OIDC has a '/.well-known/openid-configuration' endpoint). |
| `icon` | string | false | | |
@@ -3699,16 +3868,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "client_secret_truncated": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "string"
+ "client_secret_truncated": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------------- | ------ | -------- | ------------ | ----------- |
+|---------------------------|--------|----------|--------------|-------------|
| `client_secret_truncated` | string | false | | |
| `id` | string | false | | |
| `last_used_at` | string | false | | |
@@ -3717,15 +3886,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "client_secret_full": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ "client_secret_full": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------ | -------- | ------------ | ----------- |
+|----------------------|--------|----------|--------------|-------------|
| `client_secret_full` | string | false | | |
| `id` | string | false | | |
@@ -3733,17 +3902,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "expires_at": "2019-08-24T14:15:22Z",
- "state_string": "string",
- "to_type": "",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "expires_at": "2019-08-24T14:15:22Z",
+ "state_string": "string",
+ "to_type": "",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ---------------------------------------- | -------- | ------------ | ----------- |
+|----------------|------------------------------------------|----------|--------------|-------------|
| `expires_at` | string | false | | |
| `state_string` | string | false | | |
| `to_type` | [codersdk.LoginType](#codersdklogintype) | false | | |
@@ -3753,16 +3922,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "enabled": true,
- "iconUrl": "string",
- "signInText": "string"
+ "enabled": true,
+ "iconUrl": "string",
+ "signInText": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------- | -------- | ------------ | ----------- |
+|--------------|---------|----------|--------------|-------------|
| `enabled` | boolean | false | | |
| `iconUrl` | string | false | | |
| `signInText` | string | false | | |
@@ -3771,54 +3940,62 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "allow_signups": true,
- "auth_url_params": {},
- "client_cert_file": "string",
- "client_id": "string",
- "client_key_file": "string",
- "client_secret": "string",
- "email_domain": ["string"],
- "email_field": "string",
- "group_allow_list": ["string"],
- "group_auto_create": true,
- "group_mapping": {},
- "group_regex_filter": {},
- "groups_field": "string",
- "icon_url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- },
- "ignore_email_verified": true,
- "ignore_user_info": true,
- "issuer_url": "string",
- "name_field": "string",
- "organization_assign_default": true,
- "organization_field": "string",
- "organization_mapping": {},
- "scopes": ["string"],
- "sign_in_text": "string",
- "signups_disabled_text": "string",
- "skip_issuer_checks": true,
- "user_role_field": "string",
- "user_role_mapping": {},
- "user_roles_default": ["string"],
- "username_field": "string"
+ "allow_signups": true,
+ "auth_url_params": {},
+ "client_cert_file": "string",
+ "client_id": "string",
+ "client_key_file": "string",
+ "client_secret": "string",
+ "email_domain": [
+ "string"
+ ],
+ "email_field": "string",
+ "group_allow_list": [
+ "string"
+ ],
+ "group_auto_create": true,
+ "group_mapping": {},
+ "group_regex_filter": {},
+ "groups_field": "string",
+ "icon_url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ },
+ "ignore_email_verified": true,
+ "ignore_user_info": true,
+ "issuer_url": "string",
+ "name_field": "string",
+ "organization_assign_default": true,
+ "organization_field": "string",
+ "organization_mapping": {},
+ "scopes": [
+ "string"
+ ],
+ "sign_in_text": "string",
+ "signups_disabled_text": "string",
+ "skip_issuer_checks": true,
+ "user_role_field": "string",
+ "user_role_mapping": {},
+ "user_roles_default": [
+ "string"
+ ],
+ "username_field": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------------- | -------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------- |
+|-------------------------------|----------------------------------|----------|--------------|----------------------------------------------------------------------------------|
| `allow_signups` | boolean | false | | |
| `auth_url_params` | object | false | | |
| `client_cert_file` | string | false | | |
@@ -3853,21 +4030,21 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "is_default": true,
- "name": "string",
- "updated_at": "2019-08-24T14:15:22Z"
+ "created_at": "2019-08-24T14:15:22Z",
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "is_default": true,
+ "name": "string",
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------- | -------- | ------------ | ----------- |
+|----------------|---------|----------|--------------|-------------|
| `created_at` | string | true | | |
| `description` | string | false | | |
| `display_name` | string | false | | |
@@ -3881,24 +4058,24 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "created_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ----------------------------------------------- | -------- | ------------ | ----------- |
+|-------------------|-------------------------------------------------|----------|--------------|-------------|
| `created_at` | string | false | | |
| `organization_id` | string | false | | |
| `roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | |
@@ -3909,35 +4086,35 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "avatar_url": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "string",
- "global_roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
+ "avatar_url": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "string",
+ "global_roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ----------------------------------------------- | -------- | ------------ | ----------- |
+|-------------------|-------------------------------------------------|----------|--------------|-------------|
| `avatar_url` | string | false | | |
| `created_at` | string | false | | |
| `email` | string | false | | |
@@ -3953,41 +4130,97 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "field": "string",
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- },
- "organization_assign_default": true
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ },
+ "organization_assign_default": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------------- | --------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|-------------------------------|-----------------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `field` | string | false | | Field selects the claim field to be used as the created user's organizations. If the field is the empty string, then no organization updates will ever come from the OIDC provider. |
| `mapping` | object | false | | Mapping maps from an OIDC claim --> Coder organization uuid |
| » `[any property]` | array of string | false | | |
| `organization_assign_default` | boolean | false | | Organization assign default will ensure the default org is always included for every user, regardless of their claims. This preserves legacy behavior. |
+## codersdk.PatchGroupIDPSyncConfigRequest
+
+```json
+{
+ "auto_create_missing_groups": true,
+ "field": "string",
+ "regex_filter": {}
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|------------------------------|--------------------------------|----------|--------------|-------------|
+| `auto_create_missing_groups` | boolean | false | | |
+| `field` | string | false | | |
+| `regex_filter` | [regexp.Regexp](#regexpregexp) | false | | |
+
+## codersdk.PatchGroupIDPSyncMappingRequest
+
+```json
+{
+ "add": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ],
+ "remove": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ]
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|-----------|-----------------|----------|--------------|----------------------------------------------------------|
+| `add` | array of object | false | | |
+| `» gets` | string | false | | The ID of the Coder resource the user should be added to |
+| `» given` | string | false | | The IdP claim the user has |
+| `remove` | array of object | false | | |
+| `» gets` | string | false | | The ID of the Coder resource the user should be added to |
+| `» given` | string | false | | The IdP claim the user has |
+
## codersdk.PatchGroupRequest
```json
{
- "add_users": ["string"],
- "avatar_url": "string",
- "display_name": "string",
- "name": "string",
- "quota_allowance": 0,
- "remove_users": ["string"]
+ "add_users": [
+ "string"
+ ],
+ "avatar_url": "string",
+ "display_name": "string",
+ "name": "string",
+ "quota_allowance": 0,
+ "remove_users": [
+ "string"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | --------------- | -------- | ------------ | ----------- |
+|-------------------|-----------------|----------|--------------|-------------|
| `add_users` | array of string | false | | |
| `avatar_url` | string | false | | |
| `display_name` | string | false | | |
@@ -3995,19 +4228,109 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
| `quota_allowance` | integer | false | | |
| `remove_users` | array of string | false | | |
+## codersdk.PatchOrganizationIDPSyncConfigRequest
+
+```json
+{
+ "assign_default": true,
+ "field": "string"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|------------------|---------|----------|--------------|-------------|
+| `assign_default` | boolean | false | | |
+| `field` | string | false | | |
+
+## codersdk.PatchOrganizationIDPSyncMappingRequest
+
+```json
+{
+ "add": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ],
+ "remove": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ]
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|-----------|-----------------|----------|--------------|----------------------------------------------------------|
+| `add` | array of object | false | | |
+| `» gets` | string | false | | The ID of the Coder resource the user should be added to |
+| `» given` | string | false | | The IdP claim the user has |
+| `remove` | array of object | false | | |
+| `» gets` | string | false | | The ID of the Coder resource the user should be added to |
+| `» given` | string | false | | The IdP claim the user has |
+
+## codersdk.PatchRoleIDPSyncConfigRequest
+
+```json
+{
+ "field": "string"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|---------|--------|----------|--------------|-------------|
+| `field` | string | false | | |
+
+## codersdk.PatchRoleIDPSyncMappingRequest
+
+```json
+{
+ "add": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ],
+ "remove": [
+ {
+ "gets": "string",
+ "given": "string"
+ }
+ ]
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|-----------|-----------------|----------|--------------|----------------------------------------------------------|
+| `add` | array of object | false | | |
+| `» gets` | string | false | | The ID of the Coder resource the user should be added to |
+| `» given` | string | false | | The IdP claim the user has |
+| `remove` | array of object | false | | |
+| `» gets` | string | false | | The ID of the Coder resource the user should be added to |
+| `» given` | string | false | | The IdP claim the user has |
+
## codersdk.PatchTemplateVersionRequest
```json
{
- "message": "string",
- "name": "string"
+ "message": "string",
+ "name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------ | -------- | ------------ | ----------- |
+|-----------|--------|----------|--------------|-------------|
| `message` | string | false | | |
| `name` | string | false | | |
@@ -4015,18 +4338,18 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "regenerate_token": true
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "regenerate_token": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------- | -------- | ------------ | ----------- |
+|--------------------|---------|----------|--------------|-------------|
| `display_name` | string | true | | |
| `icon` | string | true | | |
| `id` | string | true | | |
@@ -4037,16 +4360,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------- | ---------------------------------------------- | -------- | ------------ | --------------------------------------- |
+|-----------------|------------------------------------------------|----------|--------------|-----------------------------------------|
| `action` | [codersdk.RBACAction](#codersdkrbacaction) | false | | |
| `negate` | boolean | false | | Negate makes this a negative permission |
| `resource_type` | [codersdk.RBACResource](#codersdkrbacresource) | false | | |
@@ -4055,16 +4378,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "callback_url": "string",
- "icon": "string",
- "name": "string"
+ "callback_url": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `callback_url` | string | true | | |
| `icon` | string | false | | |
| `name` | string | true | | |
@@ -4073,15 +4396,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "app_name": "vscode"
+ "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
+ "app_name": "vscode"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------- | ---------------------------------------------- | -------- | ------------ | ----------- |
+|------------|------------------------------------------------|----------|--------------|-------------|
| `agent_id` | string | false | | |
| `app_name` | [codersdk.UsageAppName](#codersdkusageappname) | false | | |
@@ -4089,18 +4412,18 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "address": {
- "host": "string",
- "port": "string"
- },
- "enable": true
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "enable": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------------------------------------ | -------- | ------------ | ----------- |
+|-----------|--------------------------------------|----------|--------------|-------------|
| `address` | [serpent.HostPort](#serpenthostport) | false | | |
| `enable` | boolean | false | | |
@@ -4108,21 +4431,23 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "address": {
- "host": "string",
- "port": "string"
- },
- "aggregate_agent_stats_by": ["string"],
- "collect_agent_stats": true,
- "collect_db_metrics": true,
- "enable": true
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "aggregate_agent_stats_by": [
+ "string"
+ ],
+ "collect_agent_stats": true,
+ "collect_db_metrics": true,
+ "enable": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------------- | ------------------------------------ | -------- | ------------ | ----------- |
+|----------------------------|--------------------------------------|----------|--------------|-------------|
| `address` | [serpent.HostPort](#serpenthostport) | false | | |
| `aggregate_agent_stats_by` | array of string | false | | |
| `collect_agent_stats` | boolean | false | | |
@@ -4133,19 +4458,21 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "daemon_poll_interval": 0,
- "daemon_poll_jitter": 0,
- "daemon_psk": "string",
- "daemon_types": ["string"],
- "daemons": 0,
- "force_cancel_interval": 0
+ "daemon_poll_interval": 0,
+ "daemon_poll_jitter": 0,
+ "daemon_psk": "string",
+ "daemon_types": [
+ "string"
+ ],
+ "daemons": 0,
+ "force_cancel_interval": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | --------------- | -------- | ------------ | --------------------------------------------------------- |
+|-------------------------|-----------------|----------|--------------|-----------------------------------------------------------|
| `daemon_poll_interval` | integer | false | | |
| `daemon_poll_jitter` | integer | false | | |
| `daemon_psk` | string | false | | |
@@ -4157,84 +4484,165 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "api_version": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "provisioners": ["string"],
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "version": "string"
+ "api_version": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "current_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
+ "key_name": "string",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "previous_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "provisioners": [
+ "string"
+ ],
+ "status": "offline",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "version": "string"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|--------------------|----------------------------------------------------------------------|----------|--------------|------------------|
+| `api_version` | string | false | | |
+| `created_at` | string | false | | |
+| `current_job` | [codersdk.ProvisionerDaemonJob](#codersdkprovisionerdaemonjob) | false | | |
+| `id` | string | false | | |
+| `key_id` | string | false | | |
+| `key_name` | string | false | | Optional fields. |
+| `last_seen_at` | string | false | | |
+| `name` | string | false | | |
+| `organization_id` | string | false | | |
+| `previous_job` | [codersdk.ProvisionerDaemonJob](#codersdkprovisionerdaemonjob) | false | | |
+| `provisioners` | array of string | false | | |
+| `status` | [codersdk.ProvisionerDaemonStatus](#codersdkprovisionerdaemonstatus) | false | | |
+| `tags` | object | false | | |
+| » `[any property]` | string | false | | |
+| `version` | string | false | | |
+
+#### Enumerated Values
+
+| Property | Value |
+|----------|-----------|
+| `status` | `offline` |
+| `status` | `idle` |
+| `status` | `busy` |
+
+## codersdk.ProvisionerDaemonJob
+
+```json
+{
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ------------------ | --------------- | -------- | ------------ | ----------- |
-| `api_version` | string | false | | |
-| `created_at` | string | false | | |
-| `id` | string | false | | |
-| `key_id` | string | false | | |
-| `last_seen_at` | string | false | | |
-| `name` | string | false | | |
-| `organization_id` | string | false | | |
-| `provisioners` | array of string | false | | |
-| `tags` | object | false | | |
-| » `[any property]` | string | false | | |
-| `version` | string | false | | |
+| Name | Type | Required | Restrictions | Description |
+|----------|----------------------------------------------------------------|----------|--------------|-------------|
+| `id` | string | false | | |
+| `status` | [codersdk.ProvisionerJobStatus](#codersdkprovisionerjobstatus) | false | | |
+
+#### Enumerated Values
+
+| Property | Value |
+|----------|-------------|
+| `status` | `pending` |
+| `status` | `running` |
+| `status` | `succeeded` |
+| `status` | `canceling` |
+| `status` | `canceled` |
+| `status` | `failed` |
+
+## codersdk.ProvisionerDaemonStatus
+
+```json
+"offline"
+```
+
+### Properties
+
+#### Enumerated Values
+
+| Value |
+|-----------|
+| `offline` |
+| `idle` |
+| `busy` |
## codersdk.ProvisionerJob
```json
{
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
-}
-```
-
-### Properties
-
-| Name | Type | Required | Restrictions | Description |
-| ------------------ | -------------------------------------------------------------- | -------- | ------------ | ----------- |
-| `canceled_at` | string | false | | |
-| `completed_at` | string | false | | |
-| `created_at` | string | false | | |
-| `error` | string | false | | |
-| `error_code` | [codersdk.JobErrorCode](#codersdkjoberrorcode) | false | | |
-| `file_id` | string | false | | |
-| `id` | string | false | | |
-| `queue_position` | integer | false | | |
-| `queue_size` | integer | false | | |
-| `started_at` | string | false | | |
-| `status` | [codersdk.ProvisionerJobStatus](#codersdkprovisionerjobstatus) | false | | |
-| `tags` | object | false | | |
-| » `[any property]` | string | false | | |
-| `worker_id` | string | false | | |
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|---------------------|----------------------------------------------------------------|----------|--------------|-------------|
+| `available_workers` | array of string | false | | |
+| `canceled_at` | string | false | | |
+| `completed_at` | string | false | | |
+| `created_at` | string | false | | |
+| `error` | string | false | | |
+| `error_code` | [codersdk.JobErrorCode](#codersdkjoberrorcode) | false | | |
+| `file_id` | string | false | | |
+| `id` | string | false | | |
+| `input` | [codersdk.ProvisionerJobInput](#codersdkprovisionerjobinput) | false | | |
+| `organization_id` | string | false | | |
+| `queue_position` | integer | false | | |
+| `queue_size` | integer | false | | |
+| `started_at` | string | false | | |
+| `status` | [codersdk.ProvisionerJobStatus](#codersdkprovisionerjobstatus) | false | | |
+| `tags` | object | false | | |
+| » `[any property]` | string | false | | |
+| `type` | [codersdk.ProvisionerJobType](#codersdkprovisionerjobtype) | false | | |
+| `worker_id` | string | false | | |
#### Enumerated Values
| Property | Value |
-| ------------ | ----------------------------- |
+|--------------|-------------------------------|
| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` |
| `status` | `pending` |
| `status` | `running` |
@@ -4243,23 +4651,41 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
| `status` | `canceled` |
| `status` | `failed` |
+## codersdk.ProvisionerJobInput
+
+```json
+{
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|-----------------------|--------|----------|--------------|-------------|
+| `error` | string | false | | |
+| `template_version_id` | string | false | | |
+| `workspace_build_id` | string | false | | |
+
## codersdk.ProvisionerJobLog
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "log_level": "trace",
- "log_source": "provisioner_daemon",
- "output": "string",
- "stage": "string"
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": 0,
+ "log_level": "trace",
+ "log_source": "provisioner_daemon",
+ "output": "string",
+ "stage": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ---------------------------------------- | -------- | ------------ | ----------- |
+|--------------|------------------------------------------|----------|--------------|-------------|
| `created_at` | string | false | | |
| `id` | integer | false | | |
| `log_level` | [codersdk.LogLevel](#codersdkloglevel) | false | | |
@@ -4270,7 +4696,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Property | Value |
-| ----------- | ------- |
+|-------------|---------|
| `log_level` | `trace` |
| `log_level` | `debug` |
| `log_level` | `info` |
@@ -4288,7 +4714,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ----------- |
+|-------------|
| `pending` |
| `running` |
| `succeeded` |
@@ -4297,25 +4723,41 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
| `failed` |
| `unknown` |
+## codersdk.ProvisionerJobType
+
+```json
+"template_version_import"
+```
+
+### Properties
+
+#### Enumerated Values
+
+| Value |
+|----------------------------|
+| `template_version_import` |
+| `workspace_build` |
+| `template_version_dry_run` |
+
## codersdk.ProvisionerKey
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
- "tags": {
- "property1": "string",
- "property2": "string"
- }
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ---------------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------|------------------------------------------------------------|----------|--------------|-------------|
| `created_at` | string | false | | |
| `id` | string | false | | |
| `name` | string | false | | |
@@ -4326,40 +4768,52 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "daemons": [
- {
- "api_version": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "provisioners": ["string"],
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "version": "string"
- }
- ],
- "key": {
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
- "tags": {
- "property1": "string",
- "property2": "string"
- }
- }
+ "daemons": [
+ {
+ "api_version": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "current_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
+ "key_name": "string",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "previous_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "provisioners": [
+ "string"
+ ],
+ "status": "offline",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "version": "string"
+ }
+ ],
+ "key": {
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "organization": "452c1a86-a0af-475b-b03f-724878b0f387",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ }
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ----------------------------------------------------------------- | -------- | ------------ | ----------- |
+|-----------|-------------------------------------------------------------------|----------|--------------|-------------|
| `daemons` | array of [codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon) | false | | |
| `key` | [codersdk.ProvisionerKey](#codersdkprovisionerkey) | false | | |
@@ -4367,15 +4821,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "property1": "string",
- "property2": "string"
+ "property1": "string",
+ "property2": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ------ | -------- | ------------ | ----------- |
+|------------------|--------|----------|--------------|-------------|
| `[any property]` | string | false | | |
## codersdk.ProvisionerLogLevel
@@ -4389,7 +4843,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------- |
+|---------|
| `debug` |
## codersdk.ProvisionerStorageMethod
@@ -4403,27 +4857,27 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------ |
+|--------|
| `file` |
## codersdk.ProvisionerTiming
```json
{
- "action": "string",
- "ended_at": "2019-08-24T14:15:22Z",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "resource": "string",
- "source": "string",
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z"
+ "action": "string",
+ "ended_at": "2019-08-24T14:15:22Z",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "resource": "string",
+ "source": "string",
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | -------------------------------------------- | -------- | ------------ | ----------- |
+|--------------|----------------------------------------------|----------|--------------|-------------|
| `action` | string | false | | |
| `ended_at` | string | false | | |
| `job_id` | string | false | | |
@@ -4436,15 +4890,19 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "errors": ["string"],
- "warnings": ["string"]
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------- | --------------- | -------- | ------------ | ---------------------------------------------------------------------------------------- |
+|------------|-----------------|----------|--------------|------------------------------------------------------------------------------------------|
| `errors` | array of string | false | | Errors are problems that prevent the workspace proxy from being healthy |
| `warnings` | array of string | false | | Warnings do not prevent the workspace proxy from being healthy, but should be addressed. |
@@ -4459,7 +4917,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| -------------- |
+|----------------|
| `ok` |
| `unreachable` |
| `unhealthy` |
@@ -4469,30 +4927,30 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "deadline": "2019-08-24T14:15:22Z"
+ "deadline": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------- | ------ | -------- | ------------ | ----------- |
+|------------|--------|----------|--------------|-------------|
| `deadline` | string | true | | |
## codersdk.PutOAuth2ProviderAppRequest
```json
{
- "callback_url": "string",
- "icon": "string",
- "name": "string"
+ "callback_url": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `callback_url` | string | true | | |
| `icon` | string | false | | |
| `name` | string | true | | |
@@ -4508,7 +4966,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| --------------------- |
+|-----------------------|
| `application_connect` |
| `assign` |
| `create` |
@@ -4534,7 +4992,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------------------------- |
+|---------------------------|
| `*` |
| `api_key` |
| `assign_org_role` |
@@ -4558,6 +5016,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
| `organization` |
| `organization_member` |
| `provisioner_daemon` |
+| `provisioner_jobs` |
| `provisioner_keys` |
| `replicas` |
| `system` |
@@ -4572,15 +5031,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "api": 0,
- "disable_all": true
+ "api": 0,
+ "disable_all": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | ------- | -------- | ------------ | ----------- |
+|---------------|---------|----------|--------------|-------------|
| `api` | integer | false | | |
| `disable_all` | boolean | false | | |
@@ -4588,24 +5047,24 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------------------------------------------ | -------- | ------------ | ----------- |
+|--------------------|--------------------------------------------|----------|--------------|-------------|
| `avatar_url` | string | false | | |
| `created_at` | string | true | | |
| `email` | string | true | | |
@@ -4621,7 +5080,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Property | Value |
-| -------- | ----------- |
+|----------|-------------|
| `status` | `active` |
| `status` | `suspended` |
@@ -4629,108 +5088,112 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "wildcard_hostname": "string"
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "wildcard_hostname": "string"
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ------------------- | ------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `display_name` | string | false | | |
-| `healthy` | boolean | false | | |
-| `icon_url` | string | false | | |
-| `id` | string | false | | |
-| `name` | string | false | | |
-| `path_app_url` | string | false | | Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com |
-| `wildcard_hostname` | string | false | | Wildcard hostname is the wildcard hostname for subdomain apps. E.g. _.us.example.com E.g. _--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL. |
+| Name | Type | Required | Restrictions | Description |
+|---------------------|---------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `display_name` | string | false | | |
+| `healthy` | boolean | false | | |
+| `icon_url` | string | false | | |
+| `id` | string | false | | |
+| `name` | string | false | | |
+| `path_app_url` | string | false | | Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com |
+| `wildcard_hostname` | string | false | | Wildcard hostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g.*--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL. |
## codersdk.RegionsResponse-codersdk_Region
```json
{
- "regions": [
- {
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "wildcard_hostname": "string"
- }
- ]
+ "regions": [
+ {
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "wildcard_hostname": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------------------------------------------- | -------- | ------------ | ----------- |
+|-----------|---------------------------------------------|----------|--------------|-------------|
| `regions` | array of [codersdk.Region](#codersdkregion) | false | | |
## codersdk.RegionsResponse-codersdk_WorkspaceProxy
```json
{
- "regions": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "deleted": true,
- "derp_enabled": true,
- "derp_only": true,
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "status": {
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
- },
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string",
- "wildcard_hostname": "string"
- }
- ]
+ "regions": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleted": true,
+ "derp_enabled": true,
+ "derp_only": true,
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "status": {
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
+ },
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string",
+ "wildcard_hostname": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ----------------------------------------------------------- | -------- | ------------ | ----------- |
+|-----------|-------------------------------------------------------------|----------|--------------|-------------|
| `regions` | array of [codersdk.WorkspaceProxy](#codersdkworkspaceproxy) | false | | |
## codersdk.Replica
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "database_latency": 0,
- "error": "string",
- "hostname": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "region_id": 0,
- "relay_address": "string"
+ "created_at": "2019-08-24T14:15:22Z",
+ "database_latency": 0,
+ "error": "string",
+ "hostname": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "region_id": 0,
+ "relay_address": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------- | -------- | ------------ | ------------------------------------------------------------------ |
+|--------------------|---------|----------|--------------|--------------------------------------------------------------------|
| `created_at` | string | false | | Created at is the timestamp when the replica was first seen. |
| `database_latency` | integer | false | | Database latency is the latency in microseconds to the database. |
| `error` | string | false | | Error is the replica error. |
@@ -4743,28 +5206,28 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "email": "user@example.com"
+ "email": "user@example.com"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | ------ | -------- | ------------ | ----------- |
+|---------|--------|----------|--------------|-------------|
| `email` | string | true | | |
## codersdk.ResolveAutostartResponse
```json
{
- "parameter_mismatch": true
+ "parameter_mismatch": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------- | -------- | ------------ | ----------- |
+|----------------------|---------|----------|--------------|-------------|
| `parameter_mismatch` | boolean | false | | |
## codersdk.ResourceType
@@ -4777,45 +5240,50 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
-| Value |
-| ---------------------------- |
-| `template` |
-| `template_version` |
-| `user` |
-| `workspace` |
-| `workspace_build` |
-| `git_ssh_key` |
-| `api_key` |
-| `group` |
-| `license` |
-| `convert_login` |
-| `health_settings` |
-| `notifications_settings` |
-| `workspace_proxy` |
-| `organization` |
-| `oauth2_provider_app` |
-| `oauth2_provider_app_secret` |
-| `custom_role` |
+| Value |
+|----------------------------------|
+| `template` |
+| `template_version` |
+| `user` |
+| `workspace` |
+| `workspace_build` |
+| `git_ssh_key` |
+| `api_key` |
+| `group` |
+| `license` |
+| `convert_login` |
+| `health_settings` |
+| `notifications_settings` |
+| `workspace_proxy` |
+| `organization` |
+| `oauth2_provider_app` |
+| `oauth2_provider_app_secret` |
+| `custom_role` |
+| `organization_member` |
+| `notification_template` |
+| `idp_sync_settings_organization` |
+| `idp_sync_settings_group` |
+| `idp_sync_settings_role` |
## codersdk.Response
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | ------------------------------------------------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|---------------|---------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `detail` | string | false | | Detail is a debug message that provides further insight into why the action failed. This information can be technical and a regular golang err.Error() text. - "database: too many open connections" - "stat: too many open files" |
| `message` | string | false | | Message is an actionable message that depicts actions the request took. These messages should be fully formed sentences with proper punctuation. Examples: - "A user has been created." - "Failed to create a user." |
| `validations` | array of [codersdk.ValidationError](#codersdkvalidationerror) | false | | Validations are form field-specific friendly error messages. They will be shown on a form field in the UI. These can also be used to add additional context if there is a set of errors in the primary 'Message'. |
@@ -4824,37 +5292,37 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "display_name": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "site_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ],
- "user_permissions": [
- {
- "action": "application_connect",
- "negate": true,
- "resource_type": "*"
- }
- ]
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "site_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ],
+ "user_permissions": [
+ {
+ "action": "application_connect",
+ "negate": true,
+ "resource_type": "*"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------------- | --------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- |
+|----------------------------|-----------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------|
| `display_name` | string | false | | |
| `name` | string | false | | |
| `organization_id` | string | false | | |
@@ -4866,35 +5334,41 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "field": "string",
- "mapping": {
- "property1": ["string"],
- "property2": ["string"]
- }
+ "field": "string",
+ "mapping": {
+ "property1": [
+ "string"
+ ],
+ "property2": [
+ "string"
+ ]
+ }
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ------------------ | --------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `field` | string | false | | Field selects the claim field to be used as the created user's groups. If the group field is the empty string, then no group updates will ever come from the OIDC provider. |
-| `mapping` | object | false | | Mapping maps from an OIDC group --> Coder organization role |
-| » `[any property]` | array of string | false | | |
+| Name | Type | Required | Restrictions | Description |
+|--------------------|-----------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------|
+| `field` | string | false | | Field is the name of the claim field that specifies what organization roles a user should be given. If empty, no roles will be synced. |
+| `mapping` | object | false | | Mapping is a map from OIDC groups to Coder organization roles. |
+| » `[any property]` | array of string | false | | |
## codersdk.SSHConfig
```json
{
- "deploymentName": "string",
- "sshconfigOptions": ["string"]
+ "deploymentName": "string",
+ "sshconfigOptions": [
+ "string"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | --------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------- |
+|--------------------|-----------------|----------|--------------|-----------------------------------------------------------------------------------------------------|
| `deploymentName` | string | false | | Deploymentname is the config-ssh Hostname prefix |
| `sshconfigOptions` | array of string | false | | Sshconfigoptions are additional options to add to the ssh config file. This will override defaults. |
@@ -4902,18 +5376,18 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "hostname_prefix": "string",
- "ssh_config_options": {
- "property1": "string",
- "property2": "string"
- }
+ "hostname_prefix": "string",
+ "ssh_config_options": {
+ "property1": "string",
+ "property2": "string"
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------ | -------- | ------------ | ----------- |
+|----------------------|--------|----------|--------------|-------------|
| `hostname_prefix` | string | false | | |
| `ssh_config_options` | object | false | | |
| » `[any property]` | string | false | | |
@@ -4922,17 +5396,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "jetbrains": 0,
- "reconnecting_pty": 0,
- "ssh": 0,
- "vscode": 0
+ "jetbrains": 0,
+ "reconnecting_pty": 0,
+ "ssh": 0,
+ "vscode": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------- | -------- | ------------ | ----------- |
+|--------------------|---------|----------|--------------|-------------|
| `jetbrains` | integer | false | | |
| `reconnecting_pty` | integer | false | | |
| `ssh` | integer | false | | |
@@ -4942,17 +5416,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "default_duration": 0,
- "default_token_lifetime": 0,
- "disable_expiry_refresh": true,
- "max_token_lifetime": 0
+ "default_duration": 0,
+ "default_token_lifetime": 0,
+ "disable_expiry_refresh": true,
+ "max_token_lifetime": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------------ | ------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|--------------------------|---------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `default_duration` | integer | false | | Default duration is only for browser, workspace app and oauth sessions. |
| `default_token_lifetime` | integer | false | | |
| `disable_expiry_refresh` | boolean | false | | Disable expiry refresh will disable automatically refreshing api keys when they are used from the api. This means the api key lifetime at creation is the lifetime of the api key. |
@@ -4962,16 +5436,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ------ | -------- | ------------ | ----------- |
+|-------------------|--------|----------|--------------|-------------|
| `display_name` | string | false | | |
| `name` | string | false | | |
| `organization_id` | string | false | | |
@@ -4980,64 +5454,70 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "links": {
- "value": [
- {
- "icon": "bug",
- "name": "string",
- "target": "string"
- }
- ]
- }
+ "links": {
+ "value": [
+ {
+ "icon": "bug",
+ "name": "string",
+ "target": "string"
+ }
+ ]
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | ------------------------------------------------------------------------------------ | -------- | ------------ | ----------- |
+|---------|--------------------------------------------------------------------------------------|----------|--------------|-------------|
| `links` | [serpent.Struct-array_codersdk_LinkConfig](#serpentstruct-array_codersdk_linkconfig) | false | | |
## codersdk.SwaggerConfig
```json
{
- "enable": true
+ "enable": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ------- | -------- | ------------ | ----------- |
+|----------|---------|----------|--------------|-------------|
| `enable` | boolean | false | | |
## codersdk.TLSConfig
```json
{
- "address": {
- "host": "string",
- "port": "string"
- },
- "allow_insecure_ciphers": true,
- "cert_file": ["string"],
- "client_auth": "string",
- "client_ca_file": "string",
- "client_cert_file": "string",
- "client_key_file": "string",
- "enable": true,
- "key_file": ["string"],
- "min_version": "string",
- "redirect_http": true,
- "supported_ciphers": ["string"]
+ "address": {
+ "host": "string",
+ "port": "string"
+ },
+ "allow_insecure_ciphers": true,
+ "cert_file": [
+ "string"
+ ],
+ "client_auth": "string",
+ "client_ca_file": "string",
+ "client_cert_file": "string",
+ "client_key_file": "string",
+ "enable": true,
+ "key_file": [
+ "string"
+ ],
+ "min_version": "string",
+ "redirect_http": true,
+ "supported_ciphers": [
+ "string"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------------ | ------------------------------------ | -------- | ------------ | ----------- |
+|--------------------------|--------------------------------------|----------|--------------|-------------|
| `address` | [serpent.HostPort](#serpenthostport) | false | | |
| `allow_insecure_ciphers` | boolean | false | | |
| `cert_file` | array of string | false | | |
@@ -5055,28 +5535,28 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "enable": true,
- "trace": true,
- "url": {
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
- }
+ "enable": true,
+ "trace": true,
+ "url": {
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | -------------------------- | -------- | ------------ | ----------- |
+|----------|----------------------------|----------|--------------|-------------|
| `enable` | boolean | false | | |
| `trace` | boolean | false | | |
| `url` | [serpent.URL](#serpenturl) | false | | |
@@ -5085,58 +5565,62 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "active_user_count": 0,
- "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
- "activity_bump_ms": 0,
- "allow_user_autostart": true,
- "allow_user_autostop": true,
- "allow_user_cancel_workspace_jobs": true,
- "autostart_requirement": {
- "days_of_week": ["monday"]
- },
- "autostop_requirement": {
- "days_of_week": ["monday"],
- "weeks": 0
- },
- "build_time_stats": {
- "property1": {
- "p50": 123,
- "p95": 146
- },
- "property2": {
- "p50": 123,
- "p95": 146
- }
- },
- "created_at": "2019-08-24T14:15:22Z",
- "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
- "created_by_name": "string",
- "default_ttl_ms": 0,
- "deprecated": true,
- "deprecation_message": "string",
- "description": "string",
- "display_name": "string",
- "failure_ttl_ms": 0,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "max_port_share_level": "owner",
- "name": "string",
- "organization_display_name": "string",
- "organization_icon": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "provisioner": "terraform",
- "require_active_version": true,
- "time_til_dormant_autodelete_ms": 0,
- "time_til_dormant_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "active_user_count": 0,
+ "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
+ "activity_bump_ms": 0,
+ "allow_user_autostart": true,
+ "allow_user_autostop": true,
+ "allow_user_cancel_workspace_jobs": true,
+ "autostart_requirement": {
+ "days_of_week": [
+ "monday"
+ ]
+ },
+ "autostop_requirement": {
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
+ },
+ "build_time_stats": {
+ "property1": {
+ "p50": 123,
+ "p95": 146
+ },
+ "property2": {
+ "p50": 123,
+ "p95": 146
+ }
+ },
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
+ "created_by_name": "string",
+ "default_ttl_ms": 0,
+ "deprecated": true,
+ "deprecation_message": "string",
+ "description": "string",
+ "display_name": "string",
+ "failure_ttl_ms": 0,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "max_port_share_level": "owner",
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_icon": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "provisioner": "terraform",
+ "require_active_version": true,
+ "time_til_dormant_autodelete_ms": 0,
+ "time_til_dormant_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------------------- | ------------------------------------------------------------------------------ | -------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------------------------------|--------------------------------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `active_user_count` | integer | false | | Active user count is set to -1 when loading. |
| `active_version_id` | string | false | | |
| `activity_bump_ms` | integer | false | | |
@@ -5172,27 +5656,29 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Property | Value |
-| ------------- | ----------- |
+|---------------|-------------|
| `provisioner` | `terraform` |
## codersdk.TemplateAppUsage
```json
{
- "display_name": "Visual Studio Code",
- "icon": "string",
- "seconds": 80500,
- "slug": "vscode",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "times_used": 2,
- "type": "builtin"
+ "display_name": "Visual Studio Code",
+ "icon": "string",
+ "seconds": 80500,
+ "slug": "vscode",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "times_used": 2,
+ "type": "builtin"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------------------------------------------------------ | -------- | ------------ | ----------- |
+|----------------|--------------------------------------------------------|----------|--------------|-------------|
| `display_name` | string | false | | |
| `icon` | string | false | | |
| `seconds` | integer | false | | |
@@ -5212,7 +5698,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| --------- |
+|-----------|
| `builtin` |
| `app` |
@@ -5220,72 +5706,78 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "days_of_week": ["monday"]
+ "days_of_week": [
+ "monday"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | --------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
+|----------------|-----------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `days_of_week` | array of string | false | | Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. |
## codersdk.TemplateAutostopRequirement
```json
{
- "days_of_week": ["monday"],
- "weeks": 0
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ------------------------------------------------------------------------------------- | --------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `days_of_week` | array of string | false | | Days of week is a list of days of the week on which restarts are required. Restarts happen within the user's quiet hours (in their configured timezone). If no days are specified, restarts are not required. Weekdays cannot be specified twice. |
-| Restarts will only happen on weekdays in this list on weeks which line up with Weeks. |
-| `weeks` | integer | false | | Weeks is the number of weeks between required restarts. Weeks are synced across all workspaces (and Coder deployments) using modulo math on a hardcoded epoch week of January 2nd, 2023 (the first Monday of 2023). Values of 0 or 1 indicate weekly restarts. Values of 2 indicate fortnightly restarts, etc. |
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|`days_of_week`|array of string|false||Days of week is a list of days of the week on which restarts are required. Restarts happen within the user's quiet hours (in their configured timezone). If no days are specified, restarts are not required. Weekdays cannot be specified twice.
+Restarts will only happen on weekdays in this list on weeks which line up with Weeks.|
+|`weeks`|integer|false||Weeks is the number of weeks between required restarts. Weeks are synced across all workspaces (and Coder deployments) using modulo math on a hardcoded epoch week of January 2nd, 2023 (the first Monday of 2023). Values of 0 or 1 indicate weekly restarts. Values of 2 indicate fortnightly restarts, etc.|
## codersdk.TemplateBuildTimeStats
```json
{
- "property1": {
- "p50": 123,
- "p95": 146
- },
- "property2": {
- "p50": 123,
- "p95": 146
- }
+ "property1": {
+ "p50": 123,
+ "p95": 146
+ },
+ "property2": {
+ "p50": 123,
+ "p95": 146
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ---------------------------------------------------- | -------- | ------------ | ----------- |
+|------------------|------------------------------------------------------|----------|--------------|-------------|
| `[any property]` | [codersdk.TransitionStats](#codersdktransitionstats) | false | | |
## codersdk.TemplateExample
```json
{
- "description": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "markdown": "string",
- "name": "string",
- "tags": ["string"],
- "url": "string"
+ "description": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "markdown": "string",
+ "name": "string",
+ "tags": [
+ "string"
+ ],
+ "url": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | --------------- | -------- | ------------ | ----------- |
+|---------------|-----------------|----------|--------------|-------------|
| `description` | string | false | | |
| `icon` | string | false | | |
| `id` | string | false | | |
@@ -5298,18 +5790,20 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "active_users": 14,
- "end_time": "2019-08-24T14:15:22Z",
- "interval": "week",
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
+ "active_users": 14,
+ "end_time": "2019-08-24T14:15:22Z",
+ "interval": "week",
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------------------------------------------------------------------ | -------- | ------------ | ----------- |
+|----------------|--------------------------------------------------------------------|----------|--------------|-------------|
| `active_users` | integer | false | | |
| `end_time` | string | false | | |
| `interval` | [codersdk.InsightsReportInterval](#codersdkinsightsreportinterval) | false | | |
@@ -5320,51 +5814,57 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "active_users": 22,
- "apps_usage": [
- {
- "display_name": "Visual Studio Code",
- "icon": "string",
- "seconds": 80500,
- "slug": "vscode",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "times_used": 2,
- "type": "builtin"
- }
- ],
- "end_time": "2019-08-24T14:15:22Z",
- "parameters_usage": [
- {
- "description": "string",
- "display_name": "string",
- "name": "string",
- "options": [
- {
- "description": "string",
- "icon": "string",
- "name": "string",
- "value": "string"
- }
- ],
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "type": "string",
- "values": [
- {
- "count": 0,
- "value": "string"
- }
- ]
- }
- ],
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
+ "active_users": 22,
+ "apps_usage": [
+ {
+ "display_name": "Visual Studio Code",
+ "icon": "string",
+ "seconds": 80500,
+ "slug": "vscode",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "times_used": 2,
+ "type": "builtin"
+ }
+ ],
+ "end_time": "2019-08-24T14:15:22Z",
+ "parameters_usage": [
+ {
+ "description": "string",
+ "display_name": "string",
+ "name": "string",
+ "options": [
+ {
+ "description": "string",
+ "icon": "string",
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "type": "string",
+ "values": [
+ {
+ "count": 0,
+ "value": "string"
+ }
+ ]
+ }
+ ],
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | --------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|--------------------|-----------------------------------------------------------------------------|----------|--------------|-------------|
| `active_users` | integer | false | | |
| `apps_usage` | array of [codersdk.TemplateAppUsage](#codersdktemplateappusage) | false | | |
| `end_time` | string | false | | |
@@ -5376,62 +5876,70 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "interval_reports": [
- {
- "active_users": 14,
- "end_time": "2019-08-24T14:15:22Z",
- "interval": "week",
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
- }
- ],
- "report": {
- "active_users": 22,
- "apps_usage": [
- {
- "display_name": "Visual Studio Code",
- "icon": "string",
- "seconds": 80500,
- "slug": "vscode",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "times_used": 2,
- "type": "builtin"
- }
- ],
- "end_time": "2019-08-24T14:15:22Z",
- "parameters_usage": [
- {
- "description": "string",
- "display_name": "string",
- "name": "string",
- "options": [
- {
- "description": "string",
- "icon": "string",
- "name": "string",
- "value": "string"
- }
- ],
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "type": "string",
- "values": [
- {
- "count": 0,
- "value": "string"
- }
- ]
- }
- ],
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
- }
+ "interval_reports": [
+ {
+ "active_users": 14,
+ "end_time": "2019-08-24T14:15:22Z",
+ "interval": "week",
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ]
+ }
+ ],
+ "report": {
+ "active_users": 22,
+ "apps_usage": [
+ {
+ "display_name": "Visual Studio Code",
+ "icon": "string",
+ "seconds": 80500,
+ "slug": "vscode",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "times_used": 2,
+ "type": "builtin"
+ }
+ ],
+ "end_time": "2019-08-24T14:15:22Z",
+ "parameters_usage": [
+ {
+ "description": "string",
+ "display_name": "string",
+ "name": "string",
+ "options": [
+ {
+ "description": "string",
+ "icon": "string",
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "type": "string",
+ "values": [
+ {
+ "count": 0,
+ "value": "string"
+ }
+ ]
+ }
+ ],
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ]
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------------------------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|--------------------|---------------------------------------------------------------------------------------------|----------|--------------|-------------|
| `interval_reports` | array of [codersdk.TemplateInsightsIntervalReport](#codersdktemplateinsightsintervalreport) | false | | |
| `report` | [codersdk.TemplateInsightsReport](#codersdktemplateinsightsreport) | false | | |
@@ -5439,32 +5947,34 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "description": "string",
- "display_name": "string",
- "name": "string",
- "options": [
- {
- "description": "string",
- "icon": "string",
- "name": "string",
- "value": "string"
- }
- ],
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "type": "string",
- "values": [
- {
- "count": 0,
- "value": "string"
- }
- ]
+ "description": "string",
+ "display_name": "string",
+ "name": "string",
+ "options": [
+ {
+ "description": "string",
+ "icon": "string",
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "type": "string",
+ "values": [
+ {
+ "count": 0,
+ "value": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------------------------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------|---------------------------------------------------------------------------------------------|----------|--------------|-------------|
| `description` | string | false | | |
| `display_name` | string | false | | |
| `name` | string | false | | |
@@ -5477,15 +5987,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "count": 0,
- "value": "string"
+ "count": 0,
+ "value": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | ------- | -------- | ------------ | ----------- |
+|---------|---------|----------|--------------|-------------|
| `count` | integer | false | | |
| `value` | string | false | | |
@@ -5500,7 +6010,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------- |
+|---------|
| `admin` |
| `use` |
| `` |
@@ -5509,33 +6019,35 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "role": "admin",
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "role": "admin",
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ----------------------------------------------- | -------- | ------------ | ----------- |
+|--------------------|-------------------------------------------------|----------|--------------|-------------|
| `avatar_url` | string | false | | |
| `created_at` | string | true | | |
| `email` | string | true | | |
@@ -5554,7 +6066,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Property | Value |
-| -------- | ----------- |
+|----------|-------------|
| `role` | `admin` |
| `role` | `use` |
| `status` | `active` |
@@ -5564,51 +6076,63 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "archived": true,
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": {
- "avatar_url": "http://example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "matched_provisioners": {
- "available": 0,
- "count": 0,
- "most_recently_seen": "2019-08-24T14:15:22Z"
- },
- "message": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "readme": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "updated_at": "2019-08-24T14:15:22Z",
- "warnings": ["UNSUPPORTED_WORKSPACES"]
+ "archived": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by": {
+ "avatar_url": "http://example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "username": "string"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "message": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "readme": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "warnings": [
+ "UNSUPPORTED_WORKSPACES"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | --------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|------------------------|-----------------------------------------------------------------------------|----------|--------------|-------------|
| `archived` | boolean | false | | |
| `created_at` | string | false | | |
| `created_by` | [codersdk.MinimalUser](#codersdkminimaluser) | false | | |
@@ -5627,20 +6151,20 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "authenticate_url": "string",
- "authenticated": true,
- "display_icon": "string",
- "display_name": "string",
- "id": "string",
- "optional": true,
- "type": "string"
+ "authenticate_url": "string",
+ "authenticated": true,
+ "display_icon": "string",
+ "display_name": "string",
+ "id": "string",
+ "optional": true,
+ "type": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------- | -------- | ------------ | ----------- |
+|--------------------|---------|----------|--------------|-------------|
| `authenticate_url` | string | false | | |
| `authenticated` | boolean | false | | |
| `display_icon` | string | false | | |
@@ -5653,36 +6177,36 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "default_value": "string",
- "description": "string",
- "description_plaintext": "string",
- "display_name": "string",
- "ephemeral": true,
- "icon": "string",
- "mutable": true,
- "name": "string",
- "options": [
- {
- "description": "string",
- "icon": "string",
- "name": "string",
- "value": "string"
- }
- ],
- "required": true,
- "type": "string",
- "validation_error": "string",
- "validation_max": 0,
- "validation_min": 0,
- "validation_monotonic": "increasing",
- "validation_regex": "string"
+ "default_value": "string",
+ "description": "string",
+ "description_plaintext": "string",
+ "display_name": "string",
+ "ephemeral": true,
+ "icon": "string",
+ "mutable": true,
+ "name": "string",
+ "options": [
+ {
+ "description": "string",
+ "icon": "string",
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "required": true,
+ "type": "string",
+ "validation_error": "string",
+ "validation_max": 0,
+ "validation_min": 0,
+ "validation_monotonic": "increasing",
+ "validation_regex": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | ------------------------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|-------------------------|---------------------------------------------------------------------------------------------|----------|--------------|-------------|
| `default_value` | string | false | | |
| `description` | string | false | | |
| `description_plaintext` | string | false | | |
@@ -5703,7 +6227,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Property | Value |
-| ---------------------- | -------------- |
+|------------------------|----------------|
| `type` | `string` |
| `type` | `number` |
| `type` | `bool` |
@@ -5715,17 +6239,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "description": "string",
- "icon": "string",
- "name": "string",
- "value": "string"
+ "description": "string",
+ "icon": "string",
+ "name": "string",
+ "value": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | ------ | -------- | ------------ | ----------- |
+|---------------|--------|----------|--------------|-------------|
| `description` | string | false | | |
| `icon` | string | false | | |
| `name` | string | false | | |
@@ -5735,20 +6259,20 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "default_value": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "sensitive": true,
- "type": "string",
- "value": "string"
+ "default_value": "string",
+ "description": "string",
+ "name": "string",
+ "required": true,
+ "sensitive": true,
+ "type": "string",
+ "value": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------- | ------- | -------- | ------------ | ----------- |
+|-----------------|---------|----------|--------------|-------------|
| `default_value` | string | false | | |
| `description` | string | false | | |
| `name` | string | false | | |
@@ -5760,7 +6284,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Property | Value |
-| -------- | -------- |
+|----------|----------|
| `type` | `string` |
| `type` | `number` |
| `type` | `bool` |
@@ -5776,7 +6300,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| ------------------------ |
+|--------------------------|
| `UNSUPPORTED_WORKSPACES` |
## codersdk.TimingStage
@@ -5790,7 +6314,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
#### Enumerated Values
| Value |
-| --------- |
+|-----------|
| `init` |
| `plan` |
| `graph` |
@@ -5804,31 +6328,31 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "max_token_lifetime": 0
+ "max_token_lifetime": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------- | -------- | ------------ | ----------- |
+|----------------------|---------|----------|--------------|-------------|
| `max_token_lifetime` | integer | false | | |
## codersdk.TraceConfig
```json
{
- "capture_logs": true,
- "data_dog": true,
- "enable": true,
- "honeycomb_api_key": "string"
+ "capture_logs": true,
+ "data_dog": true,
+ "enable": true,
+ "honeycomb_api_key": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ------- | -------- | ------------ | ----------- |
+|---------------------|---------|----------|--------------|-------------|
| `capture_logs` | boolean | false | | |
| `data_dog` | boolean | false | | |
| `enable` | boolean | false | | |
@@ -5838,15 +6362,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "p50": 123,
- "p95": 146
+ "p50": 123,
+ "p95": 146
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----- | ------- | -------- | ------------ | ----------- |
+|-------|---------|----------|--------------|-------------|
| `p50` | integer | false | | |
| `p95` | integer | false | | |
@@ -5854,41 +6378,41 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---- | ------ | -------- | ------------ | ----------- |
+|------|--------|----------|--------------|-------------|
| `id` | string | true | | |
## codersdk.UpdateAppearanceConfig
```json
{
- "announcement_banners": [
- {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- }
- ],
- "application_name": "string",
- "logo_url": "string",
- "service_banner": {
- "background_color": "string",
- "enabled": true,
- "message": "string"
- }
+ "announcement_banners": [
+ {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ }
+ ],
+ "application_name": "string",
+ "logo_url": "string",
+ "service_banner": {
+ "background_color": "string",
+ "enabled": true,
+ "message": "string"
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | ------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------- |
+|------------------------|---------------------------------------------------------|----------|--------------|---------------------------------------------------------------------|
| `announcement_banners` | array of [codersdk.BannerConfig](#codersdkbannerconfig) | false | | |
| `application_name` | string | false | | |
| `logo_url` | string | false | | |
@@ -5898,16 +6422,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "current": true,
- "url": "string",
- "version": "string"
+ "current": true,
+ "url": "string",
+ "version": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------- | -------- | ------------ | ----------------------------------------------------------------------- |
+|-----------|---------|----------|--------------|-------------------------------------------------------------------------|
| `current` | boolean | false | | Current indicates whether the server version is the same as the latest. |
| `url` | string | false | | URL to download the latest release of Coder. |
| `version` | string | false | | Version is the semantic version for the latest release of Coder. |
@@ -5916,17 +6440,17 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "name": "string"
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `description` | string | false | | |
| `display_name` | string | false | | |
| `icon` | string | false | | |
@@ -5936,35 +6460,37 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "roles": ["string"]
+ "roles": [
+ "string"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | --------------- | -------- | ------------ | ----------- |
+|---------|-----------------|----------|--------------|-------------|
| `roles` | array of string | false | | |
## codersdk.UpdateTemplateACL
```json
{
- "group_perms": {
- "8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
- ">": "admin"
- },
- "user_perms": {
- "4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
- "": "admin"
- }
+ "group_perms": {
+ "8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
+ ">": "admin"
+ },
+ "user_perms": {
+ "4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
+ "": "admin"
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ---------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------- |
+|--------------------|------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------|
| `group_perms` | object | false | | Group perms should be a mapping of group ID to role. |
| » `[any property]` | [codersdk.TemplateRole](#codersdktemplaterole) | false | | |
| `user_perms` | object | false | | User perms should be a mapping of user ID to role. The user ID must be the uuid of the user, not a username or email address. |
@@ -5974,31 +6500,31 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "theme_preference": "string"
+ "theme_preference": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------ | -------- | ------------ | ----------- |
+|--------------------|--------|----------|--------------|-------------|
| `theme_preference` | string | true | | |
## codersdk.UpdateUserNotificationPreferences
```json
{
- "template_disabled_map": {
- "property1": true,
- "property2": true
- }
+ "template_disabled_map": {
+ "property1": true,
+ "property2": true
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | ------- | -------- | ------------ | ----------- |
+|-------------------------|---------|----------|--------------|-------------|
| `template_disabled_map` | object | false | | |
| » `[any property]` | boolean | false | | |
@@ -6006,15 +6532,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "old_password": "string",
- "password": "string"
+ "old_password": "string",
+ "password": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `old_password` | string | false | | |
| `password` | string | true | | |
@@ -6022,15 +6548,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "name": "string",
- "username": "string"
+ "name": "string",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------- | ------ | -------- | ------------ | ----------- |
+|------------|--------|----------|--------------|-------------|
| `name` | string | false | | |
| `username` | string | true | | |
@@ -6038,16 +6564,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
```json
{
- "schedule": "string"
+ "schedule": "string"
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ---------- | ------ | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `schedule` | string | true | | Schedule is a cron expression that defines when the user's quiet hours window is. Schedule must not be empty. For new users, the schedule is set to 2am in their browser or computer's timezone. The schedule denotes the beginning of a 4 hour window where the workspace is allowed to automatically stop or restart due to maintenance or template schedule. |
-
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|`schedule`|string|true||Schedule is a cron expression that defines when the user's quiet hours window is. Schedule must not be empty. For new users, the schedule is set to 2am in their browser or computer's timezone. The schedule denotes the beginning of a 4 hour window where the workspace is allowed to automatically stop or restart due to maintenance or template schedule.
The schedule must be daily with a single time, and should have a timezone specified via a CRON_TZ prefix (otherwise UTC will be used).
If the schedule is empty, the user will be updated to use the default schedule.|
@@ -6055,101 +6580,101 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "automatic_updates": "always"
+ "automatic_updates": "always"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ------------------------------------------------------ | -------- | ------------ | ----------- |
+|---------------------|--------------------------------------------------------|----------|--------------|-------------|
| `automatic_updates` | [codersdk.AutomaticUpdates](#codersdkautomaticupdates) | false | | |
## codersdk.UpdateWorkspaceAutostartRequest
```json
{
- "schedule": "string"
+ "schedule": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------- | ------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------|--------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `schedule` | string | false | | Schedule is expected to be of the form `CRON_TZ= * * ` Example: `CRON_TZ=US/Central 30 9 * * 1-5` represents 0930 in the timezone US/Central on weekdays (Mon-Fri). `CRON_TZ` defaults to UTC if not present. |
## codersdk.UpdateWorkspaceDormancy
```json
{
- "dormant": true
+ "dormant": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------- | -------- | ------------ | ----------- |
+|-----------|---------|----------|--------------|-------------|
| `dormant` | boolean | false | | |
## codersdk.UpdateWorkspaceRequest
```json
{
- "name": "string"
+ "name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------ | ------ | -------- | ------------ | ----------- |
+|--------|--------|----------|--------------|-------------|
| `name` | string | false | | |
## codersdk.UpdateWorkspaceTTLRequest
```json
{
- "ttl_ms": 0
+ "ttl_ms": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ------- | -------- | ------------ | ----------- |
+|----------|---------|----------|--------------|-------------|
| `ttl_ms` | integer | false | | |
## codersdk.UploadResponse
```json
{
- "hash": "19686d84-b10d-4f90-b18e-84fd3fa038fd"
+ "hash": "19686d84-b10d-4f90-b18e-84fd3fa038fd"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------ | ------ | -------- | ------------ | ----------- |
+|--------|--------|----------|--------------|-------------|
| `hash` | string | false | | |
## codersdk.UpsertWorkspaceAgentPortShareRequest
```json
{
- "agent_name": "string",
- "port": 0,
- "protocol": "http",
- "share_level": "owner"
+ "agent_name": "string",
+ "port": 0,
+ "protocol": "http",
+ "share_level": "owner"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | ------------------------------------------------------------------------------------ | -------- | ------------ | ----------- |
+|---------------|--------------------------------------------------------------------------------------|----------|--------------|-------------|
| `agent_name` | string | false | | |
| `port` | integer | false | | |
| `protocol` | [codersdk.WorkspaceAgentPortShareProtocol](#codersdkworkspaceagentportshareprotocol) | false | | |
@@ -6158,7 +6683,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ------------- | --------------- |
+|---------------|-----------------|
| `protocol` | `http` |
| `protocol` | `https` |
| `share_level` | `owner` |
@@ -6176,7 +6701,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| ------------------ |
+|--------------------|
| `vscode` |
| `jetbrains` |
| `reconnecting-pty` |
@@ -6186,32 +6711,34 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ----------------------------------------------- | -------- | ------------ | ----------- |
+|--------------------|-------------------------------------------------|----------|--------------|-------------|
| `avatar_url` | string | false | | |
| `created_at` | string | true | | |
| `email` | string | true | | |
@@ -6229,7 +6756,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| -------- | ----------- |
+|----------|-------------|
| `status` | `active` |
| `status` | `suspended` |
@@ -6237,18 +6764,20 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "avatar_url": "http://example.com",
- "seconds": 80500,
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "seconds": 80500,
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | --------------- | -------- | ------------ | ----------- |
+|----------------|-----------------|----------|--------------|-------------|
| `avatar_url` | string | false | | |
| `seconds` | integer | false | | |
| `template_ids` | array of string | false | | |
@@ -6259,25 +6788,29 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "end_time": "2019-08-24T14:15:22Z",
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "users": [
- {
- "avatar_url": "http://example.com",
- "seconds": 80500,
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
- }
- ]
+ "end_time": "2019-08-24T14:15:22Z",
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "seconds": 80500,
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------|---------------------------------------------------------|----------|--------------|-------------|
| `end_time` | string | false | | |
| `start_time` | string | false | | |
| `template_ids` | array of string | false | | |
@@ -6287,48 +6820,54 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "report": {
- "end_time": "2019-08-24T14:15:22Z",
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "users": [
- {
- "avatar_url": "http://example.com",
- "seconds": 80500,
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
- }
- ]
- }
+ "report": {
+ "end_time": "2019-08-24T14:15:22Z",
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "seconds": 80500,
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
+ }
+ ]
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | -------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|----------|----------------------------------------------------------------------------|----------|--------------|-------------|
| `report` | [codersdk.UserActivityInsightsReport](#codersdkuseractivityinsightsreport) | false | | |
## codersdk.UserLatency
```json
{
- "avatar_url": "http://example.com",
- "latency_ms": {
- "p50": 31.312,
- "p95": 119.832
- },
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "latency_ms": {
+ "p50": 31.312,
+ "p95": 119.832
+ },
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | -------------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------|----------------------------------------------------------|----------|--------------|-------------|
| `avatar_url` | string | false | | |
| `latency_ms` | [codersdk.ConnectionLatency](#codersdkconnectionlatency) | false | | |
| `template_ids` | array of string | false | | |
@@ -6339,28 +6878,32 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "end_time": "2019-08-24T14:15:22Z",
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "users": [
- {
- "avatar_url": "http://example.com",
- "latency_ms": {
- "p50": 31.312,
- "p95": 119.832
- },
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
- }
- ]
+ "end_time": "2019-08-24T14:15:22Z",
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "latency_ms": {
+ "p50": 31.312,
+ "p95": 119.832
+ },
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ----------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------|-------------------------------------------------------|----------|--------------|-------------|
| `end_time` | string | false | | |
| `start_time` | string | false | | |
| `template_ids` | array of string | false | | |
@@ -6370,59 +6913,63 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "report": {
- "end_time": "2019-08-24T14:15:22Z",
- "start_time": "2019-08-24T14:15:22Z",
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "users": [
- {
- "avatar_url": "http://example.com",
- "latency_ms": {
- "p50": 31.312,
- "p95": 119.832
- },
- "template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "username": "string"
- }
- ]
- }
+ "report": {
+ "end_time": "2019-08-24T14:15:22Z",
+ "start_time": "2019-08-24T14:15:22Z",
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "latency_ms": {
+ "p50": 31.312,
+ "p95": 119.832
+ },
+ "template_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
+ "username": "string"
+ }
+ ]
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ------------------------------------------------------------------------ | -------- | ------------ | ----------- |
+|----------|--------------------------------------------------------------------------|----------|--------------|-------------|
| `report` | [codersdk.UserLatencyInsightsReport](#codersdkuserlatencyinsightsreport) | false | | |
## codersdk.UserLoginType
```json
{
- "login_type": ""
+ "login_type": ""
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ---------------------------------------- | -------- | ------------ | ----------- |
+|--------------|------------------------------------------|----------|--------------|-------------|
| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | |
## codersdk.UserParameter
```json
{
- "name": "string",
- "value": "string"
+ "name": "string",
+ "value": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | ------ | -------- | ------------ | ----------- |
+|---------|--------|----------|--------------|-------------|
| `name` | string | false | | |
| `value` | string | false | | |
@@ -6430,15 +6977,15 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "allow_user_custom": true,
- "default_schedule": "string"
+ "allow_user_custom": true,
+ "default_schedule": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ------- | -------- | ------------ | ----------- |
+|---------------------|---------|----------|--------------|-------------|
| `allow_user_custom` | boolean | false | | |
| `default_schedule` | string | false | | |
@@ -6446,19 +6993,19 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "next": "2019-08-24T14:15:22Z",
- "raw_schedule": "string",
- "time": "string",
- "timezone": "string",
- "user_can_set": true,
- "user_set": true
+ "next": "2019-08-24T14:15:22Z",
+ "raw_schedule": "string",
+ "time": "string",
+ "timezone": "string",
+ "user_can_set": true,
+ "user_set": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|----------------|---------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `next` | string | false | | Next is the next time that the quiet hours window will start. |
| `raw_schedule` | string | false | | |
| `time` | string | false | | Time is the time of day that the quiet hours window starts in the given Timezone each day. |
@@ -6477,38 +7024,54 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| ----------- |
+|-------------|
| `active` |
| `dormant` |
| `suspended` |
+## codersdk.UserStatusChangeCount
+
+```json
+{
+ "count": 10,
+ "date": "2019-08-24T14:15:22Z"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|---------|---------|----------|--------------|-------------|
+| `count` | integer | false | | |
+| `date` | string | false | | |
+
## codersdk.ValidateUserPasswordRequest
```json
{
- "password": "string"
+ "password": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------- | ------ | -------- | ------------ | ----------- |
+|------------|--------|----------|--------------|-------------|
| `password` | string | true | | |
## codersdk.ValidateUserPasswordResponse
```json
{
- "details": "string",
- "valid": true
+ "details": "string",
+ "valid": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------- | -------- | ------------ | ----------- |
+|-----------|---------|----------|--------------|-------------|
| `details` | string | false | | |
| `valid` | boolean | false | | |
@@ -6516,15 +7079,15 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "detail": "string",
- "field": "string"
+ "detail": "string",
+ "field": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ------ | -------- | ------------ | ----------- |
+|----------|--------|----------|--------------|-------------|
| `detail` | string | true | | |
| `field` | string | true | | |
@@ -6539,7 +7102,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| ------------ |
+|--------------|
| `increasing` |
| `decreasing` |
@@ -6547,15 +7110,15 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "name": "string",
- "value": "string"
+ "name": "string",
+ "value": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | ------ | -------- | ------------ | ----------- |
+|---------|--------|----------|--------------|-------------|
| `name` | string | false | | |
| `value` | string | false | | |
@@ -6563,205 +7126,229 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "allow_renames": true,
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "deleting_at": "2019-08-24T14:15:22Z",
- "dormant_at": "2019-08-24T14:15:22Z",
- "favorite": true,
- "health": {
- "failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "healthy": false
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "2019-08-24T14:15:22Z",
- "latest_build": {
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
- },
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "outdated": true,
- "owner_avatar_url": "string",
- "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
- "owner_name": "string",
- "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
- "template_allow_user_cancel_workspace_jobs": true,
- "template_display_name": "string",
- "template_icon": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_name": "string",
- "template_require_active_version": true,
- "ttl_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "allow_renames": true,
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleting_at": "2019-08-24T14:15:22Z",
+ "dormant_at": "2019-08-24T14:15:22Z",
+ "favorite": true,
+ "health": {
+ "failing_agents": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "healthy": false
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "2019-08-24T14:15:22Z",
+ "latest_build": {
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
+ },
+ "name": "string",
+ "next_start_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "outdated": true,
+ "owner_avatar_url": "string",
+ "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
+ "owner_name": "string",
+ "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
+ "template_allow_user_cancel_workspace_jobs": true,
+ "template_display_name": "string",
+ "template_icon": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_name": "string",
+ "template_require_active_version": true,
+ "ttl_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------------------------------- | ------------------------------------------------------ | -------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|---------------------------------------------|--------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `allow_renames` | boolean | false | | |
| `automatic_updates` | [codersdk.AutomaticUpdates](#codersdkautomaticupdates) | false | | |
| `autostart_schedule` | string | false | | |
| `created_at` | string | false | | |
| `deleting_at` | string | false | | Deleting at indicates the time at which the workspace will be permanently deleted. A workspace is eligible for deletion if it is dormant (a non-nil dormant_at value) and a value has been specified for time_til_dormant_autodelete on its template. |
-| `dormant_at` | string | false | | Dormant at being non-nil indicates a workspace that is dormant. A dormant workspace is no longer accessible must be activated. It is subject to deletion if it breaches the duration of the time*til* field on its template. |
+| `dormant_at` | string | false | | Dormant at being non-nil indicates a workspace that is dormant. A dormant workspace is no longer accessible must be activated. It is subject to deletion if it breaches the duration of the time_til_ field on its template. |
| `favorite` | boolean | false | | |
| `health` | [codersdk.WorkspaceHealth](#codersdkworkspacehealth) | false | | Health shows the health of the workspace and information about what is causing an unhealthy status. |
| `id` | string | false | | |
| `last_used_at` | string | false | | |
| `latest_build` | [codersdk.WorkspaceBuild](#codersdkworkspacebuild) | false | | |
| `name` | string | false | | |
+| `next_start_at` | string | false | | |
| `organization_id` | string | false | | |
| `organization_name` | string | false | | |
| `outdated` | boolean | false | | |
@@ -6781,7 +7368,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ------------------- | -------- |
+|---------------------|----------|
| `automatic_updates` | `always` |
| `automatic_updates` | `never` |
@@ -6789,101 +7376,106 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | -------------------------------------------------------------------------------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------------------------|----------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `api_version` | string | false | | |
| `apps` | array of [codersdk.WorkspaceApp](#codersdkworkspaceapp) | false | | |
| `architecture` | string | false | | |
@@ -6923,15 +7515,15 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "healthy": false,
- "reason": "agent has lost connection"
+ "healthy": false,
+ "reason": "agent has lost connection"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------- | -------- | ------------ | --------------------------------------------------------------------------------------------- |
+|-----------|---------|----------|--------------|-----------------------------------------------------------------------------------------------|
| `healthy` | boolean | false | | Healthy is true if the agent is healthy. |
| `reason` | string | false | | Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true. |
@@ -6946,7 +7538,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| ------------------ |
+|--------------------|
| `created` |
| `starting` |
| `start_timeout` |
@@ -6961,16 +7553,16 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "network": "string",
- "port": 0,
- "process_name": "string"
+ "network": "string",
+ "port": 0,
+ "process_name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------- | -------- | ------------ | ------------------------ |
+|----------------|---------|----------|--------------|--------------------------|
| `network` | string | false | | only "tcp" at the moment |
| `port` | integer | false | | |
| `process_name` | string | false | | may be empty |
@@ -6979,38 +7571,38 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "ports": [
- {
- "network": "string",
- "port": 0,
- "process_name": "string"
- }
- ]
+ "ports": [
+ {
+ "network": "string",
+ "port": 0,
+ "process_name": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | ------------------------------------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+|---------|---------------------------------------------------------------------------------------|----------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `ports` | array of [codersdk.WorkspaceAgentListeningPort](#codersdkworkspaceagentlisteningport) | false | | If there are no ports in the list, nothing should be displayed in the UI. There must not be a "no ports available" message or anything similar, as there will always be no ports displayed on platforms where our port detection logic is unsupported. |
## codersdk.WorkspaceAgentLog
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "level": "trace",
- "output": "string",
- "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81"
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": 0,
+ "level": "trace",
+ "output": "string",
+ "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | -------------------------------------- | -------- | ------------ | ----------- |
+|--------------|----------------------------------------|----------|--------------|-------------|
| `created_at` | string | false | | |
| `id` | integer | false | | |
| `level` | [codersdk.LogLevel](#codersdkloglevel) | false | | |
@@ -7021,18 +7613,18 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------ | -------- | ------------ | ----------- |
+|----------------------|--------|----------|--------------|-------------|
| `created_at` | string | false | | |
| `display_name` | string | false | | |
| `icon` | string | false | | |
@@ -7043,18 +7635,18 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "agent_name": "string",
- "port": 0,
- "protocol": "http",
- "share_level": "owner",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
+ "agent_name": "string",
+ "port": 0,
+ "protocol": "http",
+ "share_level": "owner",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------------------------------------------------------------------------------------ | -------- | ------------ | ----------- |
+|----------------|--------------------------------------------------------------------------------------|----------|--------------|-------------|
| `agent_name` | string | false | | |
| `port` | integer | false | | |
| `protocol` | [codersdk.WorkspaceAgentPortShareProtocol](#codersdkworkspaceagentportshareprotocol) | false | | |
@@ -7064,7 +7656,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ------------- | --------------- |
+|---------------|-----------------|
| `protocol` | `http` |
| `protocol` | `https` |
| `share_level` | `owner` |
@@ -7082,7 +7674,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| --------------- |
+|-----------------|
| `owner` |
| `authenticated` |
| `public` |
@@ -7098,7 +7690,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| ------- |
+|---------|
| `http` |
| `https` |
@@ -7106,45 +7698,45 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "shares": [
- {
- "agent_name": "string",
- "port": 0,
- "protocol": "http",
- "share_level": "owner",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
- }
- ]
+ "shares": [
+ {
+ "agent_name": "string",
+ "port": 0,
+ "protocol": "http",
+ "share_level": "owner",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------- | ----------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|----------|-------------------------------------------------------------------------------|----------|--------------|-------------|
| `shares` | array of [codersdk.WorkspaceAgentPortShare](#codersdkworkspaceagentportshare) | false | | |
## codersdk.WorkspaceAgentScript
```json
{
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------- | -------- | ------------ | ----------- |
+|----------------------|---------|----------|--------------|-------------|
| `cron` | string | false | | |
| `display_name` | string | false | | |
| `id` | string | false | | |
@@ -7167,7 +7759,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| -------------- |
+|----------------|
| `blocking` |
| `non-blocking` |
@@ -7182,7 +7774,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| -------------- |
+|----------------|
| `connecting` |
| `connected` |
| `disconnected` |
@@ -7192,30 +7784,31 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ---------------------------------------------------------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------------|------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `command` | string | false | | |
| `display_name` | string | false | | Display name is a friendly name for the app. |
| `external` | boolean | false | | External specifies whether the URL should be opened externally on the client or not. |
@@ -7224,6 +7817,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
| `hidden` | boolean | false | | |
| `icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. |
| `id` | string | false | | |
+| `open_in` | [codersdk.WorkspaceAppOpenIn](#codersdkworkspaceappopenin) | false | | |
| `sharing_level` | [codersdk.WorkspaceAppSharingLevel](#codersdkworkspaceappsharinglevel) | false | | |
| `slug` | string | false | | Slug is a unique identifier within the agent. |
| `subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. |
@@ -7233,7 +7827,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| --------------- | --------------- |
+|-----------------|-----------------|
| `sharing_level` | `owner` |
| `sharing_level` | `authenticated` |
| `sharing_level` | `public` |
@@ -7249,12 +7843,27 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| -------------- |
+|----------------|
| `disabled` |
| `initializing` |
| `healthy` |
| `unhealthy` |
+## codersdk.WorkspaceAppOpenIn
+
+```json
+"slim-window"
+```
+
+### Properties
+
+#### Enumerated Values
+
+| Value |
+|---------------|
+| `slim-window` |
+| `tab` |
+
## codersdk.WorkspaceAppSharingLevel
```json
@@ -7266,7 +7875,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| --------------- |
+|-----------------|
| `owner` |
| `authenticated` |
| `public` |
@@ -7275,162 +7884,182 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | ----------------------------------------------------------------- | -------- | ------------ | ----------- |
+|------------------------------|-------------------------------------------------------------------|----------|--------------|-------------|
| `build_number` | integer | false | | |
| `created_at` | string | false | | |
| `daily_cost` | integer | false | | |
@@ -7439,6 +8068,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
| `initiator_id` | string | false | | |
| `initiator_name` | string | false | | |
| `job` | [codersdk.ProvisionerJob](#codersdkprovisionerjob) | false | | |
+| `matched_provisioners` | [codersdk.MatchedProvisioners](#codersdkmatchedprovisioners) | false | | |
| `max_deadline` | string | false | | |
| `reason` | [codersdk.BuildReason](#codersdkbuildreason) | false | | |
| `resources` | array of [codersdk.WorkspaceResource](#codersdkworkspaceresource) | false | | |
@@ -7456,7 +8086,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ------------ | ----------- |
+|--------------|-------------|
| `reason` | `initiator` |
| `reason` | `autostart` |
| `reason` | `autostop` |
@@ -7478,15 +8108,15 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "name": "string",
- "value": "string"
+ "name": "string",
+ "value": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | ------ | -------- | ------------ | ----------- |
+|---------|--------|----------|--------------|-------------|
| `name` | string | false | | |
| `value` | string | false | | |
@@ -7494,45 +8124,45 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "agent_connection_timings": [
- {
- "ended_at": "2019-08-24T14:15:22Z",
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z",
- "workspace_agent_id": "string",
- "workspace_agent_name": "string"
- }
- ],
- "agent_script_timings": [
- {
- "display_name": "string",
- "ended_at": "2019-08-24T14:15:22Z",
- "exit_code": 0,
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z",
- "status": "string",
- "workspace_agent_id": "string",
- "workspace_agent_name": "string"
- }
- ],
- "provisioner_timings": [
- {
- "action": "string",
- "ended_at": "2019-08-24T14:15:22Z",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "resource": "string",
- "source": "string",
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z"
- }
- ]
+ "agent_connection_timings": [
+ {
+ "ended_at": "2019-08-24T14:15:22Z",
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z",
+ "workspace_agent_id": "string",
+ "workspace_agent_name": "string"
+ }
+ ],
+ "agent_script_timings": [
+ {
+ "display_name": "string",
+ "ended_at": "2019-08-24T14:15:22Z",
+ "exit_code": 0,
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "string",
+ "workspace_agent_id": "string",
+ "workspace_agent_name": "string"
+ }
+ ],
+ "provisioner_timings": [
+ {
+ "action": "string",
+ "ended_at": "2019-08-24T14:15:22Z",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "resource": "string",
+ "source": "string",
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------------- | ------------------------------------------------------------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------- |
+|----------------------------|---------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------|
| `agent_connection_timings` | array of [codersdk.AgentConnectionTiming](#codersdkagentconnectiontiming) | false | | |
| `agent_script_timings` | array of [codersdk.AgentScriptTiming](#codersdkagentscripttiming) | false | | Agent script timings Consolidate agent-related timing metrics into a single struct when updating the API version |
| `provisioner_timings` | array of [codersdk.ProvisionerTiming](#codersdkprovisionertiming) | false | | |
@@ -7541,15 +8171,15 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "p50": 0,
- "p95": 0
+ "p50": 0,
+ "p95": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----- | ------ | -------- | ------------ | ----------- |
+|-------|--------|----------|--------------|-------------|
| `p50` | number | false | | |
| `p95` | number | false | | |
@@ -7557,24 +8187,24 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "building": 0,
- "connection_latency_ms": {
- "p50": 0,
- "p95": 0
- },
- "failed": 0,
- "pending": 0,
- "running": 0,
- "rx_bytes": 0,
- "stopped": 0,
- "tx_bytes": 0
+ "building": 0,
+ "connection_latency_ms": {
+ "p50": 0,
+ "p95": 0
+ },
+ "failed": 0,
+ "pending": 0,
+ "running": 0,
+ "rx_bytes": 0,
+ "stopped": 0,
+ "tx_bytes": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | ------------------------------------------------------------------------------ | -------- | ------------ | ----------- |
+|-------------------------|--------------------------------------------------------------------------------|----------|--------------|-------------|
| `building` | integer | false | | |
| `connection_latency_ms` | [codersdk.WorkspaceConnectionLatencyMS](#codersdkworkspaceconnectionlatencyms) | false | | |
| `failed` | integer | false | | |
@@ -7588,15 +8218,17 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "healthy": false
+ "failing_agents": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "healthy": false
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | --------------- | -------- | ------------ | -------------------------------------------------------------------- |
+|------------------|-----------------|----------|--------------|----------------------------------------------------------------------|
| `failing_agents` | array of string | false | | Failing agents lists the IDs of the agents that are failing, if any. |
| `healthy` | boolean | false | | Healthy is true if the workspace is healthy. |
@@ -7604,66 +8236,74 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "deleted": true,
- "derp_enabled": true,
- "derp_only": true,
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "status": {
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
- },
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string",
- "wildcard_hostname": "string"
-}
-```
-
-### Properties
-
-| Name | Type | Required | Restrictions | Description |
-| ------------------- | -------------------------------------------------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `created_at` | string | false | | |
-| `deleted` | boolean | false | | |
-| `derp_enabled` | boolean | false | | |
-| `derp_only` | boolean | false | | |
-| `display_name` | string | false | | |
-| `healthy` | boolean | false | | |
-| `icon_url` | string | false | | |
-| `id` | string | false | | |
-| `name` | string | false | | |
-| `path_app_url` | string | false | | Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com |
-| `status` | [codersdk.WorkspaceProxyStatus](#codersdkworkspaceproxystatus) | false | | Status is the latest status check of the proxy. This will be empty for deleted proxies. This value can be used to determine if a workspace proxy is healthy and ready to use. |
-| `updated_at` | string | false | | |
-| `version` | string | false | | |
-| `wildcard_hostname` | string | false | | Wildcard hostname is the wildcard hostname for subdomain apps. E.g. _.us.example.com E.g. _--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL. |
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleted": true,
+ "derp_enabled": true,
+ "derp_only": true,
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "status": {
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
+ },
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string",
+ "wildcard_hostname": "string"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|---------------------|----------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `created_at` | string | false | | |
+| `deleted` | boolean | false | | |
+| `derp_enabled` | boolean | false | | |
+| `derp_only` | boolean | false | | |
+| `display_name` | string | false | | |
+| `healthy` | boolean | false | | |
+| `icon_url` | string | false | | |
+| `id` | string | false | | |
+| `name` | string | false | | |
+| `path_app_url` | string | false | | Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com |
+| `status` | [codersdk.WorkspaceProxyStatus](#codersdkworkspaceproxystatus) | false | | Status is the latest status check of the proxy. This will be empty for deleted proxies. This value can be used to determine if a workspace proxy is healthy and ready to use. |
+| `updated_at` | string | false | | |
+| `version` | string | false | | |
+| `wildcard_hostname` | string | false | | Wildcard hostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g.*--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL. |
## codersdk.WorkspaceProxyStatus
```json
{
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | -------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------- |
+|--------------|----------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------|
| `checked_at` | string | false | | |
| `report` | [codersdk.ProxyHealthReport](#codersdkproxyhealthreport) | false | | Report provides more information about the health of the workspace proxy. |
| `status` | [codersdk.ProxyHealthStatus](#codersdkproxyhealthstatus) | false | | |
@@ -7672,15 +8312,15 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "budget": 0,
- "credits_consumed": 0
+ "budget": 0,
+ "credits_consumed": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------- | -------- | ------------ | ----------- |
+|--------------------|---------|----------|--------------|-------------|
| `budget` | integer | false | | |
| `credits_consumed` | integer | false | | |
@@ -7688,121 +8328,126 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | --------------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|------------------------|-----------------------------------------------------------------------------------|----------|--------------|-------------|
| `agents` | array of [codersdk.WorkspaceAgent](#codersdkworkspaceagent) | false | | |
| `created_at` | string | false | | |
| `daily_cost` | integer | false | | |
@@ -7818,7 +8463,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------------------- | -------- |
+|------------------------|----------|
| `workspace_transition` | `start` |
| `workspace_transition` | `stop` |
| `workspace_transition` | `delete` |
@@ -7827,16 +8472,16 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "key": "string",
- "sensitive": true,
- "value": "string"
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------- | ------- | -------- | ------------ | ----------- |
+|-------------|---------|----------|--------------|-------------|
| `key` | string | false | | |
| `sensitive` | boolean | false | | |
| `value` | string | false | | |
@@ -7852,7 +8497,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| ----------- |
+|-------------|
| `pending` |
| `starting` |
| `running` |
@@ -7875,7 +8520,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| -------- |
+|----------|
| `start` |
| `stop` |
| `delete` |
@@ -7884,194 +8529,217 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "count": 0,
- "workspaces": [
- {
- "allow_renames": true,
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "deleting_at": "2019-08-24T14:15:22Z",
- "dormant_at": "2019-08-24T14:15:22Z",
- "favorite": true,
- "health": {
- "failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "healthy": false
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "2019-08-24T14:15:22Z",
- "latest_build": {
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {},
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
- },
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "outdated": true,
- "owner_avatar_url": "string",
- "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
- "owner_name": "string",
- "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
- "template_allow_user_cancel_workspace_jobs": true,
- "template_display_name": "string",
- "template_icon": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_name": "string",
- "template_require_active_version": true,
- "ttl_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
- }
- ]
+ "count": 0,
+ "workspaces": [
+ {
+ "allow_renames": true,
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleting_at": "2019-08-24T14:15:22Z",
+ "dormant_at": "2019-08-24T14:15:22Z",
+ "favorite": true,
+ "health": {
+ "failing_agents": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "healthy": false
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "2019-08-24T14:15:22Z",
+ "latest_build": {
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {},
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
+ },
+ "name": "string",
+ "next_start_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "outdated": true,
+ "owner_avatar_url": "string",
+ "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
+ "owner_name": "string",
+ "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
+ "template_allow_user_cancel_workspace_jobs": true,
+ "template_display_name": "string",
+ "template_icon": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_name": "string",
+ "template_require_active_version": true,
+ "ttl_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------------------------------------------------- | -------- | ------------ | ----------- |
+|--------------|---------------------------------------------------|----------|--------------|-------------|
| `count` | integer | false | | |
| `workspaces` | array of [codersdk.Workspace](#codersdkworkspace) | false | | |
@@ -8079,16 +8747,16 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "key": {},
- "recv": 0,
- "sent": 0
+ "key": {},
+ "recv": 0,
+ "sent": 0
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------ | -------------------------------- | -------- | ------------ | -------------------------------------------------------------------- |
+|--------|----------------------------------|----------|--------------|----------------------------------------------------------------------|
| `key` | [key.NodePublic](#keynodepublic) | false | | Key is the public key of the client which sent/received these bytes. |
| `recv` | integer | false | | |
| `sent` | integer | false | | |
@@ -8097,19 +8765,19 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "tokenBucketBytesBurst": 0,
- "tokenBucketBytesPerSecond": 0
+ "tokenBucketBytesBurst": 0,
+ "tokenBucketBytesPerSecond": 0
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ------------------------------------------------------------------------------------------ | ------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------ |
-| `tokenBucketBytesBurst` | integer | false | | Tokenbucketbytesburst is how many bytes the server will allow to burst, temporarily violating TokenBucketBytesPerSecond. |
-| Zero means unspecified. There might be a limit, but the client need not try to respect it. |
-| `tokenBucketBytesPerSecond` | integer | false | | Tokenbucketbytespersecond is how many bytes per second the server says it will accept, including all framing bytes. |
-| Zero means unspecified. There might be a limit, but the client need not try to respect it. |
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|`tokenBucketBytesBurst`|integer|false||Tokenbucketbytesburst is how many bytes the server will allow to burst, temporarily violating TokenBucketBytesPerSecond.
+Zero means unspecified. There might be a limit, but the client need not try to respect it.|
+|`tokenBucketBytesPerSecond`|integer|false||Tokenbucketbytespersecond is how many bytes per second the server says it will accept, including all framing bytes.
+Zero means unspecified. There might be a limit, but the client need not try to respect it.|
## health.Code
@@ -8122,7 +8790,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| ---------- |
+|------------|
| `EUNKNOWN` |
| `EWP01` |
| `EWP02` |
@@ -8146,15 +8814,15 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "code": "EUNKNOWN",
- "message": "string"
+ "code": "EUNKNOWN",
+ "message": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | -------------------------- | -------- | ------------ | ----------- |
+|-----------|----------------------------|----------|--------------|-------------|
| `code` | [health.Code](#healthcode) | false | | |
| `message` | string | false | | |
@@ -8169,7 +8837,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| --------- |
+|-----------|
| `ok` |
| `warning` |
| `error` |
@@ -8178,27 +8846,27 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "access_url": "string",
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "healthz_response": "string",
- "reachable": true,
- "severity": "ok",
- "status_code": 0,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
+ "access_url": "string",
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "healthz_response": "string",
+ "reachable": true,
+ "severity": "ok",
+ "status_code": 0,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ----------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------- |
+|--------------------|-------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------|
| `access_url` | string | false | | |
| `dismissed` | boolean | false | | |
| `error` | string | false | | |
@@ -8212,7 +8880,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------- | --------- |
+|------------|-----------|
| `severity` | `ok` |
| `severity` | `warning` |
| `severity` | `error` |
@@ -8221,213 +8889,231 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "netcheck": {
- "captivePortal": "string",
- "globalV4": "string",
- "globalV6": "string",
- "hairPinning": "string",
- "icmpv4": true,
- "ipv4": true,
- "ipv4CanSend": true,
- "ipv6": true,
- "ipv6CanSend": true,
- "mappingVariesByDestIP": "string",
- "oshasIPv6": true,
- "pcp": "string",
- "pmp": "string",
- "preferredDERP": 0,
- "regionLatency": {
- "property1": 0,
- "property2": 0
- },
- "regionV4Latency": {
- "property1": 0,
- "property2": 0
- },
- "regionV6Latency": {
- "property1": 0,
- "property2": 0
- },
- "udp": true,
- "upnP": "string"
- },
- "netcheck_err": "string",
- "netcheck_logs": ["string"],
- "regions": {
- "property1": {
- "error": "string",
- "healthy": true,
- "node_reports": [
- {
- "can_exchange_messages": true,
- "client_errs": [["string"]],
- "client_logs": [["string"]],
- "error": "string",
- "healthy": true,
- "node": {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- },
- "node_info": {
- "tokenBucketBytesBurst": 0,
- "tokenBucketBytesPerSecond": 0
- },
- "round_trip_ping": "string",
- "round_trip_ping_ms": 0,
- "severity": "ok",
- "stun": {
- "canSTUN": true,
- "enabled": true,
- "error": "string"
- },
- "uses_websocket": true,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "region": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "property2": {
- "error": "string",
- "healthy": true,
- "node_reports": [
- {
- "can_exchange_messages": true,
- "client_errs": [["string"]],
- "client_logs": [["string"]],
- "error": "string",
- "healthy": true,
- "node": {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- },
- "node_info": {
- "tokenBucketBytesBurst": 0,
- "tokenBucketBytesPerSecond": 0
- },
- "round_trip_ping": "string",
- "round_trip_ping_ms": 0,
- "severity": "ok",
- "stun": {
- "canSTUN": true,
- "enabled": true,
- "error": "string"
- },
- "uses_websocket": true,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "region": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "netcheck": {
+ "captivePortal": "string",
+ "globalV4": "string",
+ "globalV6": "string",
+ "hairPinning": "string",
+ "icmpv4": true,
+ "ipv4": true,
+ "ipv4CanSend": true,
+ "ipv6": true,
+ "ipv6CanSend": true,
+ "mappingVariesByDestIP": "string",
+ "oshasIPv6": true,
+ "pcp": "string",
+ "pmp": "string",
+ "preferredDERP": 0,
+ "regionLatency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "regionV4Latency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "regionV6Latency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "udp": true,
+ "upnP": "string"
+ },
+ "netcheck_err": "string",
+ "netcheck_logs": [
+ "string"
+ ],
+ "regions": {
+ "property1": {
+ "error": "string",
+ "healthy": true,
+ "node_reports": [
+ {
+ "can_exchange_messages": true,
+ "client_errs": [
+ [
+ "string"
+ ]
+ ],
+ "client_logs": [
+ [
+ "string"
+ ]
+ ],
+ "error": "string",
+ "healthy": true,
+ "node": {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ },
+ "node_info": {
+ "tokenBucketBytesBurst": 0,
+ "tokenBucketBytesPerSecond": 0
+ },
+ "round_trip_ping": "string",
+ "round_trip_ping_ms": 0,
+ "severity": "ok",
+ "stun": {
+ "canSTUN": true,
+ "enabled": true,
+ "error": "string"
+ },
+ "uses_websocket": true,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "region": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "property2": {
+ "error": "string",
+ "healthy": true,
+ "node_reports": [
+ {
+ "can_exchange_messages": true,
+ "client_errs": [
+ [
+ "string"
+ ]
+ ],
+ "client_logs": [
+ [
+ "string"
+ ]
+ ],
+ "error": "string",
+ "healthy": true,
+ "node": {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ },
+ "node_info": {
+ "tokenBucketBytesBurst": 0,
+ "tokenBucketBytesPerSecond": 0
+ },
+ "round_trip_ping": "string",
+ "round_trip_ping_ms": 0,
+ "severity": "ok",
+ "stun": {
+ "canSTUN": true,
+ "enabled": true,
+ "error": "string"
+ },
+ "uses_websocket": true,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "region": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | -------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------- |
+|--------------------|----------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------|
| `dismissed` | boolean | false | | |
| `error` | string | false | | |
| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. |
@@ -8442,7 +9128,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------- | --------- |
+|------------|-----------|
| `severity` | `ok` |
| `severity` | `warning` |
| `severity` | `error` |
@@ -8451,52 +9137,60 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "can_exchange_messages": true,
- "client_errs": [["string"]],
- "client_logs": [["string"]],
- "error": "string",
- "healthy": true,
- "node": {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- },
- "node_info": {
- "tokenBucketBytesBurst": 0,
- "tokenBucketBytesPerSecond": 0
- },
- "round_trip_ping": "string",
- "round_trip_ping_ms": 0,
- "severity": "ok",
- "stun": {
- "canSTUN": true,
- "enabled": true,
- "error": "string"
- },
- "uses_websocket": true,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
+ "can_exchange_messages": true,
+ "client_errs": [
+ [
+ "string"
+ ]
+ ],
+ "client_logs": [
+ [
+ "string"
+ ]
+ ],
+ "error": "string",
+ "healthy": true,
+ "node": {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ },
+ "node_info": {
+ "tokenBucketBytesBurst": 0,
+ "tokenBucketBytesPerSecond": 0
+ },
+ "round_trip_ping": "string",
+ "round_trip_ping_ms": 0,
+ "severity": "ok",
+ "stun": {
+ "canSTUN": true,
+ "enabled": true,
+ "error": "string"
+ },
+ "uses_websocket": true,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | ------------------------------------------------ | -------- | ------------ | ------------------------------------------------------------------------------------------- |
+|-------------------------|--------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------|
| `can_exchange_messages` | boolean | false | | |
| `client_errs` | array of array | false | | |
| `client_logs` | array of array | false | | |
@@ -8514,7 +9208,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------- | --------- |
+|------------|-----------|
| `severity` | `ok` |
| `severity` | `warning` |
| `severity` | `error` |
@@ -8523,89 +9217,97 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "error": "string",
- "healthy": true,
- "node_reports": [
- {
- "can_exchange_messages": true,
- "client_errs": [["string"]],
- "client_logs": [["string"]],
- "error": "string",
- "healthy": true,
- "node": {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- },
- "node_info": {
- "tokenBucketBytesBurst": 0,
- "tokenBucketBytesPerSecond": 0
- },
- "round_trip_ping": "string",
- "round_trip_ping_ms": 0,
- "severity": "ok",
- "stun": {
- "canSTUN": true,
- "enabled": true,
- "error": "string"
- },
- "uses_websocket": true,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "region": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
+ "error": "string",
+ "healthy": true,
+ "node_reports": [
+ {
+ "can_exchange_messages": true,
+ "client_errs": [
+ [
+ "string"
+ ]
+ ],
+ "client_logs": [
+ [
+ "string"
+ ]
+ ],
+ "error": "string",
+ "healthy": true,
+ "node": {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ },
+ "node_info": {
+ "tokenBucketBytesBurst": 0,
+ "tokenBucketBytesPerSecond": 0
+ },
+ "round_trip_ping": "string",
+ "round_trip_ping_ms": 0,
+ "severity": "ok",
+ "stun": {
+ "canSTUN": true,
+ "enabled": true,
+ "error": "string"
+ },
+ "uses_websocket": true,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "region": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------- |
+|----------------|---------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------|
| `error` | string | false | | |
| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. |
| `node_reports` | array of [healthsdk.DERPNodeReport](#healthsdkderpnodereport) | false | | |
@@ -8616,7 +9318,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------- | --------- |
+|------------|-----------|
| `severity` | `ok` |
| `severity` | `warning` |
| `severity` | `error` |
@@ -8625,27 +9327,27 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "latency": "string",
- "latency_ms": 0,
- "reachable": true,
- "severity": "ok",
- "threshold_ms": 0,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "latency": "string",
+ "latency_ms": 0,
+ "reachable": true,
+ "severity": "ok",
+ "threshold_ms": 0,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------- | ----------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------- |
+|----------------|-------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------|
| `dismissed` | boolean | false | | |
| `error` | string | false | | |
| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. |
@@ -8659,7 +9361,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------- | --------- |
+|------------|-----------|
| `severity` | `ok` |
| `severity` | `warning` |
| `severity` | `error` |
@@ -8675,7 +9377,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Value |
-| -------------------- |
+|----------------------|
| `DERP` |
| `AccessURL` |
| `Websocket` |
@@ -8687,354 +9389,390 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "dismissed_healthchecks": ["DERP"]
+ "dismissed_healthchecks": [
+ "DERP"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------------ | ----------------------------------------------------------- | -------- | ------------ | ----------- |
+|--------------------------|-------------------------------------------------------------|----------|--------------|-------------|
| `dismissed_healthchecks` | array of [healthsdk.HealthSection](#healthsdkhealthsection) | false | | |
## healthsdk.HealthcheckReport
```json
{
- "access_url": {
- "access_url": "string",
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "healthz_response": "string",
- "reachable": true,
- "severity": "ok",
- "status_code": 0,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "coder_version": "string",
- "database": {
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "latency": "string",
- "latency_ms": 0,
- "reachable": true,
- "severity": "ok",
- "threshold_ms": 0,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "derp": {
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "netcheck": {
- "captivePortal": "string",
- "globalV4": "string",
- "globalV6": "string",
- "hairPinning": "string",
- "icmpv4": true,
- "ipv4": true,
- "ipv4CanSend": true,
- "ipv6": true,
- "ipv6CanSend": true,
- "mappingVariesByDestIP": "string",
- "oshasIPv6": true,
- "pcp": "string",
- "pmp": "string",
- "preferredDERP": 0,
- "regionLatency": {
- "property1": 0,
- "property2": 0
- },
- "regionV4Latency": {
- "property1": 0,
- "property2": 0
- },
- "regionV6Latency": {
- "property1": 0,
- "property2": 0
- },
- "udp": true,
- "upnP": "string"
- },
- "netcheck_err": "string",
- "netcheck_logs": ["string"],
- "regions": {
- "property1": {
- "error": "string",
- "healthy": true,
- "node_reports": [
- {
- "can_exchange_messages": true,
- "client_errs": [["string"]],
- "client_logs": [["string"]],
- "error": "string",
- "healthy": true,
- "node": {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- },
- "node_info": {
- "tokenBucketBytesBurst": 0,
- "tokenBucketBytesPerSecond": 0
- },
- "round_trip_ping": "string",
- "round_trip_ping_ms": 0,
- "severity": "ok",
- "stun": {
- "canSTUN": true,
- "enabled": true,
- "error": "string"
- },
- "uses_websocket": true,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "region": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "property2": {
- "error": "string",
- "healthy": true,
- "node_reports": [
- {
- "can_exchange_messages": true,
- "client_errs": [["string"]],
- "client_logs": [["string"]],
- "error": "string",
- "healthy": true,
- "node": {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- },
- "node_info": {
- "tokenBucketBytesBurst": 0,
- "tokenBucketBytesPerSecond": 0
- },
- "round_trip_ping": "string",
- "round_trip_ping_ms": 0,
- "severity": "ok",
- "stun": {
- "canSTUN": true,
- "enabled": true,
- "error": "string"
- },
- "uses_websocket": true,
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "region": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- },
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "healthy": true,
- "provisioner_daemons": {
- "dismissed": true,
- "error": "string",
- "items": [
- {
- "provisioner_daemon": {
- "api_version": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "provisioners": ["string"],
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "version": "string"
- },
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "severity": "ok",
- "time": "2019-08-24T14:15:22Z",
- "websocket": {
- "body": "string",
- "code": 0,
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- },
- "workspace_proxy": {
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ],
- "workspace_proxies": {
- "regions": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "deleted": true,
- "derp_enabled": true,
- "derp_only": true,
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "status": {
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
- },
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string",
- "wildcard_hostname": "string"
- }
- ]
- }
- }
+ "access_url": {
+ "access_url": "string",
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "healthz_response": "string",
+ "reachable": true,
+ "severity": "ok",
+ "status_code": 0,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "coder_version": "string",
+ "database": {
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "latency": "string",
+ "latency_ms": 0,
+ "reachable": true,
+ "severity": "ok",
+ "threshold_ms": 0,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "derp": {
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "netcheck": {
+ "captivePortal": "string",
+ "globalV4": "string",
+ "globalV6": "string",
+ "hairPinning": "string",
+ "icmpv4": true,
+ "ipv4": true,
+ "ipv4CanSend": true,
+ "ipv6": true,
+ "ipv6CanSend": true,
+ "mappingVariesByDestIP": "string",
+ "oshasIPv6": true,
+ "pcp": "string",
+ "pmp": "string",
+ "preferredDERP": 0,
+ "regionLatency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "regionV4Latency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "regionV6Latency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "udp": true,
+ "upnP": "string"
+ },
+ "netcheck_err": "string",
+ "netcheck_logs": [
+ "string"
+ ],
+ "regions": {
+ "property1": {
+ "error": "string",
+ "healthy": true,
+ "node_reports": [
+ {
+ "can_exchange_messages": true,
+ "client_errs": [
+ [
+ "string"
+ ]
+ ],
+ "client_logs": [
+ [
+ "string"
+ ]
+ ],
+ "error": "string",
+ "healthy": true,
+ "node": {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ },
+ "node_info": {
+ "tokenBucketBytesBurst": 0,
+ "tokenBucketBytesPerSecond": 0
+ },
+ "round_trip_ping": "string",
+ "round_trip_ping_ms": 0,
+ "severity": "ok",
+ "stun": {
+ "canSTUN": true,
+ "enabled": true,
+ "error": "string"
+ },
+ "uses_websocket": true,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "region": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "property2": {
+ "error": "string",
+ "healthy": true,
+ "node_reports": [
+ {
+ "can_exchange_messages": true,
+ "client_errs": [
+ [
+ "string"
+ ]
+ ],
+ "client_logs": [
+ [
+ "string"
+ ]
+ ],
+ "error": "string",
+ "healthy": true,
+ "node": {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ },
+ "node_info": {
+ "tokenBucketBytesBurst": 0,
+ "tokenBucketBytesPerSecond": 0
+ },
+ "round_trip_ping": "string",
+ "round_trip_ping_ms": 0,
+ "severity": "ok",
+ "stun": {
+ "canSTUN": true,
+ "enabled": true,
+ "error": "string"
+ },
+ "uses_websocket": true,
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "region": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ },
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "healthy": true,
+ "provisioner_daemons": {
+ "dismissed": true,
+ "error": "string",
+ "items": [
+ {
+ "provisioner_daemon": {
+ "api_version": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "current_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
+ "key_name": "string",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "previous_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "provisioners": [
+ "string"
+ ],
+ "status": "offline",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "version": "string"
+ },
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "severity": "ok",
+ "time": "2019-08-24T14:15:22Z",
+ "websocket": {
+ "body": "string",
+ "code": 0,
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ },
+ "workspace_proxy": {
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ],
+ "workspace_proxies": {
+ "regions": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleted": true,
+ "derp_enabled": true,
+ "derp_only": true,
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "status": {
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
+ },
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string",
+ "wildcard_hostname": "string"
+ }
+ ]
+ }
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------------------- | ------------------------------------------------------------------------ | -------- | ------------ | ----------------------------------------------------------------------------------- |
+|-----------------------|--------------------------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------|
| `access_url` | [healthsdk.AccessURLReport](#healthsdkaccessurlreport) | false | | |
| `coder_version` | string | false | | The Coder version of the server that the report was generated on. |
| `database` | [healthsdk.DatabaseReport](#healthsdkdatabasereport) | false | | |
@@ -9049,7 +9787,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------- | --------- |
+|------------|-----------|
| `severity` | `ok` |
| `severity` | `warning` |
| `severity` | `error` |
@@ -9058,47 +9796,59 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "dismissed": true,
- "error": "string",
- "items": [
- {
- "provisioner_daemon": {
- "api_version": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "provisioners": ["string"],
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "version": "string"
- },
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
- }
- ],
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
+ "dismissed": true,
+ "error": "string",
+ "items": [
+ {
+ "provisioner_daemon": {
+ "api_version": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "current_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
+ "key_name": "string",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "previous_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "provisioners": [
+ "string"
+ ],
+ "status": "offline",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "version": "string"
+ },
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
+ }
+ ],
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------- | ----------------------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|-------------|-------------------------------------------------------------------------------------------|----------|--------------|-------------|
| `dismissed` | boolean | false | | |
| `error` | string | false | | |
| `items` | array of [healthsdk.ProvisionerDaemonsReportItem](#healthsdkprovisionerdaemonsreportitem) | false | | |
@@ -9108,7 +9858,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------- | --------- |
+|------------|-----------|
| `severity` | `ok` |
| `severity` | `warning` |
| `severity` | `error` |
@@ -9117,34 +9867,46 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "provisioner_daemon": {
- "api_version": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "provisioners": ["string"],
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "version": "string"
- },
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
+ "provisioner_daemon": {
+ "api_version": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "current_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
+ "key_name": "string",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "previous_job": {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "status": "pending"
+ },
+ "provisioners": [
+ "string"
+ ],
+ "status": "offline",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "version": "string"
+ },
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | -------------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------------|----------------------------------------------------------|----------|--------------|-------------|
| `provisioner_daemon` | [codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon) | false | | |
| `warnings` | array of [health.Message](#healthmessage) | false | | |
@@ -9152,16 +9914,16 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "canSTUN": true,
- "enabled": true,
- "error": "string"
+ "canSTUN": true,
+ "enabled": true,
+ "error": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| --------- | ------- | -------- | ------------ | ----------- |
+|-----------|---------|----------|--------------|-------------|
| `canSTUN` | boolean | false | | |
| `enabled` | boolean | false | | |
| `error` | string | false | | |
@@ -9170,39 +9932,41 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "dismissed_healthchecks": ["DERP"]
+ "dismissed_healthchecks": [
+ "DERP"
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------------ | ----------------------------------------------------------- | -------- | ------------ | ----------- |
+|--------------------------|-------------------------------------------------------------|----------|--------------|-------------|
| `dismissed_healthchecks` | array of [healthsdk.HealthSection](#healthsdkhealthsection) | false | | |
## healthsdk.WebsocketReport
```json
{
- "body": "string",
- "code": 0,
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ]
+ "body": "string",
+ "code": 0,
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------- | ----------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------- |
+|-------------|-------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------|
| `body` | string | false | | |
| `code` | integer | false | | |
| `dismissed` | boolean | false | | |
@@ -9214,7 +9978,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------- | --------- |
+|------------|-----------|
| `severity` | `ok` |
| `severity` | `warning` |
| `severity` | `error` |
@@ -9223,50 +9987,54 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "dismissed": true,
- "error": "string",
- "healthy": true,
- "severity": "ok",
- "warnings": [
- {
- "code": "EUNKNOWN",
- "message": "string"
- }
- ],
- "workspace_proxies": {
- "regions": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "deleted": true,
- "derp_enabled": true,
- "derp_only": true,
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "status": {
- "checked_at": "2019-08-24T14:15:22Z",
- "report": {
- "errors": ["string"],
- "warnings": ["string"]
- },
- "status": "ok"
- },
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string",
- "wildcard_hostname": "string"
- }
- ]
- }
+ "dismissed": true,
+ "error": "string",
+ "healthy": true,
+ "severity": "ok",
+ "warnings": [
+ {
+ "code": "EUNKNOWN",
+ "message": "string"
+ }
+ ],
+ "workspace_proxies": {
+ "regions": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleted": true,
+ "derp_enabled": true,
+ "derp_only": true,
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "status": {
+ "checked_at": "2019-08-24T14:15:22Z",
+ "report": {
+ "errors": [
+ "string"
+ ],
+ "warnings": [
+ "string"
+ ]
+ },
+ "status": "ok"
+ },
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string",
+ "wildcard_hostname": "string"
+ }
+ ]
+ }
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ---------------------------------------------------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------- |
+|---------------------|------------------------------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------|
| `dismissed` | boolean | false | | |
| `error` | string | false | | |
| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. |
@@ -9277,7 +10045,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
#### Enumerated Values
| Property | Value |
-| ---------- | --------- |
+|------------|-----------|
| `severity` | `ok` |
| `severity` | `warning` |
| `severity` | `error` |
@@ -9290,47 +10058,47 @@ If the schedule is empty, the user will be updated to use the default schedule.|
### Properties
-_None_
+None
## netcheck.Report
```json
{
- "captivePortal": "string",
- "globalV4": "string",
- "globalV6": "string",
- "hairPinning": "string",
- "icmpv4": true,
- "ipv4": true,
- "ipv4CanSend": true,
- "ipv6": true,
- "ipv6CanSend": true,
- "mappingVariesByDestIP": "string",
- "oshasIPv6": true,
- "pcp": "string",
- "pmp": "string",
- "preferredDERP": 0,
- "regionLatency": {
- "property1": 0,
- "property2": 0
- },
- "regionV4Latency": {
- "property1": 0,
- "property2": 0
- },
- "regionV6Latency": {
- "property1": 0,
- "property2": 0
- },
- "udp": true,
- "upnP": "string"
+ "captivePortal": "string",
+ "globalV4": "string",
+ "globalV6": "string",
+ "hairPinning": "string",
+ "icmpv4": true,
+ "ipv4": true,
+ "ipv4CanSend": true,
+ "ipv6": true,
+ "ipv6CanSend": true,
+ "mappingVariesByDestIP": "string",
+ "oshasIPv6": true,
+ "pcp": "string",
+ "pmp": "string",
+ "preferredDERP": 0,
+ "regionLatency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "regionV4Latency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "regionV6Latency": {
+ "property1": 0,
+ "property2": 0
+ },
+ "udp": true,
+ "upnP": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | ------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
+|-------------------------|---------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------|
| `captivePortal` | string | false | | Captiveportal is set when we think there's a captive portal that is intercepting HTTP traffic. |
| `globalV4` | string | false | | ip:port of global IPv4 |
| `globalV6` | string | false | | [ip]:port of global IPv6 |
@@ -9358,24 +10126,24 @@ _None_
```json
{
- "access_token": "string",
- "expires_in": 0,
- "expiry": "string",
- "refresh_token": "string",
- "token_type": "string"
+ "access_token": "string",
+ "expires_in": 0,
+ "expiry": "string",
+ "refresh_token": "string",
+ "token_type": "string"
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `access_token` | string | false | | Access token is the token that authorizes and authenticates the requests. |
-| `expires_in` | integer | false | | Expires in is the OAuth2 wire format "expires_in" field, which specifies how many seconds later the token expires, relative to an unknown time base approximately around "now". It is the application's responsibility to populate `Expiry` from `ExpiresIn` when required. |
-| `expiry` | string | false | | Expiry is the optional expiration time of the access token. |
-| If zero, TokenSource implementations will reuse the same token forever and RefreshToken or equivalent mechanisms for that TokenSource will not be used. |
-| `refresh_token` | string | false | | Refresh token is a token that's used by the application (as opposed to the user) to refresh the access token if it expires. |
-| `token_type` | string | false | | Token type is the type of token. The Type method returns either this or "Bearer", the default. |
+| Name | Type | Required | Restrictions | Description |
+|----------------|---------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `access_token` | string | false | | Access token is the token that authorizes and authenticates the requests. |
+| `expires_in` | integer | false | | Expires in is the OAuth2 wire format "expires_in" field, which specifies how many seconds later the token expires, relative to an unknown time base approximately around "now". It is the application's responsibility to populate `Expiry` from `ExpiresIn` when required. |
+|`expiry`|string|false||Expiry is the optional expiration time of the access token.
+If zero, TokenSource implementations will reuse the same token forever and RefreshToken or equivalent mechanisms for that TokenSource will not be used.|
+|`refresh_token`|string|false||Refresh token is a token that's used by the application (as opposed to the user) to refresh the access token if it expires.|
+|`token_type`|string|false||Token type is the type of token. The Type method returns either this or "Bearer", the default.|
## regexp.Regexp
@@ -9385,43 +10153,43 @@ _None_
### Properties
-_None_
+None
## serpent.Annotations
```json
{
- "property1": "string",
- "property2": "string"
+ "property1": "string",
+ "property2": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ------ | -------- | ------------ | ----------- |
+|------------------|--------|----------|--------------|-------------|
| `[any property]` | string | false | | |
## serpent.Group
```json
{
- "description": "string",
- "name": "string",
- "parent": {
- "description": "string",
- "name": "string",
- "parent": {},
- "yaml": "string"
- },
- "yaml": "string"
+ "description": "string",
+ "name": "string",
+ "parent": {
+ "description": "string",
+ "name": "string",
+ "parent": {},
+ "yaml": "string"
+ },
+ "yaml": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | ------------------------------ | -------- | ------------ | ----------- |
+|---------------|--------------------------------|----------|--------------|-------------|
| `description` | string | false | | |
| `name` | string | false | | |
| `parent` | [serpent.Group](#serpentgroup) | false | | |
@@ -9431,15 +10199,15 @@ _None_
```json
{
- "host": "string",
- "port": "string"
+ "host": "string",
+ "port": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------ | ------ | -------- | ------------ | ----------- |
+|--------|--------|----------|--------------|-------------|
| `host` | string | false | | |
| `port` | string | false | | |
@@ -9447,70 +10215,70 @@ _None_
```json
{
- "annotations": {
- "property1": "string",
- "property2": "string"
- },
- "default": "string",
- "description": "string",
- "env": "string",
- "flag": "string",
- "flag_shorthand": "string",
- "group": {
- "description": "string",
- "name": "string",
- "parent": {
- "description": "string",
- "name": "string",
- "parent": {},
- "yaml": "string"
- },
- "yaml": "string"
- },
- "hidden": true,
- "name": "string",
- "required": true,
- "use_instead": [
- {
- "annotations": {
- "property1": "string",
- "property2": "string"
- },
- "default": "string",
- "description": "string",
- "env": "string",
- "flag": "string",
- "flag_shorthand": "string",
- "group": {
- "description": "string",
- "name": "string",
- "parent": {
- "description": "string",
- "name": "string",
- "parent": {},
- "yaml": "string"
- },
- "yaml": "string"
- },
- "hidden": true,
- "name": "string",
- "required": true,
- "use_instead": [],
- "value": null,
- "value_source": "",
- "yaml": "string"
- }
- ],
- "value": null,
- "value_source": "",
- "yaml": "string"
+ "annotations": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "default": "string",
+ "description": "string",
+ "env": "string",
+ "flag": "string",
+ "flag_shorthand": "string",
+ "group": {
+ "description": "string",
+ "name": "string",
+ "parent": {
+ "description": "string",
+ "name": "string",
+ "parent": {},
+ "yaml": "string"
+ },
+ "yaml": "string"
+ },
+ "hidden": true,
+ "name": "string",
+ "required": true,
+ "use_instead": [
+ {
+ "annotations": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "default": "string",
+ "description": "string",
+ "env": "string",
+ "flag": "string",
+ "flag_shorthand": "string",
+ "group": {
+ "description": "string",
+ "name": "string",
+ "parent": {
+ "description": "string",
+ "name": "string",
+ "parent": {},
+ "yaml": "string"
+ },
+ "yaml": "string"
+ },
+ "hidden": true,
+ "name": "string",
+ "required": true,
+ "use_instead": [],
+ "value": null,
+ "value_source": "",
+ "yaml": "string"
+ }
+ ],
+ "value": null,
+ "value_source": "",
+ "yaml": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ------------------------------------------ | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------------|--------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| `annotations` | [serpent.Annotations](#serpentannotations) | false | | Annotations enable extensions to serpent higher up in the stack. It's useful for help formatting and documentation generation. |
| `default` | string | false | | Default is parsed into Value if set. |
| `description` | string | false | | |
@@ -9534,82 +10302,84 @@ _None_
### Properties
-_None_
+None
## serpent.Struct-array_codersdk_ExternalAuthConfig
```json
{
- "value": [
- {
- "app_install_url": "string",
- "app_installations_url": "string",
- "auth_url": "string",
- "client_id": "string",
- "device_code_url": "string",
- "device_flow": true,
- "display_icon": "string",
- "display_name": "string",
- "id": "string",
- "no_refresh": true,
- "regex": "string",
- "scopes": ["string"],
- "token_url": "string",
- "type": "string",
- "validate_url": "string"
- }
- ]
+ "value": [
+ {
+ "app_install_url": "string",
+ "app_installations_url": "string",
+ "auth_url": "string",
+ "client_id": "string",
+ "device_code_url": "string",
+ "device_flow": true,
+ "display_icon": "string",
+ "display_name": "string",
+ "id": "string",
+ "no_refresh": true,
+ "regex": "string",
+ "scopes": [
+ "string"
+ ],
+ "token_url": "string",
+ "type": "string",
+ "validate_url": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | ------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|---------|---------------------------------------------------------------------|----------|--------------|-------------|
| `value` | array of [codersdk.ExternalAuthConfig](#codersdkexternalauthconfig) | false | | |
## serpent.Struct-array_codersdk_LinkConfig
```json
{
- "value": [
- {
- "icon": "bug",
- "name": "string",
- "target": "string"
- }
- ]
+ "value": [
+ {
+ "icon": "bug",
+ "name": "string",
+ "target": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | --------------------------------------------------- | -------- | ------------ | ----------- |
+|---------|-----------------------------------------------------|----------|--------------|-------------|
| `value` | array of [codersdk.LinkConfig](#codersdklinkconfig) | false | | |
## serpent.URL
```json
{
- "forceQuery": true,
- "fragment": "string",
- "host": "string",
- "omitHost": true,
- "opaque": "string",
- "path": "string",
- "rawFragment": "string",
- "rawPath": "string",
- "rawQuery": "string",
- "scheme": "string",
- "user": {}
+ "forceQuery": true,
+ "fragment": "string",
+ "host": "string",
+ "omitHost": true,
+ "opaque": "string",
+ "path": "string",
+ "rawFragment": "string",
+ "rawPath": "string",
+ "rawQuery": "string",
+ "scheme": "string",
+ "user": {}
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | ---------------------------- | -------- | ------------ | -------------------------------------------------- |
+|---------------|------------------------------|----------|--------------|----------------------------------------------------|
| `forceQuery` | boolean | false | | append a query ('?') even if RawQuery is empty |
| `fragment` | string | false | | fragment for references, without '#' |
| `host` | string | false | | host or host:port (see Hostname and Port methods) |
@@ -9633,7 +10403,7 @@ _None_
#### Enumerated Values
| Value |
-| --------- |
+|-----------|
| `` |
| `flag` |
| `env` |
@@ -9644,19 +10414,18 @@ _None_
```json
{
- "regionScore": {
- "property1": 0,
- "property2": 0
- }
+ "regionScore": {
+ "property1": 0,
+ "property2": 0
+ }
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ------------- | ------ | -------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `regionScore` | object | false | | Regionscore scales latencies of DERP regions by a given scaling factor when determining which region to use as the home ("preferred") DERP. Scores in the range (0, 1) will cause this region to be proportionally more preferred, and scores in the range (1, ∞) will penalize a region. |
-
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|`regionScore`|object|false||Regionscore scales latencies of DERP regions by a given scaling factor when determining which region to use as the home ("preferred") DERP. Scores in the range (0, 1) will cause this region to be proportionally more preferred, and scores in the range (1, ∞) will penalize a region.
If a region is not present in this map, it is treated as having a score of 1.0.
Scores should not be 0 or negative; such scores will be ignored.
A nil map means no change from the previous value (if any); an empty non-nil map can be sent to reset all scores back to 1.0.|
@@ -9666,76 +10435,75 @@ A nil map means no change from the previous value (if any); an empty non-nil map
```json
{
- "homeParams": {
- "regionScore": {
- "property1": 0,
- "property2": 0
- }
- },
- "omitDefaultRegions": true,
- "regions": {
- "property1": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "property2": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- }
- }
-}
-```
-
-### Properties
-
-| Name | Type | Required | Restrictions | Description |
-| ---------------------------------------------------------------------------------- | ------------------------------------------------ | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `homeParams` | [tailcfg.DERPHomeParams](#tailcfgderphomeparams) | false | | Homeparams if non-nil, is a change in home parameters. |
-| The rest of the DEPRMap fields, if zero, means unchanged. |
-| `omitDefaultRegions` | boolean | false | | Omitdefaultregions specifies to not use Tailscale's DERP servers, and only use those specified in this DERPMap. If there are none set outside of the defaults, this is a noop. |
-| This field is only meaningful if the Regions map is non-nil (indicating a change). |
-| `regions` | object | false | | Regions is the set of geographic regions running DERP node(s). |
-
+ "homeParams": {
+ "regionScore": {
+ "property1": 0,
+ "property2": 0
+ }
+ },
+ "omitDefaultRegions": true,
+ "regions": {
+ "property1": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "property2": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ }
+ }
+}
+```
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|`homeParams`|[tailcfg.DERPHomeParams](#tailcfgderphomeparams)|false||Homeparams if non-nil, is a change in home parameters.
+The rest of the DEPRMap fields, if zero, means unchanged.|
+|`omitDefaultRegions`|boolean|false||Omitdefaultregions specifies to not use Tailscale's DERP servers, and only use those specified in this DERPMap. If there are none set outside of the defaults, this is a noop.
+This field is only meaningful if the Regions map is non-nil (indicating a change).|
+|`regions`|object|false||Regions is the set of geographic regions running DERP node(s).
It's keyed by the DERPRegion.RegionID.
The numbers are not necessarily contiguous.|
|» `[any property]`|[tailcfg.DERPRegion](#tailcfgderpregion)|false|||
@@ -9744,82 +10512,81 @@ The numbers are not necessarily contiguous.|
```json
{
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| --------------------------------------------------------------------------------------------------------------------- | ------- | -------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `canPort80` | boolean | false | | Canport80 specifies whether this DERP node is accessible over HTTP on port 80 specifically. This is used for captive portal checks. |
-| `certName` | string | false | | Certname optionally specifies the expected TLS cert common name. If empty, HostName is used. If CertName is non-empty, HostName is only used for the TCP dial (if IPv4/IPv6 are not present) + TLS ClientHello. |
-| `derpport` | integer | false | | Derpport optionally provides an alternate TLS port number for the DERP HTTPS server. |
-| If zero, 443 is used. |
-| `forceHTTP` | boolean | false | | Forcehttp is used by unit tests to force HTTP. It should not be set by users. |
-| `hostName` | string | false | | Hostname is the DERP node's hostname. |
-| It is required but need not be unique; multiple nodes may have the same HostName but vary in configuration otherwise. |
-| `insecureForTests` | boolean | false | | Insecurefortests is used by unit tests to disable TLS verification. It should not be set by users. |
-| `ipv4` | string | false | | Ipv4 optionally forces an IPv4 address to use, instead of using DNS. If empty, A record(s) from DNS lookups of HostName are used. If the string is not an IPv4 address, IPv4 is not used; the conventional string to disable IPv4 (and not use DNS) is "none". |
-| `ipv6` | string | false | | Ipv6 optionally forces an IPv6 address to use, instead of using DNS. If empty, AAAA record(s) from DNS lookups of HostName are used. If the string is not an IPv6 address, IPv6 is not used; the conventional string to disable IPv6 (and not use DNS) is "none". |
-| `name` | string | false | | Name is a unique node name (across all regions). It is not a host name. It's typically of the form "1b", "2a", "3b", etc. (region ID + suffix within that region) |
-| `regionID` | integer | false | | Regionid is the RegionID of the DERPRegion that this node is running in. |
-| `stunonly` | boolean | false | | Stunonly marks a node as only a STUN server and not a DERP server. |
-| `stunport` | integer | false | | Port optionally specifies a STUN port to use. Zero means 3478. To disable STUN on this node, use -1. |
-| `stuntestIP` | string | false | | Stuntestip is used in tests to override the STUN server's IP. If empty, it's assumed to be the same as the DERP server. |
+| Name | Type | Required | Restrictions | Description |
+|-------------|---------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `canPort80` | boolean | false | | Canport80 specifies whether this DERP node is accessible over HTTP on port 80 specifically. This is used for captive portal checks. |
+| `certName` | string | false | | Certname optionally specifies the expected TLS cert common name. If empty, HostName is used. If CertName is non-empty, HostName is only used for the TCP dial (if IPv4/IPv6 are not present) + TLS ClientHello. |
+|`derpport`|integer|false||Derpport optionally provides an alternate TLS port number for the DERP HTTPS server.
+If zero, 443 is used.|
+|`forceHTTP`|boolean|false||Forcehttp is used by unit tests to force HTTP. It should not be set by users.|
+|`hostName`|string|false||Hostname is the DERP node's hostname.
+It is required but need not be unique; multiple nodes may have the same HostName but vary in configuration otherwise.|
+|`insecureForTests`|boolean|false||Insecurefortests is used by unit tests to disable TLS verification. It should not be set by users.|
+|`ipv4`|string|false||Ipv4 optionally forces an IPv4 address to use, instead of using DNS. If empty, A record(s) from DNS lookups of HostName are used. If the string is not an IPv4 address, IPv4 is not used; the conventional string to disable IPv4 (and not use DNS) is "none".|
+|`ipv6`|string|false||Ipv6 optionally forces an IPv6 address to use, instead of using DNS. If empty, AAAA record(s) from DNS lookups of HostName are used. If the string is not an IPv6 address, IPv6 is not used; the conventional string to disable IPv6 (and not use DNS) is "none".|
+|`name`|string|false||Name is a unique node name (across all regions). It is not a host name. It's typically of the form "1b", "2a", "3b", etc. (region ID + suffix within that region)|
+|`regionID`|integer|false||Regionid is the RegionID of the DERPRegion that this node is running in.|
+|`stunonly`|boolean|false||Stunonly marks a node as only a STUN server and not a DERP server.|
+|`stunport`|integer|false||Port optionally specifies a STUN port to use. Zero means 3478. To disable STUN on this node, use -1.|
+|`stuntestIP`|string|false||Stuntestip is used in tests to override the STUN server's IP. If empty, it's assumed to be the same as the DERP server.|
## tailcfg.DERPRegion
```json
{
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
-}
-```
-
-### Properties
-
-| Name | Type | Required | Restrictions | Description |
-| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `avoid` | boolean | false | | Avoid is whether the client should avoid picking this as its home region. The region should only be used if a peer is there. Clients already using this region as their home should migrate away to a new region without Avoid set. |
-| `embeddedRelay` | boolean | false | | Embeddedrelay is true when the region is bundled with the Coder control plane. |
-| `nodes` | array of [tailcfg.DERPNode](#tailcfgderpnode) | false | | Nodes are the DERP nodes running in this region, in priority order for the current client. Client TLS connections should ideally only go to the first entry (falling back to the second if necessary). STUN packets should go to the first 1 or 2. |
-| If nodes within a region route packets amongst themselves, but not to other regions. That said, each user/domain should get a the same preferred node order, so if all nodes for a user/network pick the first one (as they should, when things are healthy), the inter-cluster routing is minimal to zero. |
-| `regionCode` | string | false | | Regioncode is a short name for the region. It's usually a popular city or airport code in the region: "nyc", "sf", "sin", "fra", etc. |
-| `regionID` | integer | false | | Regionid is a unique integer for a geographic region. |
-
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+}
+```
+
+### Properties
+
+| Name | Type | Required | Restrictions | Description |
+|-----------------|---------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `avoid` | boolean | false | | Avoid is whether the client should avoid picking this as its home region. The region should only be used if a peer is there. Clients already using this region as their home should migrate away to a new region without Avoid set. |
+| `embeddedRelay` | boolean | false | | Embeddedrelay is true when the region is bundled with the Coder control plane. |
+|`nodes`|array of [tailcfg.DERPNode](#tailcfgderpnode)|false||Nodes are the DERP nodes running in this region, in priority order for the current client. Client TLS connections should ideally only go to the first entry (falling back to the second if necessary). STUN packets should go to the first 1 or 2.
+If nodes within a region route packets amongst themselves, but not to other regions. That said, each user/domain should get a the same preferred node order, so if all nodes for a user/network pick the first one (as they should, when things are healthy), the inter-cluster routing is minimal to zero.|
+|`regionCode`|string|false||Regioncode is a short name for the region. It's usually a popular city or airport code in the region: "nyc", "sf", "sin", "fra", etc.|
+|`regionID`|integer|false||Regionid is a unique integer for a geographic region.
It corresponds to the legacy derpN.tailscale.com hostnames used by older clients. (Older clients will continue to resolve derpN.tailscale.com when contacting peers, rather than use the server-provided DERPMap)
RegionIDs must be non-zero, positive, and guaranteed to fit in a JavaScript number.
RegionIDs in range 900-999 are reserved for end users to run their own DERP nodes.|
@@ -9833,7 +10600,7 @@ RegionIDs in range 900-999 are reserved for end users to run their own DERP node
### Properties
-_None_
+None
## workspaceapps.AccessMethod
@@ -9846,7 +10613,7 @@ _None_
#### Enumerated Values
| Value |
-| ----------- |
+|-------------|
| `path` |
| `subdomain` |
| `terminal` |
@@ -9855,27 +10622,27 @@ _None_
```json
{
- "app_hostname": "string",
- "app_path": "string",
- "app_query": "string",
- "app_request": {
- "access_method": "path",
- "agent_name_or_id": "string",
- "app_prefix": "string",
- "app_slug_or_port": "string",
- "base_path": "string",
- "username_or_id": "string",
- "workspace_name_or_id": "string"
- },
- "path_app_base_url": "string",
- "session_token": "string"
+ "app_hostname": "string",
+ "app_path": "string",
+ "app_query": "string",
+ "app_request": {
+ "access_method": "path",
+ "agent_name_or_id": "string",
+ "app_prefix": "string",
+ "app_slug_or_port": "string",
+ "base_path": "string",
+ "username_or_id": "string",
+ "workspace_name_or_id": "string"
+ },
+ "path_app_base_url": "string",
+ "session_token": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------- | ---------------------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------- |
+|---------------------|------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------|
| `app_hostname` | string | false | | App hostname is the optional hostname for subdomain apps on the external proxy. It must start with an asterisk. |
| `app_path` | string | false | | App path is the path of the user underneath the app base path. |
| `app_query` | string | false | | App query is the query parameters the user provided in the app request. |
@@ -9887,20 +10654,20 @@ _None_
```json
{
- "access_method": "path",
- "agent_name_or_id": "string",
- "app_prefix": "string",
- "app_slug_or_port": "string",
- "base_path": "string",
- "username_or_id": "string",
- "workspace_name_or_id": "string"
+ "access_method": "path",
+ "agent_name_or_id": "string",
+ "app_prefix": "string",
+ "app_slug_or_port": "string",
+ "base_path": "string",
+ "username_or_id": "string",
+ "workspace_name_or_id": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------- | -------------------------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------------------|----------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `access_method` | [workspaceapps.AccessMethod](#workspaceappsaccessmethod) | false | | |
| `agent_name_or_id` | string | false | | Agent name or ID is not required if the workspace has only one agent. |
| `app_prefix` | string | false | | Prefix is the prefix of the subdomain app URL. Prefix should have a trailing "---" if set. |
@@ -9913,22 +10680,22 @@ _None_
```json
{
- "access_method": "path",
- "agent_id": "string",
- "requests": 0,
- "session_ended_at": "string",
- "session_id": "string",
- "session_started_at": "string",
- "slug_or_port": "string",
- "user_id": "string",
- "workspace_id": "string"
+ "access_method": "path",
+ "agent_id": "string",
+ "requests": 0,
+ "session_ended_at": "string",
+ "session_id": "string",
+ "session_started_at": "string",
+ "slug_or_port": "string",
+ "user_id": "string",
+ "workspace_id": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| -------------------- | -------------------------------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------- |
+|----------------------|----------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------|
| `access_method` | [workspaceapps.AccessMethod](#workspaceappsaccessmethod) | false | | |
| `agent_id` | string | false | | |
| `requests` | integer | false | | |
@@ -9943,74 +10710,74 @@ _None_
```json
{
- "derp_force_websockets": true,
- "derp_map": {
- "homeParams": {
- "regionScore": {
- "property1": 0,
- "property2": 0
- }
- },
- "omitDefaultRegions": true,
- "regions": {
- "property1": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "property2": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- }
- }
- },
- "disable_direct_connections": true
+ "derp_force_websockets": true,
+ "derp_map": {
+ "homeParams": {
+ "regionScore": {
+ "property1": 0,
+ "property2": 0
+ }
+ },
+ "omitDefaultRegions": true,
+ "regions": {
+ "property1": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "property2": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ }
+ }
+ },
+ "disable_direct_connections": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ---------------------------- | ---------------------------------- | -------- | ------------ | ----------- |
+|------------------------------|------------------------------------|----------|--------------|-------------|
| `derp_force_websockets` | boolean | false | | |
| `derp_map` | [tailcfg.DERPMap](#tailcfgderpmap) | false | | |
| `disable_direct_connections` | boolean | false | | |
@@ -10019,167 +10786,167 @@ _None_
```json
{
- "crypto_keys": [
- {
- "deletes_at": "2019-08-24T14:15:22Z",
- "feature": "workspace_apps_api_key",
- "secret": "string",
- "sequence": 0,
- "starts_at": "2019-08-24T14:15:22Z"
- }
- ]
+ "crypto_keys": [
+ {
+ "deletes_at": "2019-08-24T14:15:22Z",
+ "feature": "workspace_apps_api_key",
+ "secret": "string",
+ "sequence": 0,
+ "starts_at": "2019-08-24T14:15:22Z"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------- | ------------------------------------------------- | -------- | ------------ | ----------- |
+|---------------|---------------------------------------------------|----------|--------------|-------------|
| `crypto_keys` | array of [codersdk.CryptoKey](#codersdkcryptokey) | false | | |
## wsproxysdk.DeregisterWorkspaceProxyRequest
```json
{
- "replica_id": "string"
+ "replica_id": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------ | ------ | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|--------------|--------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `replica_id` | string | false | | Replica ID is a unique identifier for the replica of the proxy that is deregistering. It should be generated by the client on startup and should've already been passed to the register endpoint. |
## wsproxysdk.IssueSignedAppTokenResponse
```json
{
- "signed_token_str": "string"
+ "signed_token_str": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------------------ | ------ | -------- | ------------ | ----------------------------------------------------------- |
+|--------------------|--------|----------|--------------|-------------------------------------------------------------|
| `signed_token_str` | string | false | | Signed token str should be set as a cookie on the response. |
## wsproxysdk.RegisterWorkspaceProxyRequest
```json
{
- "access_url": "string",
- "derp_enabled": true,
- "derp_only": true,
- "hostname": "string",
- "replica_error": "string",
- "replica_id": "string",
- "replica_relay_address": "string",
- "version": "string",
- "wildcard_hostname": "string"
+ "access_url": "string",
+ "derp_enabled": true,
+ "derp_only": true,
+ "hostname": "string",
+ "replica_error": "string",
+ "replica_id": "string",
+ "replica_relay_address": "string",
+ "version": "string",
+ "wildcard_hostname": "string"
}
```
### Properties
-| Name | Type | Required | Restrictions | Description |
-| ------------------------------------------------------------------------------------------------- | ------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `access_url` | string | false | | Access URL that hits the workspace proxy api. |
-| `derp_enabled` | boolean | false | | Derp enabled indicates whether the proxy should be included in the DERP map or not. |
-| `derp_only` | boolean | false | | Derp only indicates whether the proxy should only be included in the DERP map and should not be used for serving apps. |
-| `hostname` | string | false | | Hostname is the OS hostname of the machine that the proxy is running on. This is only used for tracking purposes in the replicas table. |
-| `replica_error` | string | false | | Replica error is the error that the replica encountered when trying to dial it's peers. This is stored in the replicas table for debugging purposes but does not affect the proxy's ability to register. |
-| This value is only stored on subsequent requests to the register endpoint, not the first request. |
-| `replica_id` | string | false | | Replica ID is a unique identifier for the replica of the proxy that is registering. It should be generated by the client on startup and persisted (in memory only) until the process is restarted. |
-| `replica_relay_address` | string | false | | Replica relay address is the DERP address of the replica that other replicas may use to connect internally for DERP meshing. |
-| `version` | string | false | | Version is the Coder version of the proxy. |
-| `wildcard_hostname` | string | false | | Wildcard hostname that the workspace proxy api is serving for subdomain apps. |
+| Name | Type | Required | Restrictions | Description |
+|----------------|---------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------|
+| `access_url` | string | false | | Access URL that hits the workspace proxy api. |
+| `derp_enabled` | boolean | false | | Derp enabled indicates whether the proxy should be included in the DERP map or not. |
+| `derp_only` | boolean | false | | Derp only indicates whether the proxy should only be included in the DERP map and should not be used for serving apps. |
+| `hostname` | string | false | | Hostname is the OS hostname of the machine that the proxy is running on. This is only used for tracking purposes in the replicas table. |
+|`replica_error`|string|false||Replica error is the error that the replica encountered when trying to dial it's peers. This is stored in the replicas table for debugging purposes but does not affect the proxy's ability to register.
+This value is only stored on subsequent requests to the register endpoint, not the first request.|
+|`replica_id`|string|false||Replica ID is a unique identifier for the replica of the proxy that is registering. It should be generated by the client on startup and persisted (in memory only) until the process is restarted.|
+|`replica_relay_address`|string|false||Replica relay address is the DERP address of the replica that other replicas may use to connect internally for DERP meshing.|
+|`version`|string|false||Version is the Coder version of the proxy.|
+|`wildcard_hostname`|string|false||Wildcard hostname that the workspace proxy api is serving for subdomain apps.|
## wsproxysdk.RegisterWorkspaceProxyResponse
```json
{
- "derp_force_websockets": true,
- "derp_map": {
- "homeParams": {
- "regionScore": {
- "property1": 0,
- "property2": 0
- }
- },
- "omitDefaultRegions": true,
- "regions": {
- "property1": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- },
- "property2": {
- "avoid": true,
- "embeddedRelay": true,
- "nodes": [
- {
- "canPort80": true,
- "certName": "string",
- "derpport": 0,
- "forceHTTP": true,
- "hostName": "string",
- "insecureForTests": true,
- "ipv4": "string",
- "ipv6": "string",
- "name": "string",
- "regionID": 0,
- "stunonly": true,
- "stunport": 0,
- "stuntestIP": "string"
- }
- ],
- "regionCode": "string",
- "regionID": 0,
- "regionName": "string"
- }
- }
- },
- "derp_mesh_key": "string",
- "derp_region_id": 0,
- "sibling_replicas": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "database_latency": 0,
- "error": "string",
- "hostname": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "region_id": 0,
- "relay_address": "string"
- }
- ]
+ "derp_force_websockets": true,
+ "derp_map": {
+ "homeParams": {
+ "regionScore": {
+ "property1": 0,
+ "property2": 0
+ }
+ },
+ "omitDefaultRegions": true,
+ "regions": {
+ "property1": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ },
+ "property2": {
+ "avoid": true,
+ "embeddedRelay": true,
+ "nodes": [
+ {
+ "canPort80": true,
+ "certName": "string",
+ "derpport": 0,
+ "forceHTTP": true,
+ "hostName": "string",
+ "insecureForTests": true,
+ "ipv4": "string",
+ "ipv6": "string",
+ "name": "string",
+ "regionID": 0,
+ "stunonly": true,
+ "stunport": 0,
+ "stuntestIP": "string"
+ }
+ ],
+ "regionCode": "string",
+ "regionID": 0,
+ "regionName": "string"
+ }
+ }
+ },
+ "derp_mesh_key": "string",
+ "derp_region_id": 0,
+ "sibling_replicas": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "database_latency": 0,
+ "error": "string",
+ "hostname": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "region_id": 0,
+ "relay_address": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ----------------------- | --------------------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------------- |
+|-------------------------|-----------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------|
| `derp_force_websockets` | boolean | false | | |
| `derp_map` | [tailcfg.DERPMap](#tailcfgderpmap) | false | | |
| `derp_mesh_key` | string | false | | |
@@ -10190,24 +10957,24 @@ _None_
```json
{
- "stats": [
- {
- "access_method": "path",
- "agent_id": "string",
- "requests": 0,
- "session_ended_at": "string",
- "session_id": "string",
- "session_started_at": "string",
- "slug_or_port": "string",
- "user_id": "string",
- "workspace_id": "string"
- }
- ]
+ "stats": [
+ {
+ "access_method": "path",
+ "agent_id": "string",
+ "requests": 0,
+ "session_ended_at": "string",
+ "session_id": "string",
+ "session_started_at": "string",
+ "slug_or_port": "string",
+ "user_id": "string",
+ "workspace_id": "string"
+ }
+ ]
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
-| ------- | --------------------------------------------------------------- | -------- | ------------ | ----------- |
+|---------|-----------------------------------------------------------------|----------|--------------|-------------|
| `stats` | array of [workspaceapps.StatsReport](#workspaceappsstatsreport) | false | | |
diff --git a/docs/reference/api/templates.md b/docs/reference/api/templates.md
index d7da209e94771..6378c5f233fb8 100644
--- a/docs/reference/api/templates.md
+++ b/docs/reference/api/templates.md
@@ -16,7 +16,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Example responses
@@ -25,112 +25,116 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
```json
[
- {
- "active_user_count": 0,
- "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
- "activity_bump_ms": 0,
- "allow_user_autostart": true,
- "allow_user_autostop": true,
- "allow_user_cancel_workspace_jobs": true,
- "autostart_requirement": {
- "days_of_week": ["monday"]
- },
- "autostop_requirement": {
- "days_of_week": ["monday"],
- "weeks": 0
- },
- "build_time_stats": {
- "property1": {
- "p50": 123,
- "p95": 146
- },
- "property2": {
- "p50": 123,
- "p95": 146
- }
- },
- "created_at": "2019-08-24T14:15:22Z",
- "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
- "created_by_name": "string",
- "default_ttl_ms": 0,
- "deprecated": true,
- "deprecation_message": "string",
- "description": "string",
- "display_name": "string",
- "failure_ttl_ms": 0,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "max_port_share_level": "owner",
- "name": "string",
- "organization_display_name": "string",
- "organization_icon": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "provisioner": "terraform",
- "require_active_version": true,
- "time_til_dormant_autodelete_ms": 0,
- "time_til_dormant_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
- }
+ {
+ "active_user_count": 0,
+ "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
+ "activity_bump_ms": 0,
+ "allow_user_autostart": true,
+ "allow_user_autostop": true,
+ "allow_user_cancel_workspace_jobs": true,
+ "autostart_requirement": {
+ "days_of_week": [
+ "monday"
+ ]
+ },
+ "autostop_requirement": {
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
+ },
+ "build_time_stats": {
+ "property1": {
+ "p50": 123,
+ "p95": 146
+ },
+ "property2": {
+ "p50": 123,
+ "p95": 146
+ }
+ },
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
+ "created_by_name": "string",
+ "default_ttl_ms": 0,
+ "deprecated": true,
+ "deprecation_message": "string",
+ "description": "string",
+ "display_name": "string",
+ "failure_ttl_ms": 0,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "max_port_share_level": "owner",
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_icon": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "provisioner": "terraform",
+ "require_active_version": true,
+ "time_til_dormant_autodelete_ms": 0,
+ "time_til_dormant_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Template](schemas.md#codersdktemplate) |
Response Schema
Status Code **200**
-| Name | Type | Required | Restrictions | Description |
-| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `[array item]` | array | false | | |
-| `» active_user_count` | integer | false | | Active user count is set to -1 when loading. |
-| `» active_version_id` | string(uuid) | false | | |
-| `» activity_bump_ms` | integer | false | | |
-| `» allow_user_autostart` | boolean | false | | Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature. |
-| `» allow_user_autostop` | boolean | false | | |
-| `» allow_user_cancel_workspace_jobs` | boolean | false | | |
-| `» autostart_requirement` | [codersdk.TemplateAutostartRequirement](schemas.md#codersdktemplateautostartrequirement) | false | | |
-| `»» days_of_week` | array | false | | Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. |
-| `» autostop_requirement` | [codersdk.TemplateAutostopRequirement](schemas.md#codersdktemplateautostoprequirement) | false | | Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature. |
-| `»» days_of_week` | array | false | | Days of week is a list of days of the week on which restarts are required. Restarts happen within the user's quiet hours (in their configured timezone). If no days are specified, restarts are not required. Weekdays cannot be specified twice. |
-| Restarts will only happen on weekdays in this list on weeks which line up with Weeks. |
-| `»» weeks` | integer | false | | Weeks is the number of weeks between required restarts. Weeks are synced across all workspaces (and Coder deployments) using modulo math on a hardcoded epoch week of January 2nd, 2023 (the first Monday of 2023). Values of 0 or 1 indicate weekly restarts. Values of 2 indicate fortnightly restarts, etc. |
-| `» build_time_stats` | [codersdk.TemplateBuildTimeStats](schemas.md#codersdktemplatebuildtimestats) | false | | |
-| `»» [any property]` | [codersdk.TransitionStats](schemas.md#codersdktransitionstats) | false | | |
-| `»»» p50` | integer | false | | |
-| `»»» p95` | integer | false | | |
-| `» created_at` | string(date-time) | false | | |
-| `» created_by_id` | string(uuid) | false | | |
-| `» created_by_name` | string | false | | |
-| `» default_ttl_ms` | integer | false | | |
-| `» deprecated` | boolean | false | | |
-| `» deprecation_message` | string | false | | |
-| `» description` | string | false | | |
-| `» display_name` | string | false | | |
-| `» failure_ttl_ms` | integer | false | | Failure ttl ms TimeTilDormantMillis, and TimeTilDormantAutoDeleteMillis are enterprise-only. Their values are used if your license is entitled to use the advanced template scheduling feature. |
-| `» icon` | string | false | | |
-| `» id` | string(uuid) | false | | |
-| `» max_port_share_level` | [codersdk.WorkspaceAgentPortShareLevel](schemas.md#codersdkworkspaceagentportsharelevel) | false | | |
-| `» name` | string | false | | |
-| `» organization_display_name` | string | false | | |
-| `» organization_icon` | string | false | | |
-| `» organization_id` | string(uuid) | false | | |
-| `» organization_name` | string(url) | false | | |
-| `» provisioner` | string | false | | |
-| `» require_active_version` | boolean | false | | Require active version mandates that workspaces are built with the active template version. |
-| `» time_til_dormant_autodelete_ms` | integer | false | | |
-| `» time_til_dormant_ms` | integer | false | | |
-| `» updated_at` | string(date-time) | false | | |
+| Name | Type | Required | Restrictions | Description |
+|--------------------------------------|------------------------------------------------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `[array item]` | array | false | | |
+| `» active_user_count` | integer | false | | Active user count is set to -1 when loading. |
+| `» active_version_id` | string(uuid) | false | | |
+| `» activity_bump_ms` | integer | false | | |
+| `» allow_user_autostart` | boolean | false | | Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature. |
+| `» allow_user_autostop` | boolean | false | | |
+| `» allow_user_cancel_workspace_jobs` | boolean | false | | |
+| `» autostart_requirement` | [codersdk.TemplateAutostartRequirement](schemas.md#codersdktemplateautostartrequirement) | false | | |
+| `»» days_of_week` | array | false | | Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. |
+| `» autostop_requirement` | [codersdk.TemplateAutostopRequirement](schemas.md#codersdktemplateautostoprequirement) | false | | Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature. |
+|`»» days_of_week`|array|false||Days of week is a list of days of the week on which restarts are required. Restarts happen within the user's quiet hours (in their configured timezone). If no days are specified, restarts are not required. Weekdays cannot be specified twice.
+Restarts will only happen on weekdays in this list on weeks which line up with Weeks.|
+|`»» weeks`|integer|false||Weeks is the number of weeks between required restarts. Weeks are synced across all workspaces (and Coder deployments) using modulo math on a hardcoded epoch week of January 2nd, 2023 (the first Monday of 2023). Values of 0 or 1 indicate weekly restarts. Values of 2 indicate fortnightly restarts, etc.|
+|`» build_time_stats`|[codersdk.TemplateBuildTimeStats](schemas.md#codersdktemplatebuildtimestats)|false|||
+|`»» [any property]`|[codersdk.TransitionStats](schemas.md#codersdktransitionstats)|false|||
+|`»»» p50`|integer|false|||
+|`»»» p95`|integer|false|||
+|`» created_at`|string(date-time)|false|||
+|`» created_by_id`|string(uuid)|false|||
+|`» created_by_name`|string|false|||
+|`» default_ttl_ms`|integer|false|||
+|`» deprecated`|boolean|false|||
+|`» deprecation_message`|string|false|||
+|`» description`|string|false|||
+|`» display_name`|string|false|||
+|`» failure_ttl_ms`|integer|false||Failure ttl ms TimeTilDormantMillis, and TimeTilDormantAutoDeleteMillis are enterprise-only. Their values are used if your license is entitled to use the advanced template scheduling feature.|
+|`» icon`|string|false|||
+|`» id`|string(uuid)|false|||
+|`» max_port_share_level`|[codersdk.WorkspaceAgentPortShareLevel](schemas.md#codersdkworkspaceagentportsharelevel)|false|||
+|`» name`|string|false|||
+|`» organization_display_name`|string|false|||
+|`» organization_icon`|string|false|||
+|`» organization_id`|string(uuid)|false|||
+|`» organization_name`|string(url)|false|||
+|`» provisioner`|string|false|||
+|`» require_active_version`|boolean|false||Require active version mandates that workspaces are built with the active template version.|
+|`» time_til_dormant_autodelete_ms`|integer|false|||
+|`» time_til_dormant_ms`|integer|false|||
+|`» updated_at`|string(date-time)|false|||
#### Enumerated Values
| Property | Value |
-| ---------------------- | --------------- |
+|------------------------|-----------------|
| `max_port_share_level` | `owner` |
| `max_port_share_level` | `authenticated` |
| `max_port_share_level` | `public` |
@@ -156,36 +160,40 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templa
```json
{
- "activity_bump_ms": 0,
- "allow_user_autostart": true,
- "allow_user_autostop": true,
- "allow_user_cancel_workspace_jobs": true,
- "autostart_requirement": {
- "days_of_week": ["monday"]
- },
- "autostop_requirement": {
- "days_of_week": ["monday"],
- "weeks": 0
- },
- "default_ttl_ms": 0,
- "delete_ttl_ms": 0,
- "description": "string",
- "disable_everyone_group_access": true,
- "display_name": "string",
- "dormant_ttl_ms": 0,
- "failure_ttl_ms": 0,
- "icon": "string",
- "max_port_share_level": "owner",
- "name": "string",
- "require_active_version": true,
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1"
+ "activity_bump_ms": 0,
+ "allow_user_autostart": true,
+ "allow_user_autostop": true,
+ "allow_user_cancel_workspace_jobs": true,
+ "autostart_requirement": {
+ "days_of_week": [
+ "monday"
+ ]
+ },
+ "autostop_requirement": {
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
+ },
+ "default_ttl_ms": 0,
+ "delete_ttl_ms": 0,
+ "description": "string",
+ "disable_everyone_group_access": true,
+ "display_name": "string",
+ "dormant_ttl_ms": 0,
+ "failure_ttl_ms": 0,
+ "icon": "string",
+ "max_port_share_level": "owner",
+ "name": "string",
+ "require_active_version": true,
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | -------------------------------------------------------------------------- | -------- | --------------- |
+|----------------|------|----------------------------------------------------------------------------|----------|-----------------|
| `organization` | path | string | true | Organization ID |
| `body` | body | [codersdk.CreateTemplateRequest](schemas.md#codersdkcreatetemplaterequest) | true | Request body |
@@ -195,58 +203,62 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templa
```json
{
- "active_user_count": 0,
- "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
- "activity_bump_ms": 0,
- "allow_user_autostart": true,
- "allow_user_autostop": true,
- "allow_user_cancel_workspace_jobs": true,
- "autostart_requirement": {
- "days_of_week": ["monday"]
- },
- "autostop_requirement": {
- "days_of_week": ["monday"],
- "weeks": 0
- },
- "build_time_stats": {
- "property1": {
- "p50": 123,
- "p95": 146
- },
- "property2": {
- "p50": 123,
- "p95": 146
- }
- },
- "created_at": "2019-08-24T14:15:22Z",
- "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
- "created_by_name": "string",
- "default_ttl_ms": 0,
- "deprecated": true,
- "deprecation_message": "string",
- "description": "string",
- "display_name": "string",
- "failure_ttl_ms": 0,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "max_port_share_level": "owner",
- "name": "string",
- "organization_display_name": "string",
- "organization_icon": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "provisioner": "terraform",
- "require_active_version": true,
- "time_til_dormant_autodelete_ms": 0,
- "time_til_dormant_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "active_user_count": 0,
+ "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
+ "activity_bump_ms": 0,
+ "allow_user_autostart": true,
+ "allow_user_autostop": true,
+ "allow_user_cancel_workspace_jobs": true,
+ "autostart_requirement": {
+ "days_of_week": [
+ "monday"
+ ]
+ },
+ "autostop_requirement": {
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
+ },
+ "build_time_stats": {
+ "property1": {
+ "p50": 123,
+ "p95": 146
+ },
+ "property2": {
+ "p50": 123,
+ "p95": 146
+ }
+ },
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
+ "created_by_name": "string",
+ "default_ttl_ms": 0,
+ "deprecated": true,
+ "deprecation_message": "string",
+ "description": "string",
+ "display_name": "string",
+ "failure_ttl_ms": 0,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "max_port_share_level": "owner",
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_icon": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "provisioner": "terraform",
+ "require_active_version": true,
+ "time_til_dormant_autodelete_ms": 0,
+ "time_til_dormant_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Template](schemas.md#codersdktemplate) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -267,7 +279,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
### Example responses
@@ -276,22 +288,24 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
```json
[
- {
- "description": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "markdown": "string",
- "name": "string",
- "tags": ["string"],
- "url": "string"
- }
+ {
+ "description": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "markdown": "string",
+ "name": "string",
+ "tags": [
+ "string"
+ ],
+ "url": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateExample](schemas.md#codersdktemplateexample) |
Response Schema
@@ -299,7 +313,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| --------------- | ------------ | -------- | ------------ | ----------- |
+|-----------------|--------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» description` | string | false | | |
| `» icon` | string | false | | |
@@ -327,7 +341,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ------------ | -------- | --------------- |
+|----------------|------|--------------|----------|-----------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `templatename` | path | string | true | Template name |
@@ -337,58 +351,62 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
```json
{
- "active_user_count": 0,
- "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
- "activity_bump_ms": 0,
- "allow_user_autostart": true,
- "allow_user_autostop": true,
- "allow_user_cancel_workspace_jobs": true,
- "autostart_requirement": {
- "days_of_week": ["monday"]
- },
- "autostop_requirement": {
- "days_of_week": ["monday"],
- "weeks": 0
- },
- "build_time_stats": {
- "property1": {
- "p50": 123,
- "p95": 146
- },
- "property2": {
- "p50": 123,
- "p95": 146
- }
- },
- "created_at": "2019-08-24T14:15:22Z",
- "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
- "created_by_name": "string",
- "default_ttl_ms": 0,
- "deprecated": true,
- "deprecation_message": "string",
- "description": "string",
- "display_name": "string",
- "failure_ttl_ms": 0,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "max_port_share_level": "owner",
- "name": "string",
- "organization_display_name": "string",
- "organization_icon": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "provisioner": "terraform",
- "require_active_version": true,
- "time_til_dormant_autodelete_ms": 0,
- "time_til_dormant_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "active_user_count": 0,
+ "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
+ "activity_bump_ms": 0,
+ "allow_user_autostart": true,
+ "allow_user_autostop": true,
+ "allow_user_cancel_workspace_jobs": true,
+ "autostart_requirement": {
+ "days_of_week": [
+ "monday"
+ ]
+ },
+ "autostop_requirement": {
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
+ },
+ "build_time_stats": {
+ "property1": {
+ "p50": 123,
+ "p95": 146
+ },
+ "property2": {
+ "p50": 123,
+ "p95": 146
+ }
+ },
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
+ "created_by_name": "string",
+ "default_ttl_ms": 0,
+ "deprecated": true,
+ "deprecation_message": "string",
+ "description": "string",
+ "display_name": "string",
+ "failure_ttl_ms": 0,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "max_port_share_level": "owner",
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_icon": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "provisioner": "terraform",
+ "require_active_version": true,
+ "time_til_dormant_autodelete_ms": 0,
+ "time_til_dormant_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Template](schemas.md#codersdktemplate) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -409,7 +427,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
### Parameters
| Name | In | Type | Required | Description |
-| --------------------- | ---- | ------------ | -------- | --------------------- |
+|-----------------------|------|--------------|----------|-----------------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `templatename` | path | string | true | Template name |
| `templateversionname` | path | string | true | Template version name |
@@ -420,51 +438,63 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
```json
{
- "archived": true,
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": {
- "avatar_url": "http://example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "matched_provisioners": {
- "available": 0,
- "count": 0,
- "most_recently_seen": "2019-08-24T14:15:22Z"
- },
- "message": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "readme": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "updated_at": "2019-08-24T14:15:22Z",
- "warnings": ["UNSUPPORTED_WORKSPACES"]
+ "archived": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by": {
+ "avatar_url": "http://example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "username": "string"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "message": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "readme": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "warnings": [
+ "UNSUPPORTED_WORKSPACES"
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -485,7 +515,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
### Parameters
| Name | In | Type | Required | Description |
-| --------------------- | ---- | ------------ | -------- | --------------------- |
+|-----------------------|------|--------------|----------|-----------------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `templatename` | path | string | true | Template name |
| `templateversionname` | path | string | true | Template version name |
@@ -496,51 +526,63 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat
```json
{
- "archived": true,
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": {
- "avatar_url": "http://example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "matched_provisioners": {
- "available": 0,
- "count": 0,
- "most_recently_seen": "2019-08-24T14:15:22Z"
- },
- "message": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "readme": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "updated_at": "2019-08-24T14:15:22Z",
- "warnings": ["UNSUPPORTED_WORKSPACES"]
+ "archived": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by": {
+ "avatar_url": "http://example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "username": "string"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "message": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "readme": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "warnings": [
+ "UNSUPPORTED_WORKSPACES"
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -563,30 +605,30 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templa
```json
{
- "example_id": "string",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "message": "string",
- "name": "string",
- "provisioner": "terraform",
- "storage_method": "file",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "user_variable_values": [
- {
- "name": "string",
- "value": "string"
- }
- ]
+ "example_id": "string",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "message": "string",
+ "name": "string",
+ "provisioner": "terraform",
+ "storage_method": "file",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "user_variable_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ]
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ---------------------------------------------------------------------------------------- | -------- | ------------------------------- |
+|----------------|------|------------------------------------------------------------------------------------------|----------|---------------------------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `body` | body | [codersdk.CreateTemplateVersionRequest](schemas.md#codersdkcreatetemplateversionrequest) | true | Create template version request |
@@ -596,51 +638,63 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templa
```json
{
- "archived": true,
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": {
- "avatar_url": "http://example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "matched_provisioners": {
- "available": 0,
- "count": 0,
- "most_recently_seen": "2019-08-24T14:15:22Z"
- },
- "message": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "readme": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "updated_at": "2019-08-24T14:15:22Z",
- "warnings": ["UNSUPPORTED_WORKSPACES"]
+ "archived": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by": {
+ "avatar_url": "http://example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "username": "string"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "message": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "readme": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "warnings": [
+ "UNSUPPORTED_WORKSPACES"
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | -------------------------------------------------------------- |
+|--------|--------------------------------------------------------------|-------------|----------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -664,112 +718,116 @@ curl -X GET http://coder-server:8080/api/v2/templates \
```json
[
- {
- "active_user_count": 0,
- "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
- "activity_bump_ms": 0,
- "allow_user_autostart": true,
- "allow_user_autostop": true,
- "allow_user_cancel_workspace_jobs": true,
- "autostart_requirement": {
- "days_of_week": ["monday"]
- },
- "autostop_requirement": {
- "days_of_week": ["monday"],
- "weeks": 0
- },
- "build_time_stats": {
- "property1": {
- "p50": 123,
- "p95": 146
- },
- "property2": {
- "p50": 123,
- "p95": 146
- }
- },
- "created_at": "2019-08-24T14:15:22Z",
- "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
- "created_by_name": "string",
- "default_ttl_ms": 0,
- "deprecated": true,
- "deprecation_message": "string",
- "description": "string",
- "display_name": "string",
- "failure_ttl_ms": 0,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "max_port_share_level": "owner",
- "name": "string",
- "organization_display_name": "string",
- "organization_icon": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "provisioner": "terraform",
- "require_active_version": true,
- "time_til_dormant_autodelete_ms": 0,
- "time_til_dormant_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
- }
+ {
+ "active_user_count": 0,
+ "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
+ "activity_bump_ms": 0,
+ "allow_user_autostart": true,
+ "allow_user_autostop": true,
+ "allow_user_cancel_workspace_jobs": true,
+ "autostart_requirement": {
+ "days_of_week": [
+ "monday"
+ ]
+ },
+ "autostop_requirement": {
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
+ },
+ "build_time_stats": {
+ "property1": {
+ "p50": 123,
+ "p95": 146
+ },
+ "property2": {
+ "p50": 123,
+ "p95": 146
+ }
+ },
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
+ "created_by_name": "string",
+ "default_ttl_ms": 0,
+ "deprecated": true,
+ "deprecation_message": "string",
+ "description": "string",
+ "display_name": "string",
+ "failure_ttl_ms": 0,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "max_port_share_level": "owner",
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_icon": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "provisioner": "terraform",
+ "require_active_version": true,
+ "time_til_dormant_autodelete_ms": 0,
+ "time_til_dormant_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Template](schemas.md#codersdktemplate) |
Response Schema
Status Code **200**
-| Name | Type | Required | Restrictions | Description |
-| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `[array item]` | array | false | | |
-| `» active_user_count` | integer | false | | Active user count is set to -1 when loading. |
-| `» active_version_id` | string(uuid) | false | | |
-| `» activity_bump_ms` | integer | false | | |
-| `» allow_user_autostart` | boolean | false | | Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature. |
-| `» allow_user_autostop` | boolean | false | | |
-| `» allow_user_cancel_workspace_jobs` | boolean | false | | |
-| `» autostart_requirement` | [codersdk.TemplateAutostartRequirement](schemas.md#codersdktemplateautostartrequirement) | false | | |
-| `»» days_of_week` | array | false | | Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. |
-| `» autostop_requirement` | [codersdk.TemplateAutostopRequirement](schemas.md#codersdktemplateautostoprequirement) | false | | Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature. |
-| `»» days_of_week` | array | false | | Days of week is a list of days of the week on which restarts are required. Restarts happen within the user's quiet hours (in their configured timezone). If no days are specified, restarts are not required. Weekdays cannot be specified twice. |
-| Restarts will only happen on weekdays in this list on weeks which line up with Weeks. |
-| `»» weeks` | integer | false | | Weeks is the number of weeks between required restarts. Weeks are synced across all workspaces (and Coder deployments) using modulo math on a hardcoded epoch week of January 2nd, 2023 (the first Monday of 2023). Values of 0 or 1 indicate weekly restarts. Values of 2 indicate fortnightly restarts, etc. |
-| `» build_time_stats` | [codersdk.TemplateBuildTimeStats](schemas.md#codersdktemplatebuildtimestats) | false | | |
-| `»» [any property]` | [codersdk.TransitionStats](schemas.md#codersdktransitionstats) | false | | |
-| `»»» p50` | integer | false | | |
-| `»»» p95` | integer | false | | |
-| `» created_at` | string(date-time) | false | | |
-| `» created_by_id` | string(uuid) | false | | |
-| `» created_by_name` | string | false | | |
-| `» default_ttl_ms` | integer | false | | |
-| `» deprecated` | boolean | false | | |
-| `» deprecation_message` | string | false | | |
-| `» description` | string | false | | |
-| `» display_name` | string | false | | |
-| `» failure_ttl_ms` | integer | false | | Failure ttl ms TimeTilDormantMillis, and TimeTilDormantAutoDeleteMillis are enterprise-only. Their values are used if your license is entitled to use the advanced template scheduling feature. |
-| `» icon` | string | false | | |
-| `» id` | string(uuid) | false | | |
-| `» max_port_share_level` | [codersdk.WorkspaceAgentPortShareLevel](schemas.md#codersdkworkspaceagentportsharelevel) | false | | |
-| `» name` | string | false | | |
-| `» organization_display_name` | string | false | | |
-| `» organization_icon` | string | false | | |
-| `» organization_id` | string(uuid) | false | | |
-| `» organization_name` | string(url) | false | | |
-| `» provisioner` | string | false | | |
-| `» require_active_version` | boolean | false | | Require active version mandates that workspaces are built with the active template version. |
-| `» time_til_dormant_autodelete_ms` | integer | false | | |
-| `» time_til_dormant_ms` | integer | false | | |
-| `» updated_at` | string(date-time) | false | | |
+| Name | Type | Required | Restrictions | Description |
+|--------------------------------------|------------------------------------------------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `[array item]` | array | false | | |
+| `» active_user_count` | integer | false | | Active user count is set to -1 when loading. |
+| `» active_version_id` | string(uuid) | false | | |
+| `» activity_bump_ms` | integer | false | | |
+| `» allow_user_autostart` | boolean | false | | Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature. |
+| `» allow_user_autostop` | boolean | false | | |
+| `» allow_user_cancel_workspace_jobs` | boolean | false | | |
+| `» autostart_requirement` | [codersdk.TemplateAutostartRequirement](schemas.md#codersdktemplateautostartrequirement) | false | | |
+| `»» days_of_week` | array | false | | Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. |
+| `» autostop_requirement` | [codersdk.TemplateAutostopRequirement](schemas.md#codersdktemplateautostoprequirement) | false | | Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature. |
+|`»» days_of_week`|array|false||Days of week is a list of days of the week on which restarts are required. Restarts happen within the user's quiet hours (in their configured timezone). If no days are specified, restarts are not required. Weekdays cannot be specified twice.
+Restarts will only happen on weekdays in this list on weeks which line up with Weeks.|
+|`»» weeks`|integer|false||Weeks is the number of weeks between required restarts. Weeks are synced across all workspaces (and Coder deployments) using modulo math on a hardcoded epoch week of January 2nd, 2023 (the first Monday of 2023). Values of 0 or 1 indicate weekly restarts. Values of 2 indicate fortnightly restarts, etc.|
+|`» build_time_stats`|[codersdk.TemplateBuildTimeStats](schemas.md#codersdktemplatebuildtimestats)|false|||
+|`»» [any property]`|[codersdk.TransitionStats](schemas.md#codersdktransitionstats)|false|||
+|`»»» p50`|integer|false|||
+|`»»» p95`|integer|false|||
+|`» created_at`|string(date-time)|false|||
+|`» created_by_id`|string(uuid)|false|||
+|`» created_by_name`|string|false|||
+|`» default_ttl_ms`|integer|false|||
+|`» deprecated`|boolean|false|||
+|`» deprecation_message`|string|false|||
+|`» description`|string|false|||
+|`» display_name`|string|false|||
+|`» failure_ttl_ms`|integer|false||Failure ttl ms TimeTilDormantMillis, and TimeTilDormantAutoDeleteMillis are enterprise-only. Their values are used if your license is entitled to use the advanced template scheduling feature.|
+|`» icon`|string|false|||
+|`» id`|string(uuid)|false|||
+|`» max_port_share_level`|[codersdk.WorkspaceAgentPortShareLevel](schemas.md#codersdkworkspaceagentportsharelevel)|false|||
+|`» name`|string|false|||
+|`» organization_display_name`|string|false|||
+|`» organization_icon`|string|false|||
+|`» organization_id`|string(uuid)|false|||
+|`» organization_name`|string(url)|false|||
+|`» provisioner`|string|false|||
+|`» require_active_version`|boolean|false||Require active version mandates that workspaces are built with the active template version.|
+|`» time_til_dormant_autodelete_ms`|integer|false|||
+|`» time_til_dormant_ms`|integer|false|||
+|`» updated_at`|string(date-time)|false|||
#### Enumerated Values
| Property | Value |
-| ---------------------- | --------------- |
+|------------------------|-----------------|
| `max_port_share_level` | `owner` |
| `max_port_share_level` | `authenticated` |
| `max_port_share_level` | `public` |
@@ -796,22 +854,24 @@ curl -X GET http://coder-server:8080/api/v2/templates/examples \
```json
[
- {
- "description": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "markdown": "string",
- "name": "string",
- "tags": ["string"],
- "url": "string"
- }
+ {
+ "description": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "markdown": "string",
+ "name": "string",
+ "tags": [
+ "string"
+ ],
+ "url": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateExample](schemas.md#codersdktemplateexample) |
Response Schema
@@ -819,7 +879,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/examples \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| --------------- | ------------ | -------- | ------------ | ----------- |
+|-----------------|--------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» description` | string | false | | |
| `» icon` | string | false | | |
@@ -847,7 +907,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template} \
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | ------------ | -------- | ----------- |
+|------------|------|--------------|----------|-------------|
| `template` | path | string(uuid) | true | Template ID |
### Example responses
@@ -856,58 +916,62 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template} \
```json
{
- "active_user_count": 0,
- "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
- "activity_bump_ms": 0,
- "allow_user_autostart": true,
- "allow_user_autostop": true,
- "allow_user_cancel_workspace_jobs": true,
- "autostart_requirement": {
- "days_of_week": ["monday"]
- },
- "autostop_requirement": {
- "days_of_week": ["monday"],
- "weeks": 0
- },
- "build_time_stats": {
- "property1": {
- "p50": 123,
- "p95": 146
- },
- "property2": {
- "p50": 123,
- "p95": 146
- }
- },
- "created_at": "2019-08-24T14:15:22Z",
- "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
- "created_by_name": "string",
- "default_ttl_ms": 0,
- "deprecated": true,
- "deprecation_message": "string",
- "description": "string",
- "display_name": "string",
- "failure_ttl_ms": 0,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "max_port_share_level": "owner",
- "name": "string",
- "organization_display_name": "string",
- "organization_icon": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "provisioner": "terraform",
- "require_active_version": true,
- "time_til_dormant_autodelete_ms": 0,
- "time_til_dormant_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "active_user_count": 0,
+ "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
+ "activity_bump_ms": 0,
+ "allow_user_autostart": true,
+ "allow_user_autostop": true,
+ "allow_user_cancel_workspace_jobs": true,
+ "autostart_requirement": {
+ "days_of_week": [
+ "monday"
+ ]
+ },
+ "autostop_requirement": {
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
+ },
+ "build_time_stats": {
+ "property1": {
+ "p50": 123,
+ "p95": 146
+ },
+ "property2": {
+ "p50": 123,
+ "p95": 146
+ }
+ },
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
+ "created_by_name": "string",
+ "default_ttl_ms": 0,
+ "deprecated": true,
+ "deprecation_message": "string",
+ "description": "string",
+ "display_name": "string",
+ "failure_ttl_ms": 0,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "max_port_share_level": "owner",
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_icon": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "provisioner": "terraform",
+ "require_active_version": true,
+ "time_til_dormant_autodelete_ms": 0,
+ "time_til_dormant_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Template](schemas.md#codersdktemplate) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -928,7 +992,7 @@ curl -X DELETE http://coder-server:8080/api/v2/templates/{template} \
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | ------------ | -------- | ----------- |
+|------------|------|--------------|----------|-------------|
| `template` | path | string(uuid) | true | Template ID |
### Example responses
@@ -937,21 +1001,21 @@ curl -X DELETE http://coder-server:8080/api/v2/templates/{template} \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -972,7 +1036,7 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template} \
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | ------------ | -------- | ----------- |
+|------------|------|--------------|----------|-------------|
| `template` | path | string(uuid) | true | Template ID |
### Example responses
@@ -981,58 +1045,62 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template} \
```json
{
- "active_user_count": 0,
- "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
- "activity_bump_ms": 0,
- "allow_user_autostart": true,
- "allow_user_autostop": true,
- "allow_user_cancel_workspace_jobs": true,
- "autostart_requirement": {
- "days_of_week": ["monday"]
- },
- "autostop_requirement": {
- "days_of_week": ["monday"],
- "weeks": 0
- },
- "build_time_stats": {
- "property1": {
- "p50": 123,
- "p95": 146
- },
- "property2": {
- "p50": 123,
- "p95": 146
- }
- },
- "created_at": "2019-08-24T14:15:22Z",
- "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
- "created_by_name": "string",
- "default_ttl_ms": 0,
- "deprecated": true,
- "deprecation_message": "string",
- "description": "string",
- "display_name": "string",
- "failure_ttl_ms": 0,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "max_port_share_level": "owner",
- "name": "string",
- "organization_display_name": "string",
- "organization_icon": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "provisioner": "terraform",
- "require_active_version": true,
- "time_til_dormant_autodelete_ms": 0,
- "time_til_dormant_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "active_user_count": 0,
+ "active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
+ "activity_bump_ms": 0,
+ "allow_user_autostart": true,
+ "allow_user_autostop": true,
+ "allow_user_cancel_workspace_jobs": true,
+ "autostart_requirement": {
+ "days_of_week": [
+ "monday"
+ ]
+ },
+ "autostop_requirement": {
+ "days_of_week": [
+ "monday"
+ ],
+ "weeks": 0
+ },
+ "build_time_stats": {
+ "property1": {
+ "p50": 123,
+ "p95": 146
+ },
+ "property2": {
+ "p50": 123,
+ "p95": 146
+ }
+ },
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
+ "created_by_name": "string",
+ "default_ttl_ms": 0,
+ "deprecated": true,
+ "deprecation_message": "string",
+ "description": "string",
+ "display_name": "string",
+ "failure_ttl_ms": 0,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "max_port_share_level": "owner",
+ "name": "string",
+ "organization_display_name": "string",
+ "organization_icon": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "provisioner": "terraform",
+ "require_active_version": true,
+ "time_til_dormant_autodelete_ms": 0,
+ "time_til_dormant_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Template](schemas.md#codersdktemplate) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1053,7 +1121,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/daus \
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | ------------ | -------- | ----------- |
+|------------|------|--------------|----------|-------------|
| `template` | path | string(uuid) | true | Template ID |
### Example responses
@@ -1062,20 +1130,20 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/daus \
```json
{
- "entries": [
- {
- "amount": 0,
- "date": "string"
- }
- ],
- "tz_hour_offset": 0
+ "entries": [
+ {
+ "amount": 0,
+ "date": "string"
+ }
+ ],
+ "tz_hour_offset": 0
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.DAUsResponse](schemas.md#codersdkdausresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1096,7 +1164,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions \
### Parameters
| Name | In | Type | Required | Description |
-| ------------------ | ----- | ------------ | -------- | ------------------------------------- |
+|--------------------|-------|--------------|----------|---------------------------------------|
| `template` | path | string(uuid) | true | Template ID |
| `after_id` | query | string(uuid) | false | After ID |
| `include_archived` | query | boolean | false | Include archived versions in the list |
@@ -1109,100 +1177,119 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions \
```json
[
- {
- "archived": true,
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": {
- "avatar_url": "http://example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "matched_provisioners": {
- "available": 0,
- "count": 0,
- "most_recently_seen": "2019-08-24T14:15:22Z"
- },
- "message": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "readme": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "updated_at": "2019-08-24T14:15:22Z",
- "warnings": ["UNSUPPORTED_WORKSPACES"]
- }
+ {
+ "archived": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by": {
+ "avatar_url": "http://example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "username": "string"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "message": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "readme": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "warnings": [
+ "UNSUPPORTED_WORKSPACES"
+ ]
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) |
Response Schema
Status Code **200**
-| Name | Type | Required | Restrictions | Description |
-| ------------------------ | ------------------------------------------------------------------------ | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `[array item]` | array | false | | |
-| `» archived` | boolean | false | | |
-| `» created_at` | string(date-time) | false | | |
-| `» created_by` | [codersdk.MinimalUser](schemas.md#codersdkminimaluser) | false | | |
-| `»» avatar_url` | string(uri) | false | | |
-| `»» id` | string(uuid) | true | | |
-| `»» username` | string | true | | |
-| `» id` | string(uuid) | false | | |
-| `» job` | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | false | | |
-| `»» canceled_at` | string(date-time) | false | | |
-| `»» completed_at` | string(date-time) | false | | |
-| `»» created_at` | string(date-time) | false | | |
-| `»» error` | string | false | | |
-| `»» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | |
-| `»» file_id` | string(uuid) | false | | |
-| `»» id` | string(uuid) | false | | |
-| `»» queue_position` | integer | false | | |
-| `»» queue_size` | integer | false | | |
-| `»» started_at` | string(date-time) | false | | |
-| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | |
-| `»» tags` | object | false | | |
-| `»»» [any property]` | string | false | | |
-| `»» worker_id` | string(uuid) | false | | |
-| `» matched_provisioners` | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | false | | |
-| `»» available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. |
-| `»» count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. |
-| `»» most_recently_seen` | string(date-time) | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. |
-| `» message` | string | false | | |
-| `» name` | string | false | | |
-| `» organization_id` | string(uuid) | false | | |
-| `» readme` | string | false | | |
-| `» template_id` | string(uuid) | false | | |
-| `» updated_at` | string(date-time) | false | | |
-| `» warnings` | array | false | | |
+| Name | Type | Required | Restrictions | Description |
+|---------------------------|--------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `[array item]` | array | false | | |
+| `» archived` | boolean | false | | |
+| `» created_at` | string(date-time) | false | | |
+| `» created_by` | [codersdk.MinimalUser](schemas.md#codersdkminimaluser) | false | | |
+| `»» avatar_url` | string(uri) | false | | |
+| `»» id` | string(uuid) | true | | |
+| `»» username` | string | true | | |
+| `» id` | string(uuid) | false | | |
+| `» job` | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | false | | |
+| `»» available_workers` | array | false | | |
+| `»» canceled_at` | string(date-time) | false | | |
+| `»» completed_at` | string(date-time) | false | | |
+| `»» created_at` | string(date-time) | false | | |
+| `»» error` | string | false | | |
+| `»» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | |
+| `»» file_id` | string(uuid) | false | | |
+| `»» id` | string(uuid) | false | | |
+| `»» input` | [codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput) | false | | |
+| `»»» error` | string | false | | |
+| `»»» template_version_id` | string(uuid) | false | | |
+| `»»» workspace_build_id` | string(uuid) | false | | |
+| `»» organization_id` | string(uuid) | false | | |
+| `»» queue_position` | integer | false | | |
+| `»» queue_size` | integer | false | | |
+| `»» started_at` | string(date-time) | false | | |
+| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | |
+| `»» tags` | object | false | | |
+| `»»» [any property]` | string | false | | |
+| `»» type` | [codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype) | false | | |
+| `»» worker_id` | string(uuid) | false | | |
+| `» matched_provisioners` | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | false | | |
+| `»» available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. |
+| `»» count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. |
+| `»» most_recently_seen` | string(date-time) | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. |
+| `» message` | string | false | | |
+| `» name` | string | false | | |
+| `» organization_id` | string(uuid) | false | | |
+| `» readme` | string | false | | |
+| `» template_id` | string(uuid) | false | | |
+| `» updated_at` | string(date-time) | false | | |
+| `» warnings` | array | false | | |
#### Enumerated Values
| Property | Value |
-| ------------ | ----------------------------- |
+|--------------|-------------------------------|
| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` |
| `status` | `pending` |
| `status` | `running` |
@@ -1210,6 +1297,9 @@ Status Code **200**
| `status` | `canceling` |
| `status` | `canceled` |
| `status` | `failed` |
+| `type` | `template_version_import` |
+| `type` | `workspace_build` |
+| `type` | `template_version_dry_run` |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1231,14 +1321,14 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/versions \
```json
{
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | -------------------------------------------------------------------------------------- | -------- | ------------------------- |
+|------------|------|----------------------------------------------------------------------------------------|----------|---------------------------|
| `template` | path | string(uuid) | true | Template ID |
| `body` | body | [codersdk.UpdateActiveTemplateVersion](schemas.md#codersdkupdateactivetemplateversion) | true | Modified template version |
@@ -1248,21 +1338,21 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/versions \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1285,14 +1375,14 @@ curl -X POST http://coder-server:8080/api/v2/templates/{template}/versions/archi
```json
{
- "all": true
+ "all": true
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ---- | -------------------------------------------------------------------------------------------- | -------- | --------------- |
+|------------|------|----------------------------------------------------------------------------------------------|----------|-----------------|
| `template` | path | string(uuid) | true | Template ID |
| `body` | body | [codersdk.ArchiveTemplateVersionsRequest](schemas.md#codersdkarchivetemplateversionsrequest) | true | Archive request |
@@ -1302,21 +1392,21 @@ curl -X POST http://coder-server:8080/api/v2/templates/{template}/versions/archi
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1337,7 +1427,7 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions/{templ
### Parameters
| Name | In | Type | Required | Description |
-| --------------------- | ---- | ------------ | -------- | --------------------- |
+|-----------------------|------|--------------|----------|-----------------------|
| `template` | path | string(uuid) | true | Template ID |
| `templateversionname` | path | string | true | Template version name |
@@ -1347,100 +1437,119 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions/{templ
```json
[
- {
- "archived": true,
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": {
- "avatar_url": "http://example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "matched_provisioners": {
- "available": 0,
- "count": 0,
- "most_recently_seen": "2019-08-24T14:15:22Z"
- },
- "message": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "readme": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "updated_at": "2019-08-24T14:15:22Z",
- "warnings": ["UNSUPPORTED_WORKSPACES"]
- }
+ {
+ "archived": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by": {
+ "avatar_url": "http://example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "username": "string"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "message": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "readme": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "warnings": [
+ "UNSUPPORTED_WORKSPACES"
+ ]
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) |
Response Schema
Status Code **200**
-| Name | Type | Required | Restrictions | Description |
-| ------------------------ | ------------------------------------------------------------------------ | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `[array item]` | array | false | | |
-| `» archived` | boolean | false | | |
-| `» created_at` | string(date-time) | false | | |
-| `» created_by` | [codersdk.MinimalUser](schemas.md#codersdkminimaluser) | false | | |
-| `»» avatar_url` | string(uri) | false | | |
-| `»» id` | string(uuid) | true | | |
-| `»» username` | string | true | | |
-| `» id` | string(uuid) | false | | |
-| `» job` | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | false | | |
-| `»» canceled_at` | string(date-time) | false | | |
-| `»» completed_at` | string(date-time) | false | | |
-| `»» created_at` | string(date-time) | false | | |
-| `»» error` | string | false | | |
-| `»» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | |
-| `»» file_id` | string(uuid) | false | | |
-| `»» id` | string(uuid) | false | | |
-| `»» queue_position` | integer | false | | |
-| `»» queue_size` | integer | false | | |
-| `»» started_at` | string(date-time) | false | | |
-| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | |
-| `»» tags` | object | false | | |
-| `»»» [any property]` | string | false | | |
-| `»» worker_id` | string(uuid) | false | | |
-| `» matched_provisioners` | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | false | | |
-| `»» available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. |
-| `»» count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. |
-| `»» most_recently_seen` | string(date-time) | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. |
-| `» message` | string | false | | |
-| `» name` | string | false | | |
-| `» organization_id` | string(uuid) | false | | |
-| `» readme` | string | false | | |
-| `» template_id` | string(uuid) | false | | |
-| `» updated_at` | string(date-time) | false | | |
-| `» warnings` | array | false | | |
+| Name | Type | Required | Restrictions | Description |
+|---------------------------|--------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `[array item]` | array | false | | |
+| `» archived` | boolean | false | | |
+| `» created_at` | string(date-time) | false | | |
+| `» created_by` | [codersdk.MinimalUser](schemas.md#codersdkminimaluser) | false | | |
+| `»» avatar_url` | string(uri) | false | | |
+| `»» id` | string(uuid) | true | | |
+| `»» username` | string | true | | |
+| `» id` | string(uuid) | false | | |
+| `» job` | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | false | | |
+| `»» available_workers` | array | false | | |
+| `»» canceled_at` | string(date-time) | false | | |
+| `»» completed_at` | string(date-time) | false | | |
+| `»» created_at` | string(date-time) | false | | |
+| `»» error` | string | false | | |
+| `»» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | |
+| `»» file_id` | string(uuid) | false | | |
+| `»» id` | string(uuid) | false | | |
+| `»» input` | [codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput) | false | | |
+| `»»» error` | string | false | | |
+| `»»» template_version_id` | string(uuid) | false | | |
+| `»»» workspace_build_id` | string(uuid) | false | | |
+| `»» organization_id` | string(uuid) | false | | |
+| `»» queue_position` | integer | false | | |
+| `»» queue_size` | integer | false | | |
+| `»» started_at` | string(date-time) | false | | |
+| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | |
+| `»» tags` | object | false | | |
+| `»»» [any property]` | string | false | | |
+| `»» type` | [codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype) | false | | |
+| `»» worker_id` | string(uuid) | false | | |
+| `» matched_provisioners` | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | false | | |
+| `»» available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. |
+| `»» count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. |
+| `»» most_recently_seen` | string(date-time) | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. |
+| `» message` | string | false | | |
+| `» name` | string | false | | |
+| `» organization_id` | string(uuid) | false | | |
+| `» readme` | string | false | | |
+| `» template_id` | string(uuid) | false | | |
+| `» updated_at` | string(date-time) | false | | |
+| `» warnings` | array | false | | |
#### Enumerated Values
| Property | Value |
-| ------------ | ----------------------------- |
+|--------------|-------------------------------|
| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` |
| `status` | `pending` |
| `status` | `running` |
@@ -1448,6 +1557,9 @@ Status Code **200**
| `status` | `canceling` |
| `status` | `canceled` |
| `status` | `failed` |
+| `type` | `template_version_import` |
+| `type` | `workspace_build` |
+| `type` | `template_version_dry_run` |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1467,7 +1579,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion} \
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Example responses
@@ -1476,51 +1588,63 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion} \
```json
{
- "archived": true,
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": {
- "avatar_url": "http://example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "matched_provisioners": {
- "available": 0,
- "count": 0,
- "most_recently_seen": "2019-08-24T14:15:22Z"
- },
- "message": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "readme": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "updated_at": "2019-08-24T14:15:22Z",
- "warnings": ["UNSUPPORTED_WORKSPACES"]
+ "archived": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by": {
+ "avatar_url": "http://example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "username": "string"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "message": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "readme": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "warnings": [
+ "UNSUPPORTED_WORKSPACES"
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1543,15 +1667,15 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion}
```json
{
- "message": "string",
- "name": "string"
+ "message": "string",
+ "name": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | -------------------------------------------------------------------------------------- | -------- | ------------------------------ |
+|-------------------|------|----------------------------------------------------------------------------------------|----------|--------------------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
| `body` | body | [codersdk.PatchTemplateVersionRequest](schemas.md#codersdkpatchtemplateversionrequest) | true | Patch template version request |
@@ -1561,51 +1685,63 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion}
```json
{
- "archived": true,
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": {
- "avatar_url": "http://example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "matched_provisioners": {
- "available": 0,
- "count": 0,
- "most_recently_seen": "2019-08-24T14:15:22Z"
- },
- "message": "string",
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "readme": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "updated_at": "2019-08-24T14:15:22Z",
- "warnings": ["UNSUPPORTED_WORKSPACES"]
+ "archived": true,
+ "created_at": "2019-08-24T14:15:22Z",
+ "created_by": {
+ "avatar_url": "http://example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "username": "string"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "message": "string",
+ "name": "string",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "readme": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "warnings": [
+ "UNSUPPORTED_WORKSPACES"
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1626,7 +1762,7 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Example responses
@@ -1635,21 +1771,21 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1670,7 +1806,7 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion}
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Example responses
@@ -1679,21 +1815,21 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion}
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1716,26 +1852,26 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/
```json
{
- "rich_parameter_values": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "user_variable_values": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "workspace_name": "string"
+ "rich_parameter_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "user_variable_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "workspace_name": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ---------------------------------------------------------------------------------------------------- | -------- | ------------------- |
+|-------------------|------|------------------------------------------------------------------------------------------------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
| `body` | body | [codersdk.CreateTemplateVersionDryRunRequest](schemas.md#codersdkcreatetemplateversiondryrunrequest) | true | Dry-run request |
@@ -1745,29 +1881,39 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/
```json
{
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ------------------------------------------------------------ |
+|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1788,7 +1934,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
| `jobID` | path | string(uuid) | true | Job ID |
@@ -1798,29 +1944,39 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
```json
{
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1841,7 +1997,7 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion}
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `jobID` | path | string(uuid) | true | Job ID |
| `templateversion` | path | string(uuid) | true | Template version ID |
@@ -1851,21 +2007,21 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion}
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1886,7 +2042,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ----- | ------------ | -------- | --------------------- |
+|-------------------|-------|--------------|----------|-----------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
| `jobID` | path | string(uuid) | true | Job ID |
| `before` | query | integer | false | Before Unix timestamp |
@@ -1899,21 +2055,21 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "log_level": "trace",
- "log_source": "provisioner_daemon",
- "output": "string",
- "stage": "string"
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": 0,
+ "log_level": "trace",
+ "log_source": "provisioner_daemon",
+ "output": "string",
+ "stage": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerJobLog](schemas.md#codersdkprovisionerjoblog) |
Response Schema
@@ -1921,7 +2077,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | -------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------|----------------------------------------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | false | | |
| `» id` | integer | false | | |
@@ -1933,7 +2089,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------ | -------------------- |
+|--------------|----------------------|
| `log_level` | `trace` |
| `log_level` | `debug` |
| `log_level` | `info` |
@@ -1944,6 +2100,46 @@ Status Code **200**
To perform this operation, you must be authenticated. [Learn more](authentication.md).
+## Get template version dry-run matched provisioners
+
+### Code samples
+
+```shell
+# Example request using curl
+curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/dry-run/{jobID}/matched-provisioners \
+ -H 'Accept: application/json' \
+ -H 'Coder-Session-Token: API_KEY'
+```
+
+`GET /templateversions/{templateversion}/dry-run/{jobID}/matched-provisioners`
+
+### Parameters
+
+| Name | In | Type | Required | Description |
+|-------------------|------|--------------|----------|---------------------|
+| `templateversion` | path | string(uuid) | true | Template version ID |
+| `jobID` | path | string(uuid) | true | Job ID |
+
+### Example responses
+
+> 200 Response
+
+```json
+{
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+}
+```
+
+### Responses
+
+| Status | Meaning | Description | Schema |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------|
+| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) |
+
+To perform this operation, you must be authenticated. [Learn more](authentication.md).
+
## Get template version dry-run resources by job ID
### Code samples
@@ -1960,7 +2156,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
| `jobID` | path | string(uuid) | true | Job ID |
@@ -1970,123 +2166,128 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
```json
[
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceResource](schemas.md#codersdkworkspaceresource) |
Response Schema
@@ -2094,7 +2295,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ------------------------------- | ------------------------------------------------------------------------------------------------------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|---------------------------------|--------------------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» agents` | array | false | | |
| `»» api_version` | string | false | | |
@@ -2110,6 +2311,7 @@ Status Code **200**
| `»»» hidden` | boolean | false | | |
| `»»» icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. |
| `»»» id` | string(uuid) | false | | |
+| `»»» open_in` | [codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin) | false | | |
| `»»» sharing_level` | [codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel) | false | | |
| `»»» slug` | string | false | | Slug is a unique identifier within the agent. |
| `»»» subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. |
@@ -2183,11 +2385,13 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------------------- | ------------------ |
+|---------------------------|--------------------|
| `health` | `disabled` |
| `health` | `initializing` |
| `health` | `healthy` |
| `health` | `unhealthy` |
+| `open_in` | `slim-window` |
+| `open_in` | `tab` |
| `sharing_level` | `owner` |
| `sharing_level` | `authenticated` |
| `sharing_level` | `public` |
@@ -2228,7 +2432,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/e
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Example responses
@@ -2237,22 +2441,22 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/e
```json
[
- {
- "authenticate_url": "string",
- "authenticated": true,
- "display_icon": "string",
- "display_name": "string",
- "id": "string",
- "optional": true,
- "type": "string"
- }
+ {
+ "authenticate_url": "string",
+ "authenticated": true,
+ "display_icon": "string",
+ "display_name": "string",
+ "id": "string",
+ "optional": true,
+ "type": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersionExternalAuth](schemas.md#codersdktemplateversionexternalauth) |
Response Schema
@@ -2260,7 +2464,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/e
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------- | -------- | ------------ | ----------- |
+|----------------------|---------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» authenticate_url` | string | false | | |
| `» authenticated` | boolean | false | | |
@@ -2288,7 +2492,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/l
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ----- | ------------ | -------- | ------------------- |
+|-------------------|-------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
| `before` | query | integer | false | Before log id |
| `after` | query | integer | false | After log id |
@@ -2300,21 +2504,21 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/l
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "log_level": "trace",
- "log_source": "provisioner_daemon",
- "output": "string",
- "stage": "string"
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "id": 0,
+ "log_level": "trace",
+ "log_source": "provisioner_daemon",
+ "output": "string",
+ "stage": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerJobLog](schemas.md#codersdkprovisionerjoblog) |
Response Schema
@@ -2322,7 +2526,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/l
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | -------------------------------------------------- | -------- | ------------ | ----------- |
+|----------------|----------------------------------------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | false | | |
| `» id` | integer | false | | |
@@ -2334,7 +2538,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------ | -------------------- |
+|--------------|----------------------|
| `log_level` | `trace` |
| `log_level` | `debug` |
| `log_level` | `info` |
@@ -2360,13 +2564,13 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/p
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2387,7 +2591,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Example responses
@@ -2396,123 +2600,128 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r
```json
[
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceResource](schemas.md#codersdkworkspaceresource) |
Response Schema
@@ -2520,7 +2729,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ------------------------------- | ------------------------------------------------------------------------------------------------------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|---------------------------------|--------------------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
| `» agents` | array | false | | |
| `»» api_version` | string | false | | |
@@ -2536,6 +2745,7 @@ Status Code **200**
| `»»» hidden` | boolean | false | | |
| `»»» icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. |
| `»»» id` | string(uuid) | false | | |
+| `»»» open_in` | [codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin) | false | | |
| `»»» sharing_level` | [codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel) | false | | |
| `»»» slug` | string | false | | Slug is a unique identifier within the agent. |
| `»»» subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. |
@@ -2609,11 +2819,13 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------------------- | ------------------ |
+|---------------------------|--------------------|
| `health` | `disabled` |
| `health` | `initializing` |
| `health` | `healthy` |
| `health` | `unhealthy` |
+| `open_in` | `slim-window` |
+| `open_in` | `tab` |
| `sharing_level` | `owner` |
| `sharing_level` | `authenticated` |
| `sharing_level` | `public` |
@@ -2654,7 +2866,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Example responses
@@ -2663,38 +2875,38 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r
```json
[
- {
- "default_value": "string",
- "description": "string",
- "description_plaintext": "string",
- "display_name": "string",
- "ephemeral": true,
- "icon": "string",
- "mutable": true,
- "name": "string",
- "options": [
- {
- "description": "string",
- "icon": "string",
- "name": "string",
- "value": "string"
- }
- ],
- "required": true,
- "type": "string",
- "validation_error": "string",
- "validation_max": 0,
- "validation_min": 0,
- "validation_monotonic": "increasing",
- "validation_regex": "string"
- }
+ {
+ "default_value": "string",
+ "description": "string",
+ "description_plaintext": "string",
+ "display_name": "string",
+ "ephemeral": true,
+ "icon": "string",
+ "mutable": true,
+ "name": "string",
+ "options": [
+ {
+ "description": "string",
+ "icon": "string",
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "required": true,
+ "type": "string",
+ "validation_error": "string",
+ "validation_max": 0,
+ "validation_min": 0,
+ "validation_monotonic": "increasing",
+ "validation_regex": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersionParameter](schemas.md#codersdktemplateversionparameter) |
Response Schema
@@ -2702,7 +2914,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ------------------------- | -------------------------------------------------------------------------------- | -------- | ------------ | ----------- |
+|---------------------------|----------------------------------------------------------------------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» default_value` | string | false | | |
| `» description` | string | false | | |
@@ -2728,7 +2940,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ---------------------- | -------------- |
+|------------------------|----------------|
| `type` | `string` |
| `type` | `number` |
| `type` | `bool` |
@@ -2753,13 +2965,13 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/s
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2780,7 +2992,7 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Example responses
@@ -2789,21 +3001,21 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -2824,7 +3036,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/v
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ---- | ------------ | -------- | ------------------- |
+|-------------------|------|--------------|----------|---------------------|
| `templateversion` | path | string(uuid) | true | Template version ID |
### Example responses
@@ -2833,22 +3045,22 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/v
```json
[
- {
- "default_value": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "sensitive": true,
- "type": "string",
- "value": "string"
- }
+ {
+ "default_value": "string",
+ "description": "string",
+ "name": "string",
+ "required": true,
+ "sensitive": true,
+ "type": "string",
+ "value": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersionVariable](schemas.md#codersdktemplateversionvariable) |
Response Schema
@@ -2856,7 +3068,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/v
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ----------------- | ------- | -------- | ------------ | ----------- |
+|-------------------|---------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» default_value` | string | false | | |
| `» description` | string | false | | |
@@ -2869,7 +3081,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| -------- | -------- |
+|----------|----------|
| `type` | `string` |
| `type` | `number` |
| `type` | `bool` |
diff --git a/docs/reference/api/users.md b/docs/reference/api/users.md
index 5e0ae3c239c04..d8aac77cfa83b 100644
--- a/docs/reference/api/users.md
+++ b/docs/reference/api/users.md
@@ -16,7 +16,7 @@ curl -X GET http://coder-server:8080/api/v2/users \
### Parameters
| Name | In | Type | Required | Description |
-| ---------- | ----- | ------------ | -------- | ------------ |
+|------------|-------|--------------|----------|--------------|
| `q` | query | string | false | Search query |
| `after_id` | query | string(uuid) | false | After ID |
| `limit` | query | integer | false | Page limit |
@@ -28,37 +28,39 @@ curl -X GET http://coder-server:8080/api/v2/users \
```json
{
- "count": 0,
- "users": [
- {
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
- }
- ]
+ "count": 0,
+ "users": [
+ {
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GetUsersResponse](schemas.md#codersdkgetusersresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -81,20 +83,22 @@ curl -X POST http://coder-server:8080/api/v2/users \
```json
{
- "email": "user@example.com",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "password": "string",
- "user_status": "active",
- "username": "string"
+ "email": "user@example.com",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "password": "string",
+ "user_status": "active",
+ "username": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------------------------------- | -------- | ------------------- |
+|--------|------|------------------------------------------------------------------------------------|----------|---------------------|
| `body` | body | [codersdk.CreateUserRequestWithOrgs](schemas.md#codersdkcreateuserrequestwithorgs) | true | Create user request |
### Example responses
@@ -103,32 +107,34 @@ curl -X POST http://coder-server:8080/api/v2/users \
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ---------------------------------------- |
+|--------|--------------------------------------------------------------|-------------|------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.User](schemas.md#codersdkuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -152,25 +158,25 @@ curl -X GET http://coder-server:8080/api/v2/users/authmethods \
```json
{
- "github": {
- "enabled": true
- },
- "oidc": {
- "enabled": true,
- "iconUrl": "string",
- "signInText": "string"
- },
- "password": {
- "enabled": true
- },
- "terms_of_service_url": "string"
+ "github": {
+ "enabled": true
+ },
+ "oidc": {
+ "enabled": true,
+ "iconUrl": "string",
+ "signInText": "string"
+ },
+ "password": {
+ "enabled": true
+ },
+ "terms_of_service_url": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AuthMethods](schemas.md#codersdkauthmethods) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -194,21 +200,21 @@ curl -X GET http://coder-server:8080/api/v2/users/first \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -231,27 +237,27 @@ curl -X POST http://coder-server:8080/api/v2/users/first \
```json
{
- "email": "string",
- "name": "string",
- "password": "string",
- "trial": true,
- "trial_info": {
- "company_name": "string",
- "country": "string",
- "developers": "string",
- "first_name": "string",
- "job_title": "string",
- "last_name": "string",
- "phone_number": "string"
- },
- "username": "string"
+ "email": "string",
+ "name": "string",
+ "password": "string",
+ "trial": true,
+ "trial_info": {
+ "company_name": "string",
+ "country": "string",
+ "developers": "string",
+ "first_name": "string",
+ "job_title": "string",
+ "last_name": "string",
+ "phone_number": "string"
+ },
+ "username": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------------------------- | -------- | ------------------ |
+|--------|------|------------------------------------------------------------------------------|----------|--------------------|
| `body` | body | [codersdk.CreateFirstUserRequest](schemas.md#codersdkcreatefirstuserrequest) | true | First user request |
### Example responses
@@ -260,15 +266,15 @@ curl -X POST http://coder-server:8080/api/v2/users/first \
```json
{
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ------------------------------------------------------------------------------ |
+|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.CreateFirstUserResponse](schemas.md#codersdkcreatefirstuserresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -292,21 +298,21 @@ curl -X POST http://coder-server:8080/api/v2/users/logout \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -326,7 +332,7 @@ curl -X GET http://coder-server:8080/api/v2/users/oauth2/github/callback \
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ----------------------------------------------------------------------- | ------------------ | ------ |
+|--------|-------------------------------------------------------------------------|--------------------|--------|
| 307 | [Temporary Redirect](https://tools.ietf.org/html/rfc7231#section-6.4.7) | Temporary Redirect | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -346,7 +352,7 @@ curl -X GET http://coder-server:8080/api/v2/users/oidc/callback \
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ----------------------------------------------------------------------- | ------------------ | ------ |
+|--------|-------------------------------------------------------------------------|--------------------|--------|
| 307 | [Temporary Redirect](https://tools.ietf.org/html/rfc7231#section-6.4.7) | Temporary Redirect | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -367,7 +373,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user} \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | ------------------------ |
+|--------|------|--------|----------|--------------------------|
| `user` | path | string | true | User ID, username, or me |
### Example responses
@@ -376,32 +382,34 @@ curl -X GET http://coder-server:8080/api/v2/users/{user} \
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -421,13 +429,13 @@ curl -X DELETE http://coder-server:8080/api/v2/users/{user} \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------ |
+|--------|---------------------------------------------------------|-------------|--------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -450,14 +458,14 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/appearance \
```json
{
- "theme_preference": "string"
+ "theme_preference": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------------------------------------------------------------------------------------------------------ | -------- | ----------------------- |
+|--------|------|--------------------------------------------------------------------------------------------------------|----------|-------------------------|
| `user` | path | string | true | User ID, name, or me |
| `body` | body | [codersdk.UpdateUserAppearanceSettingsRequest](schemas.md#codersdkupdateuserappearancesettingsrequest) | true | New appearance settings |
@@ -467,32 +475,34 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/appearance \
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -513,7 +523,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/autofill-parameters?tem
### Parameters
| Name | In | Type | Required | Description |
-| ------------- | ----- | ------ | -------- | ------------------------ |
+|---------------|-------|--------|----------|--------------------------|
| `user` | path | string | true | User ID, username, or me |
| `template_id` | query | string | true | Template ID |
@@ -523,17 +533,17 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/autofill-parameters?tem
```json
[
- {
- "name": "string",
- "value": "string"
- }
+ {
+ "name": "string",
+ "value": "string"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.UserParameter](schemas.md#codersdkuserparameter) |
Response Schema
@@ -541,7 +551,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/autofill-parameters?tem
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------- | ------ | -------- | ------------ | ----------- |
+|----------------|--------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» name` | string | false | | |
| `» value` | string | false | | |
@@ -564,7 +574,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/gitsshkey \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -573,17 +583,17 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/gitsshkey \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "public_key": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "created_at": "2019-08-24T14:15:22Z",
+ "public_key": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GitSSHKey](schemas.md#codersdkgitsshkey) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -604,7 +614,7 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/gitsshkey \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -613,17 +623,17 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/gitsshkey \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "public_key": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "created_at": "2019-08-24T14:15:22Z",
+ "public_key": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GitSSHKey](schemas.md#codersdkgitsshkey) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -644,7 +654,7 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/keys \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -653,14 +663,14 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/keys \
```json
{
- "key": "string"
+ "key": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ---------------------------------------------------------------------------- |
+|--------|--------------------------------------------------------------|-------------|------------------------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.GenerateAPIKeyResponse](schemas.md#codersdkgenerateapikeyresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -681,7 +691,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -690,25 +700,25 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens \
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "expires_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "last_used": "2019-08-24T14:15:22Z",
- "lifetime_seconds": 0,
- "login_type": "password",
- "scope": "all",
- "token_name": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "expires_at": "2019-08-24T14:15:22Z",
+ "id": "string",
+ "last_used": "2019-08-24T14:15:22Z",
+ "lifetime_seconds": 0,
+ "login_type": "password",
+ "scope": "all",
+ "token_name": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.APIKey](schemas.md#codersdkapikey) |
Response Schema
@@ -716,7 +726,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| -------------------- | ------------------------------------------------------ | -------- | ------------ | ----------- |
+|----------------------|--------------------------------------------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | true | | |
| `» expires_at` | string(date-time) | true | | |
@@ -732,7 +742,7 @@ Status Code **200**
#### Enumerated Values
| Property | Value |
-| ------------ | --------------------- |
+|--------------|-----------------------|
| `login_type` | `password` |
| `login_type` | `github` |
| `login_type` | `oidc` |
@@ -760,16 +770,16 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/keys/tokens \
```json
{
- "lifetime": 0,
- "scope": "all",
- "token_name": "string"
+ "lifetime": 0,
+ "scope": "all",
+ "token_name": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------- | -------- | -------------------- |
+|--------|------|----------------------------------------------------------------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `body` | body | [codersdk.CreateTokenRequest](schemas.md#codersdkcreatetokenrequest) | true | Create token request |
@@ -779,14 +789,14 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/keys/tokens \
```json
{
- "key": "string"
+ "key": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------------ | ----------- | ---------------------------------------------------------------------------- |
+|--------|--------------------------------------------------------------|-------------|------------------------------------------------------------------------------|
| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.GenerateAPIKeyResponse](schemas.md#codersdkgenerateapikeyresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -807,7 +817,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens/{keyname} \
### Parameters
| Name | In | Type | Required | Description |
-| --------- | ---- | -------------- | -------- | -------------------- |
+|-----------|------|----------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `keyname` | path | string(string) | true | Key Name |
@@ -817,23 +827,23 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens/{keyname} \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "expires_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "last_used": "2019-08-24T14:15:22Z",
- "lifetime_seconds": 0,
- "login_type": "password",
- "scope": "all",
- "token_name": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "created_at": "2019-08-24T14:15:22Z",
+ "expires_at": "2019-08-24T14:15:22Z",
+ "id": "string",
+ "last_used": "2019-08-24T14:15:22Z",
+ "lifetime_seconds": 0,
+ "login_type": "password",
+ "scope": "all",
+ "token_name": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.APIKey](schemas.md#codersdkapikey) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -854,7 +864,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \
### Parameters
| Name | In | Type | Required | Description |
-| ------- | ---- | ------------ | -------- | -------------------- |
+|---------|------|--------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `keyid` | path | string(uuid) | true | Key ID |
@@ -864,23 +874,23 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "expires_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "last_used": "2019-08-24T14:15:22Z",
- "lifetime_seconds": 0,
- "login_type": "password",
- "scope": "all",
- "token_name": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
+ "created_at": "2019-08-24T14:15:22Z",
+ "expires_at": "2019-08-24T14:15:22Z",
+ "id": "string",
+ "last_used": "2019-08-24T14:15:22Z",
+ "lifetime_seconds": 0,
+ "login_type": "password",
+ "scope": "all",
+ "token_name": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.APIKey](schemas.md#codersdkapikey) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -900,14 +910,14 @@ curl -X DELETE http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \
### Parameters
| Name | In | Type | Required | Description |
-| ------- | ---- | ------------ | -------- | -------------------- |
+|---------|------|--------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `keyid` | path | string(uuid) | true | Key ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -928,7 +938,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/login-type \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -937,14 +947,14 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/login-type \
```json
{
- "login_type": ""
+ "login_type": ""
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UserLoginType](schemas.md#codersdkuserlogintype) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -965,7 +975,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -974,23 +984,23 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations \
```json
[
- {
- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "is_default": true,
- "name": "string",
- "updated_at": "2019-08-24T14:15:22Z"
- }
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "is_default": true,
+ "name": "string",
+ "updated_at": "2019-08-24T14:15:22Z"
+ }
]
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Organization](schemas.md#codersdkorganization) |
Response Schema
@@ -998,7 +1008,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations \
Status Code **200**
| Name | Type | Required | Restrictions | Description |
-| ---------------- | ----------------- | -------- | ------------ | ----------- |
+|------------------|-------------------|----------|--------------|-------------|
| `[array item]` | array | false | | |
| `» created_at` | string(date-time) | true | | |
| `» description` | string | false | | |
@@ -1027,7 +1037,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations/{organiza
### Parameters
| Name | In | Type | Required | Description |
-| ------------------ | ---- | ------ | -------- | -------------------- |
+|--------------------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `organizationname` | path | string | true | Organization name |
@@ -1037,21 +1047,21 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations/{organiza
```json
{
- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "is_default": true,
- "name": "string",
- "updated_at": "2019-08-24T14:15:22Z"
+ "created_at": "2019-08-24T14:15:22Z",
+ "description": "string",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "is_default": true,
+ "name": "string",
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Organization](schemas.md#codersdkorganization) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1073,22 +1083,22 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/password \
```json
{
- "old_password": "string",
- "password": "string"
+ "old_password": "string",
+ "password": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------------------------------- | -------- | ----------------------- |
+|--------|------|------------------------------------------------------------------------------------|----------|-------------------------|
| `user` | path | string | true | User ID, name, or me |
| `body` | body | [codersdk.UpdateUserPasswordRequest](schemas.md#codersdkupdateuserpasswordrequest) | true | Update password request |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1111,15 +1121,15 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/profile \
```json
{
- "name": "string",
- "username": "string"
+ "name": "string",
+ "username": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | -------------------------------------------------------------------------------- | -------- | -------------------- |
+|--------|------|----------------------------------------------------------------------------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `body` | body | [codersdk.UpdateUserProfileRequest](schemas.md#codersdkupdateuserprofilerequest) | true | Updated profile |
@@ -1129,32 +1139,34 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/profile \
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1175,7 +1187,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/roles \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -1184,32 +1196,34 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/roles \
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1232,14 +1246,16 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/roles \
```json
{
- "roles": ["string"]
+ "roles": [
+ "string"
+ ]
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------------------------------------------------------ | -------- | -------------------- |
+|--------|------|--------------------------------------------------------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
| `body` | body | [codersdk.UpdateRoles](schemas.md#codersdkupdateroles) | true | Update roles request |
@@ -1249,32 +1265,34 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/roles \
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1295,7 +1313,7 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/activate \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -1304,32 +1322,34 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/activate \
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1350,7 +1370,7 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/suspend \
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ------ | -------- | -------------------- |
+|--------|------|--------|----------|----------------------|
| `user` | path | string | true | User ID, name, or me |
### Example responses
@@ -1359,32 +1379,34 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/suspend \
```json
{
- "avatar_url": "http://example.com",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_seen_at": "2019-08-24T14:15:22Z",
- "login_type": "",
- "name": "string",
- "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "roles": [
- {
- "display_name": "string",
- "name": "string",
- "organization_id": "string"
- }
- ],
- "status": "active",
- "theme_preference": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "username": "string"
+ "avatar_url": "http://example.com",
+ "created_at": "2019-08-24T14:15:22Z",
+ "email": "user@example.com",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_seen_at": "2019-08-24T14:15:22Z",
+ "login_type": "",
+ "name": "string",
+ "organization_ids": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "roles": [
+ {
+ "display_name": "string",
+ "name": "string",
+ "organization_id": "string"
+ }
+ ],
+ "status": "active",
+ "theme_preference": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "username": "string"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/workspaceproxies.md b/docs/reference/api/workspaceproxies.md
index 35e9e6d84ed0b..72527b7e305e4 100644
--- a/docs/reference/api/workspaceproxies.md
+++ b/docs/reference/api/workspaceproxies.md
@@ -19,24 +19,24 @@ curl -X GET http://coder-server:8080/api/v2/regions \
```json
{
- "regions": [
- {
- "display_name": "string",
- "healthy": true,
- "icon_url": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "path_app_url": "string",
- "wildcard_hostname": "string"
- }
- ]
+ "regions": [
+ {
+ "display_name": "string",
+ "healthy": true,
+ "icon_url": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "string",
+ "path_app_url": "string",
+ "wildcard_hostname": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RegionsResponse-codersdk_Region](schemas.md#codersdkregionsresponse-codersdk_region) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/api/workspaces.md b/docs/reference/api/workspaces.md
index 183a59ddd13a3..e39e553927bf0 100644
--- a/docs/reference/api/workspaces.md
+++ b/docs/reference/api/workspaces.md
@@ -23,25 +23,25 @@ of the template will be used.
```json
{
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "name": "string",
- "rich_parameter_values": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "ttl_ms": 0
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "name": "string",
+ "rich_parameter_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "ttl_ms": 0
}
```
### Parameters
| Name | In | Type | Required | Description |
-| -------------- | ---- | ---------------------------------------------------------------------------- | -------- | ------------------------ |
+|----------------|------|------------------------------------------------------------------------------|----------|--------------------------|
| `organization` | path | string(uuid) | true | Organization ID |
| `user` | path | string | true | Username, UUID, or me |
| `body` | body | [codersdk.CreateWorkspaceRequest](schemas.md#codersdkcreateworkspacerequest) | true | Create workspace request |
@@ -52,193 +52,216 @@ of the template will be used.
```json
{
- "allow_renames": true,
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "deleting_at": "2019-08-24T14:15:22Z",
- "dormant_at": "2019-08-24T14:15:22Z",
- "favorite": true,
- "health": {
- "failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "healthy": false
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "2019-08-24T14:15:22Z",
- "latest_build": {
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
- },
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "outdated": true,
- "owner_avatar_url": "string",
- "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
- "owner_name": "string",
- "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
- "template_allow_user_cancel_workspace_jobs": true,
- "template_display_name": "string",
- "template_icon": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_name": "string",
- "template_require_active_version": true,
- "ttl_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "allow_renames": true,
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleting_at": "2019-08-24T14:15:22Z",
+ "dormant_at": "2019-08-24T14:15:22Z",
+ "favorite": true,
+ "health": {
+ "failing_agents": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "healthy": false
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "2019-08-24T14:15:22Z",
+ "latest_build": {
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
+ },
+ "name": "string",
+ "next_start_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "outdated": true,
+ "owner_avatar_url": "string",
+ "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
+ "owner_name": "string",
+ "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
+ "template_allow_user_cancel_workspace_jobs": true,
+ "template_display_name": "string",
+ "template_icon": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_name": "string",
+ "template_require_active_version": true,
+ "ttl_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -259,7 +282,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ----- | ------- | -------- | ----------------------------------------------------------- |
+|-------------------|-------|---------|----------|-------------------------------------------------------------|
| `user` | path | string | true | User ID, name, or me |
| `workspacename` | path | string | true | Workspace name |
| `include_deleted` | query | boolean | false | Return data instead of HTTP 404 if the workspace is deleted |
@@ -270,193 +293,216 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
```json
{
- "allow_renames": true,
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "deleting_at": "2019-08-24T14:15:22Z",
- "dormant_at": "2019-08-24T14:15:22Z",
- "favorite": true,
- "health": {
- "failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "healthy": false
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "2019-08-24T14:15:22Z",
- "latest_build": {
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
- },
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "outdated": true,
- "owner_avatar_url": "string",
- "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
- "owner_name": "string",
- "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
- "template_allow_user_cancel_workspace_jobs": true,
- "template_display_name": "string",
- "template_icon": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_name": "string",
- "template_require_active_version": true,
- "ttl_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "allow_renames": true,
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleting_at": "2019-08-24T14:15:22Z",
+ "dormant_at": "2019-08-24T14:15:22Z",
+ "favorite": true,
+ "health": {
+ "failing_agents": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "healthy": false
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "2019-08-24T14:15:22Z",
+ "latest_build": {
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
+ },
+ "name": "string",
+ "next_start_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "outdated": true,
+ "owner_avatar_url": "string",
+ "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
+ "owner_name": "string",
+ "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
+ "template_allow_user_cancel_workspace_jobs": true,
+ "template_display_name": "string",
+ "template_icon": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_name": "string",
+ "template_require_active_version": true,
+ "ttl_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -484,25 +530,25 @@ of the template will be used.
```json
{
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "name": "string",
- "rich_parameter_values": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "ttl_ms": 0
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "name": "string",
+ "rich_parameter_values": [
+ {
+ "name": "string",
+ "value": "string"
+ }
+ ],
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "ttl_ms": 0
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ------ | ---- | ---------------------------------------------------------------------------- | -------- | ------------------------ |
+|--------|------|------------------------------------------------------------------------------|----------|--------------------------|
| `user` | path | string | true | Username, UUID, or me |
| `body` | body | [codersdk.CreateWorkspaceRequest](schemas.md#codersdkcreateworkspacerequest) | true | Create workspace request |
@@ -512,193 +558,216 @@ of the template will be used.
```json
{
- "allow_renames": true,
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "deleting_at": "2019-08-24T14:15:22Z",
- "dormant_at": "2019-08-24T14:15:22Z",
- "favorite": true,
- "health": {
- "failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "healthy": false
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "2019-08-24T14:15:22Z",
- "latest_build": {
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
- },
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "outdated": true,
- "owner_avatar_url": "string",
- "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
- "owner_name": "string",
- "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
- "template_allow_user_cancel_workspace_jobs": true,
- "template_display_name": "string",
- "template_icon": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_name": "string",
- "template_require_active_version": true,
- "ttl_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "allow_renames": true,
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleting_at": "2019-08-24T14:15:22Z",
+ "dormant_at": "2019-08-24T14:15:22Z",
+ "favorite": true,
+ "health": {
+ "failing_agents": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "healthy": false
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "2019-08-24T14:15:22Z",
+ "latest_build": {
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
+ },
+ "name": "string",
+ "next_start_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "outdated": true,
+ "owner_avatar_url": "string",
+ "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
+ "owner_name": "string",
+ "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
+ "template_allow_user_cancel_workspace_jobs": true,
+ "template_display_name": "string",
+ "template_icon": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_name": "string",
+ "template_require_active_version": true,
+ "ttl_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -719,7 +788,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces \
### Parameters
| Name | In | Type | Required | Description |
-| -------- | ----- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
+|----------|-------|---------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| `q` | query | string | false | Search query in the format `key:value`. Available keys are: owner, template, name, status, has-agent, dormant, last_used_after, last_used_before. |
| `limit` | query | integer | false | Page limit |
| `offset` | query | integer | false | Page offset |
@@ -730,194 +799,217 @@ curl -X GET http://coder-server:8080/api/v2/workspaces \
```json
{
- "count": 0,
- "workspaces": [
- {
- "allow_renames": true,
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "deleting_at": "2019-08-24T14:15:22Z",
- "dormant_at": "2019-08-24T14:15:22Z",
- "favorite": true,
- "health": {
- "failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "healthy": false
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "2019-08-24T14:15:22Z",
- "latest_build": {
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {},
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
- },
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "outdated": true,
- "owner_avatar_url": "string",
- "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
- "owner_name": "string",
- "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
- "template_allow_user_cancel_workspace_jobs": true,
- "template_display_name": "string",
- "template_icon": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_name": "string",
- "template_require_active_version": true,
- "ttl_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
- }
- ]
+ "count": 0,
+ "workspaces": [
+ {
+ "allow_renames": true,
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleting_at": "2019-08-24T14:15:22Z",
+ "dormant_at": "2019-08-24T14:15:22Z",
+ "favorite": true,
+ "health": {
+ "failing_agents": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "healthy": false
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "2019-08-24T14:15:22Z",
+ "latest_build": {
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {},
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
+ },
+ "name": "string",
+ "next_start_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "outdated": true,
+ "owner_avatar_url": "string",
+ "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
+ "owner_name": "string",
+ "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
+ "template_allow_user_cancel_workspace_jobs": true,
+ "template_display_name": "string",
+ "template_icon": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_name": "string",
+ "template_require_active_version": true,
+ "ttl_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspacesResponse](schemas.md#codersdkworkspacesresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -938,7 +1030,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace} \
### Parameters
| Name | In | Type | Required | Description |
-| ----------------- | ----- | ------------ | -------- | ----------------------------------------------------------- |
+|-------------------|-------|--------------|----------|-------------------------------------------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `include_deleted` | query | boolean | false | Return data instead of HTTP 404 if the workspace is deleted |
@@ -948,193 +1040,216 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace} \
```json
{
- "allow_renames": true,
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "deleting_at": "2019-08-24T14:15:22Z",
- "dormant_at": "2019-08-24T14:15:22Z",
- "favorite": true,
- "health": {
- "failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "healthy": false
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "2019-08-24T14:15:22Z",
- "latest_build": {
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
- },
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "outdated": true,
- "owner_avatar_url": "string",
- "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
- "owner_name": "string",
- "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
- "template_allow_user_cancel_workspace_jobs": true,
- "template_display_name": "string",
- "template_icon": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_name": "string",
- "template_require_active_version": true,
- "ttl_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "allow_renames": true,
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleting_at": "2019-08-24T14:15:22Z",
+ "dormant_at": "2019-08-24T14:15:22Z",
+ "favorite": true,
+ "health": {
+ "failing_agents": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "healthy": false
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "2019-08-24T14:15:22Z",
+ "latest_build": {
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
+ },
+ "name": "string",
+ "next_start_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "outdated": true,
+ "owner_avatar_url": "string",
+ "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
+ "owner_name": "string",
+ "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
+ "template_allow_user_cancel_workspace_jobs": true,
+ "template_display_name": "string",
+ "template_icon": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_name": "string",
+ "template_require_active_version": true,
+ "ttl_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1156,21 +1271,21 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaces/{workspace} \
```json
{
- "name": "string"
+ "name": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ---------------------------------------------------------------------------- | -------- | ----------------------- |
+|-------------|------|------------------------------------------------------------------------------|----------|-------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.UpdateWorkspaceRequest](schemas.md#codersdkupdateworkspacerequest) | true | Metadata update request |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1192,21 +1307,21 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/autostart \
```json
{
- "schedule": "string"
+ "schedule": "string"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ---------------------------------------------------------------------------------------------- | -------- | ----------------------- |
+|-------------|------|------------------------------------------------------------------------------------------------|----------|-------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.UpdateWorkspaceAutostartRequest](schemas.md#codersdkupdateworkspaceautostartrequest) | true | Schedule update request |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1228,26 +1343,26 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/autoupdates \
```json
{
- "automatic_updates": "always"
+ "automatic_updates": "always"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ------------------------------------------------------------------------------------------------------------ | -------- | ------------------------- |
+|-------------|------|--------------------------------------------------------------------------------------------------------------|----------|---------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.UpdateWorkspaceAutomaticUpdatesRequest](schemas.md#codersdkupdateworkspaceautomaticupdatesrequest) | true | Automatic updates request |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Update workspace dormancy status by id.
+## Update workspace dormancy status by id
### Code samples
@@ -1265,14 +1380,14 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/dormant \
```json
{
- "dormant": true
+ "dormant": true
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ------------------------------------------------------------------------------ | -------- | ---------------------------------- |
+|-------------|------|--------------------------------------------------------------------------------|----------|------------------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.UpdateWorkspaceDormancy](schemas.md#codersdkupdateworkspacedormancy) | true | Make a workspace dormant or active |
@@ -1282,193 +1397,216 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/dormant \
```json
{
- "allow_renames": true,
- "automatic_updates": "always",
- "autostart_schedule": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "deleting_at": "2019-08-24T14:15:22Z",
- "dormant_at": "2019-08-24T14:15:22Z",
- "favorite": true,
- "health": {
- "failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
- "healthy": false
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "last_used_at": "2019-08-24T14:15:22Z",
- "latest_build": {
- "build_number": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "deadline": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
- "initiator_name": "string",
- "job": {
- "canceled_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "error": "string",
- "error_code": "REQUIRED_TEMPLATE_VARIABLES",
- "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "queue_position": 0,
- "queue_size": 0,
- "started_at": "2019-08-24T14:15:22Z",
- "status": "pending",
- "tags": {
- "property1": "string",
- "property2": "string"
- },
- "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
- },
- "max_deadline": "2019-08-24T14:15:22Z",
- "reason": "initiator",
- "resources": [
- {
- "agents": [
- {
- "api_version": "string",
- "apps": [
- {
- "command": "string",
- "display_name": "string",
- "external": true,
- "health": "disabled",
- "healthcheck": {
- "interval": 0,
- "threshold": 0,
- "url": "string"
- },
- "hidden": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sharing_level": "owner",
- "slug": "string",
- "subdomain": true,
- "subdomain_name": "string",
- "url": "string"
- }
- ],
- "architecture": "string",
- "connection_timeout_seconds": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "directory": "string",
- "disconnected_at": "2019-08-24T14:15:22Z",
- "display_apps": ["vscode"],
- "environment_variables": {
- "property1": "string",
- "property2": "string"
- },
- "expanded_directory": "string",
- "first_connected_at": "2019-08-24T14:15:22Z",
- "health": {
- "healthy": false,
- "reason": "agent has lost connection"
- },
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "instance_id": "string",
- "last_connected_at": "2019-08-24T14:15:22Z",
- "latency": {
- "property1": {
- "latency_ms": 0,
- "preferred": true
- },
- "property2": {
- "latency_ms": 0,
- "preferred": true
- }
- },
- "lifecycle_state": "created",
- "log_sources": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "display_name": "string",
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
- }
- ],
- "logs_length": 0,
- "logs_overflowed": true,
- "name": "string",
- "operating_system": "string",
- "ready_at": "2019-08-24T14:15:22Z",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "scripts": [
- {
- "cron": "string",
- "display_name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "log_path": "string",
- "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
- "run_on_start": true,
- "run_on_stop": true,
- "script": "string",
- "start_blocks_login": true,
- "timeout": 0
- }
- ],
- "started_at": "2019-08-24T14:15:22Z",
- "startup_script_behavior": "blocking",
- "status": "connecting",
- "subsystems": ["envbox"],
- "troubleshooting_url": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "version": "string"
- }
- ],
- "created_at": "2019-08-24T14:15:22Z",
- "daily_cost": 0,
- "hide": true,
- "icon": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "metadata": [
- {
- "key": "string",
- "sensitive": true,
- "value": "string"
- }
- ],
- "name": "string",
- "type": "string",
- "workspace_transition": "start"
- }
- ],
- "status": "pending",
- "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
- "template_version_name": "string",
- "transition": "start",
- "updated_at": "2019-08-24T14:15:22Z",
- "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
- "workspace_name": "string",
- "workspace_owner_avatar_url": "string",
- "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
- "workspace_owner_name": "string"
- },
- "name": "string",
- "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
- "organization_name": "string",
- "outdated": true,
- "owner_avatar_url": "string",
- "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
- "owner_name": "string",
- "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
- "template_allow_user_cancel_workspace_jobs": true,
- "template_display_name": "string",
- "template_icon": "string",
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
- "template_name": "string",
- "template_require_active_version": true,
- "ttl_ms": 0,
- "updated_at": "2019-08-24T14:15:22Z"
+ "allow_renames": true,
+ "automatic_updates": "always",
+ "autostart_schedule": "string",
+ "created_at": "2019-08-24T14:15:22Z",
+ "deleting_at": "2019-08-24T14:15:22Z",
+ "dormant_at": "2019-08-24T14:15:22Z",
+ "favorite": true,
+ "health": {
+ "failing_agents": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "healthy": false
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "last_used_at": "2019-08-24T14:15:22Z",
+ "latest_build": {
+ "build_number": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "deadline": "2019-08-24T14:15:22Z",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
+ "initiator_name": "string",
+ "job": {
+ "available_workers": [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08"
+ ],
+ "canceled_at": "2019-08-24T14:15:22Z",
+ "completed_at": "2019-08-24T14:15:22Z",
+ "created_at": "2019-08-24T14:15:22Z",
+ "error": "string",
+ "error_code": "REQUIRED_TEMPLATE_VARIABLES",
+ "file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "input": {
+ "error": "string",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
+ },
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "queue_position": 0,
+ "queue_size": 0,
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "pending",
+ "tags": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "type": "template_version_import",
+ "worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
+ },
+ "matched_provisioners": {
+ "available": 0,
+ "count": 0,
+ "most_recently_seen": "2019-08-24T14:15:22Z"
+ },
+ "max_deadline": "2019-08-24T14:15:22Z",
+ "reason": "initiator",
+ "resources": [
+ {
+ "agents": [
+ {
+ "api_version": "string",
+ "apps": [
+ {
+ "command": "string",
+ "display_name": "string",
+ "external": true,
+ "health": "disabled",
+ "healthcheck": {
+ "interval": 0,
+ "threshold": 0,
+ "url": "string"
+ },
+ "hidden": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "open_in": "slim-window",
+ "sharing_level": "owner",
+ "slug": "string",
+ "subdomain": true,
+ "subdomain_name": "string",
+ "url": "string"
+ }
+ ],
+ "architecture": "string",
+ "connection_timeout_seconds": 0,
+ "created_at": "2019-08-24T14:15:22Z",
+ "directory": "string",
+ "disconnected_at": "2019-08-24T14:15:22Z",
+ "display_apps": [
+ "vscode"
+ ],
+ "environment_variables": {
+ "property1": "string",
+ "property2": "string"
+ },
+ "expanded_directory": "string",
+ "first_connected_at": "2019-08-24T14:15:22Z",
+ "health": {
+ "healthy": false,
+ "reason": "agent has lost connection"
+ },
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "instance_id": "string",
+ "last_connected_at": "2019-08-24T14:15:22Z",
+ "latency": {
+ "property1": {
+ "latency_ms": 0,
+ "preferred": true
+ },
+ "property2": {
+ "latency_ms": 0,
+ "preferred": true
+ }
+ },
+ "lifecycle_state": "created",
+ "log_sources": [
+ {
+ "created_at": "2019-08-24T14:15:22Z",
+ "display_name": "string",
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
+ }
+ ],
+ "logs_length": 0,
+ "logs_overflowed": true,
+ "name": "string",
+ "operating_system": "string",
+ "ready_at": "2019-08-24T14:15:22Z",
+ "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
+ "scripts": [
+ {
+ "cron": "string",
+ "display_name": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "log_path": "string",
+ "log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
+ "run_on_start": true,
+ "run_on_stop": true,
+ "script": "string",
+ "start_blocks_login": true,
+ "timeout": 0
+ }
+ ],
+ "started_at": "2019-08-24T14:15:22Z",
+ "startup_script_behavior": "blocking",
+ "status": "connecting",
+ "subsystems": [
+ "envbox"
+ ],
+ "troubleshooting_url": "string",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "version": "string"
+ }
+ ],
+ "created_at": "2019-08-24T14:15:22Z",
+ "daily_cost": 0,
+ "hide": true,
+ "icon": "string",
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "metadata": [
+ {
+ "key": "string",
+ "sensitive": true,
+ "value": "string"
+ }
+ ],
+ "name": "string",
+ "type": "string",
+ "workspace_transition": "start"
+ }
+ ],
+ "status": "pending",
+ "template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
+ "template_version_name": "string",
+ "transition": "start",
+ "updated_at": "2019-08-24T14:15:22Z",
+ "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
+ "workspace_name": "string",
+ "workspace_owner_avatar_url": "string",
+ "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
+ "workspace_owner_name": "string"
+ },
+ "name": "string",
+ "next_start_at": "2019-08-24T14:15:22Z",
+ "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
+ "organization_name": "string",
+ "outdated": true,
+ "owner_avatar_url": "string",
+ "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
+ "owner_name": "string",
+ "template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
+ "template_allow_user_cancel_workspace_jobs": true,
+ "template_display_name": "string",
+ "template_icon": "string",
+ "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
+ "template_name": "string",
+ "template_require_active_version": true,
+ "ttl_ms": 0,
+ "updated_at": "2019-08-24T14:15:22Z"
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1491,14 +1629,14 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/extend \
```json
{
- "deadline": "2019-08-24T14:15:22Z"
+ "deadline": "2019-08-24T14:15:22Z"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ---------------------------------------------------------------------------------- | -------- | ------------------------------ |
+|-------------|------|------------------------------------------------------------------------------------|----------|--------------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.PutExtendWorkspaceRequest](schemas.md#codersdkputextendworkspacerequest) | true | Extend deadline update request |
@@ -1508,26 +1646,26 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/extend \
```json
{
- "detail": "string",
- "message": "string",
- "validations": [
- {
- "detail": "string",
- "field": "string"
- }
- ]
+ "detail": "string",
+ "message": "string",
+ "validations": [
+ {
+ "detail": "string",
+ "field": "string"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Favorite workspace by ID.
+## Favorite workspace by ID
### Code samples
@@ -1542,18 +1680,18 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/favorite \
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ------------ | -------- | ------------ |
+|-------------|------|--------------|----------|--------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Unfavorite workspace by ID.
+## Unfavorite workspace by ID
### Code samples
@@ -1568,18 +1706,18 @@ curl -X DELETE http://coder-server:8080/api/v2/workspaces/{workspace}/favorite \
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ------------ | -------- | ------------ |
+|-------------|------|--------------|----------|--------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
-## Resolve workspace autostart by id.
+## Resolve workspace autostart by id
### Code samples
@@ -1595,7 +1733,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/resolve-autos
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ------------ | -------- | ------------ |
+|-------------|------|--------------|----------|--------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
### Example responses
@@ -1604,14 +1742,14 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/resolve-autos
```json
{
- "parameter_mismatch": true
+ "parameter_mismatch": true
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ResolveAutostartResponse](schemas.md#codersdkresolveautostartresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1632,7 +1770,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/timings \
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ------------ | -------- | ------------ |
+|-------------|------|--------------|----------|--------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
### Example responses
@@ -1641,45 +1779,45 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/timings \
```json
{
- "agent_connection_timings": [
- {
- "ended_at": "2019-08-24T14:15:22Z",
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z",
- "workspace_agent_id": "string",
- "workspace_agent_name": "string"
- }
- ],
- "agent_script_timings": [
- {
- "display_name": "string",
- "ended_at": "2019-08-24T14:15:22Z",
- "exit_code": 0,
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z",
- "status": "string",
- "workspace_agent_id": "string",
- "workspace_agent_name": "string"
- }
- ],
- "provisioner_timings": [
- {
- "action": "string",
- "ended_at": "2019-08-24T14:15:22Z",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "resource": "string",
- "source": "string",
- "stage": "init",
- "started_at": "2019-08-24T14:15:22Z"
- }
- ]
+ "agent_connection_timings": [
+ {
+ "ended_at": "2019-08-24T14:15:22Z",
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z",
+ "workspace_agent_id": "string",
+ "workspace_agent_name": "string"
+ }
+ ],
+ "agent_script_timings": [
+ {
+ "display_name": "string",
+ "ended_at": "2019-08-24T14:15:22Z",
+ "exit_code": 0,
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z",
+ "status": "string",
+ "workspace_agent_id": "string",
+ "workspace_agent_name": "string"
+ }
+ ],
+ "provisioner_timings": [
+ {
+ "action": "string",
+ "ended_at": "2019-08-24T14:15:22Z",
+ "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
+ "resource": "string",
+ "source": "string",
+ "stage": "init",
+ "started_at": "2019-08-24T14:15:22Z"
+ }
+ ]
}
```
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------------- |
+|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuildTimings](schemas.md#codersdkworkspacebuildtimings) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1701,21 +1839,21 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/ttl \
```json
{
- "ttl_ms": 0
+ "ttl_ms": 0
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ---------------------------------------------------------------------------------- | -------- | ---------------------------- |
+|-------------|------|------------------------------------------------------------------------------------|----------|------------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.UpdateWorkspaceTTLRequest](schemas.md#codersdkupdateworkspacettlrequest) | true | Workspace TTL update request |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1737,22 +1875,22 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/usage \
```json
{
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "app_name": "vscode"
+ "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
+ "app_name": "vscode"
}
```
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ---------------------------------------------------------------------------------- | -------- | ---------------------------- |
+|-------------|------|------------------------------------------------------------------------------------|----------|------------------------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
| `body` | body | [codersdk.PostWorkspaceUsageRequest](schemas.md#codersdkpostworkspaceusagerequest) | false | Post workspace usage request |
### Responses
| Status | Meaning | Description | Schema |
-| ------ | --------------------------------------------------------------- | ----------- | ------ |
+|--------|-----------------------------------------------------------------|-------------|--------|
| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
@@ -1773,7 +1911,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/watch \
### Parameters
| Name | In | Type | Required | Description |
-| ----------- | ---- | ------------ | -------- | ------------ |
+|-------------|------|--------------|----------|--------------|
| `workspace` | path | string(uuid) | true | Workspace ID |
### Example responses
@@ -1783,7 +1921,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/watch \
### Responses
| Status | Meaning | Description | Schema |
-| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------ |
+|--------|---------------------------------------------------------|-------------|--------------------------------------------------|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) |
To perform this operation, you must be authenticated. [Learn more](authentication.md).
diff --git a/docs/reference/cli/autoupdate.md b/docs/reference/cli/autoupdate.md
index 12751dfd291a5..a025616e76031 100644
--- a/docs/reference/cli/autoupdate.md
+++ b/docs/reference/cli/autoupdate.md
@@ -1,5 +1,4 @@
-
# autoupdate
Toggle auto-update policy for a workspace
@@ -15,7 +14,7 @@ coder autoupdate [flags]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/completion.md b/docs/reference/cli/completion.md
index 45e8ab77b741d..1d14fc2aa2467 100644
--- a/docs/reference/cli/completion.md
+++ b/docs/reference/cli/completion.md
@@ -1,5 +1,4 @@
-
# completion
Install or update shell completion scripts for the detected or chosen shell.
@@ -15,7 +14,7 @@ coder completion [flags]
### -s, --shell
| | |
-| ---- | ---------------------------------------- |
+|------|------------------------------------------|
| Type | bash\|fish\|zsh\|powershell
|
The shell to install completion for.
@@ -23,7 +22,7 @@ The shell to install completion for.
### -p, --print
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Print the completion script instead of installing it.
diff --git a/docs/reference/cli/config-ssh.md b/docs/reference/cli/config-ssh.md
index ef1c75e56ec61..937bcd061bd05 100644
--- a/docs/reference/cli/config-ssh.md
+++ b/docs/reference/cli/config-ssh.md
@@ -1,5 +1,4 @@
-
# config-ssh
Add an SSH Host entry for your workspaces "ssh coder.workspace"
@@ -28,7 +27,7 @@ workspaces:
### --ssh-config-file
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | string
|
| Environment | $CODER_SSH_CONFIG_FILE
|
| Default | ~/.ssh/config
|
@@ -38,7 +37,7 @@ Specifies the path to an SSH config.
### --coder-binary-path
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string
|
| Environment | $CODER_SSH_CONFIG_BINARY_PATH
|
@@ -47,7 +46,7 @@ Optionally specify the absolute path to the coder binary used in ProxyCommand. B
### -o, --ssh-option
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | string-array
|
| Environment | $CODER_SSH_CONFIG_OPTS
|
@@ -56,7 +55,7 @@ Specifies additional SSH options to embed in each host stanza.
### -n, --dry-run
| | |
-| ----------- | ------------------------------- |
+|-------------|---------------------------------|
| Type | bool
|
| Environment | $CODER_SSH_DRY_RUN
|
@@ -65,7 +64,7 @@ Perform a trial run with no changes made, showing a diff at the end.
### --use-previous-options
| | |
-| ----------- | -------------------------------------------- |
+|-------------|----------------------------------------------|
| Type | bool
|
| Environment | $CODER_SSH_USE_PREVIOUS_OPTIONS
|
@@ -74,7 +73,7 @@ Specifies whether or not to keep options from previous run of config-ssh.
### --ssh-host-prefix
| | |
-| ----------- | --------------------------------------------- |
+|-------------|-----------------------------------------------|
| Type | string
|
| Environment | $CODER_CONFIGSSH_SSH_HOST_PREFIX
|
@@ -83,7 +82,7 @@ Override the default host prefix.
### --wait
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | yes\|no\|auto
|
| Environment | $CODER_CONFIGSSH_WAIT
|
| Default | auto
|
@@ -93,7 +92,7 @@ Specifies whether or not to wait for the startup script to finish executing. Aut
### --disable-autostart
| | |
-| ----------- | ----------------------------------------------- |
+|-------------|-------------------------------------------------|
| Type | bool
|
| Environment | $CODER_CONFIGSSH_DISABLE_AUTOSTART
|
| Default | false
|
@@ -103,7 +102,7 @@ Disable starting the workspace automatically when connecting via SSH.
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/create.md b/docs/reference/cli/create.md
index c165b33f4ef91..58c0fad4a14e8 100644
--- a/docs/reference/cli/create.md
+++ b/docs/reference/cli/create.md
@@ -1,5 +1,4 @@
-
# create
Create a workspace
@@ -7,7 +6,7 @@ Create a workspace
## Usage
```console
-coder create [flags] [name]
+coder create [flags] [workspace]
```
## Description
@@ -23,7 +22,7 @@ coder create [flags] [name]
### -t, --template
| | |
-| ----------- | --------------------------------- |
+|-------------|-----------------------------------|
| Type | string
|
| Environment | $CODER_TEMPLATE_NAME
|
@@ -32,7 +31,7 @@ Specify a template name.
### --template-version
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | string
|
| Environment | $CODER_TEMPLATE_VERSION
|
@@ -41,7 +40,7 @@ Specify a template version name.
### --start-at
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string
|
| Environment | $CODER_WORKSPACE_START_AT
|
@@ -50,7 +49,7 @@ Specify the workspace autostart schedule. Check coder schedule start --help for
### --stop-after
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | duration
|
| Environment | $CODER_WORKSPACE_STOP_AFTER
|
@@ -59,7 +58,7 @@ Specify a duration after which the workspace should shut down (e.g. 8h).
### --automatic-updates
| | |
-| ----------- | ----------------------------------------------- |
+|-------------|-------------------------------------------------|
| Type | string
|
| Environment | $CODER_WORKSPACE_AUTOMATIC_UPDATES
|
| Default | never
|
@@ -69,7 +68,7 @@ Specify automatic updates setting for the workspace (accepts 'always' or 'never'
### --copy-parameters-from
| | |
-| ----------- | -------------------------------------------------- |
+|-------------|----------------------------------------------------|
| Type | string
|
| Environment | $CODER_WORKSPACE_COPY_PARAMETERS_FROM
|
@@ -78,7 +77,7 @@ Specify the source workspace name to copy parameters from.
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -86,7 +85,7 @@ Bypass prompts.
### --parameter
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | string-array
|
| Environment | $CODER_RICH_PARAMETER
|
@@ -95,7 +94,7 @@ Rich parameter value in the format "name=value".
### --rich-parameter-file
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_RICH_PARAMETER_FILE
|
@@ -104,7 +103,7 @@ Specify a file path with values for rich parameters defined in the template. The
### --parameter-default
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string-array
|
| Environment | $CODER_RICH_PARAMETER_DEFAULT
|
@@ -113,7 +112,7 @@ Rich parameter default values in the format "name=value".
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/delete.md b/docs/reference/cli/delete.md
index 7ea5eb0839042..9dc2ea6fa9a19 100644
--- a/docs/reference/cli/delete.md
+++ b/docs/reference/cli/delete.md
@@ -1,12 +1,11 @@
-
# delete
Delete a workspace
Aliases:
-- rm
+* rm
## Usage
@@ -14,12 +13,20 @@ Aliases:
coder delete [flags]
```
+## Description
+
+```console
+ - Delete a workspace for another user (if you have permission):
+
+ $ coder delete /
+```
+
## Options
### --orphan
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Delete a workspace without deleting its resources. This can delete a workspace in a broken state, but may also lead to unaccounted cloud resources.
@@ -27,7 +34,7 @@ Delete a workspace without deleting its resources. This can delete a workspace i
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/dotfiles.md b/docs/reference/cli/dotfiles.md
index 709aab6dd70b0..57074497fee5f 100644
--- a/docs/reference/cli/dotfiles.md
+++ b/docs/reference/cli/dotfiles.md
@@ -1,5 +1,4 @@
-
# dotfiles
Personalize your workspace by applying a canonical dotfiles repository
@@ -23,7 +22,7 @@ coder dotfiles [flags]
### --symlink-dir
| | |
-| ----------- | ------------------------------- |
+|-------------|---------------------------------|
| Type | string
|
| Environment | $CODER_SYMLINK_DIR
|
@@ -32,7 +31,7 @@ Specifies the directory for the dotfiles symlink destinations. If empty, will us
### -b, --branch
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specifies which branch to clone. If empty, will default to cloning the default branch or using the existing branch in the cloned repo on disk.
@@ -40,7 +39,7 @@ Specifies which branch to clone. If empty, will default to cloning the default b
### --repo-dir
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string
|
| Environment | $CODER_DOTFILES_REPO_DIR
|
| Default | dotfiles
|
@@ -50,7 +49,7 @@ Specifies the directory for the dotfiles repository, relative to global config d
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/external-auth.md b/docs/reference/cli/external-auth.md
index ebe16435feb62..5347bfd34e1ac 100644
--- a/docs/reference/cli/external-auth.md
+++ b/docs/reference/cli/external-auth.md
@@ -1,5 +1,4 @@
-
# external-auth
Manage external authentication
@@ -19,5 +18,5 @@ Authenticate with external services inside of a workspace.
## Subcommands
| Name | Purpose |
-| ------------------------------------------------------------ | ----------------------------------- |
+|--------------------------------------------------------------|-------------------------------------|
| [access-token
](./external-auth_access-token.md) | Print auth for an external provider |
diff --git a/docs/reference/cli/external-auth_access-token.md b/docs/reference/cli/external-auth_access-token.md
index ead28af54be31..2303e8f076da8 100644
--- a/docs/reference/cli/external-auth_access-token.md
+++ b/docs/reference/cli/external-auth_access-token.md
@@ -1,5 +1,4 @@
-
# external-auth access-token
Print auth for an external provider
@@ -37,7 +36,7 @@ fi
### --extra
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Extract a field from the "extra" properties of the OAuth token.
diff --git a/docs/reference/cli/favorite.md b/docs/reference/cli/favorite.md
index 93b5027367020..97ff6fde44032 100644
--- a/docs/reference/cli/favorite.md
+++ b/docs/reference/cli/favorite.md
@@ -1,13 +1,12 @@
-
# favorite
Add a workspace to your favorites
Aliases:
-- fav
-- favourite
+* fav
+* favourite
## Usage
diff --git a/docs/reference/cli/features.md b/docs/reference/cli/features.md
index d367623f049a0..1ba187f964c8e 100644
--- a/docs/reference/cli/features.md
+++ b/docs/reference/cli/features.md
@@ -1,12 +1,11 @@
-
# features
List Enterprise features
Aliases:
-- feature
+* feature
## Usage
@@ -17,5 +16,5 @@ coder features
## Subcommands
| Name | Purpose |
-| --------------------------------------- | ------- |
+|-----------------------------------------|---------|
| [list
](./features_list.md) | |
diff --git a/docs/reference/cli/features_list.md b/docs/reference/cli/features_list.md
index 43795aea2874b..a1aab1d165ae6 100644
--- a/docs/reference/cli/features_list.md
+++ b/docs/reference/cli/features_list.md
@@ -1,10 +1,9 @@
-
# features list
Aliases:
-- ls
+* ls
## Usage
@@ -17,7 +16,7 @@ coder features list [flags]
### -c, --column
| | |
-| ------- | -------------------------------------------------------- |
+|---------|----------------------------------------------------------|
| Type | [name\|entitlement\|enabled\|limit\|actual]
|
| Default | name,entitlement,enabled,limit,actual
|
@@ -26,7 +25,7 @@ Specify columns to filter in the table.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/groups.md b/docs/reference/cli/groups.md
index 6d5c936e7f0c5..a036d646ab263 100644
--- a/docs/reference/cli/groups.md
+++ b/docs/reference/cli/groups.md
@@ -1,12 +1,11 @@
-
# groups
Manage groups
Aliases:
-- group
+* group
## Usage
@@ -17,7 +16,7 @@ coder groups
## Subcommands
| Name | Purpose |
-| ----------------------------------------- | ------------------- |
+|-------------------------------------------|---------------------|
| [create
](./groups_create.md) | Create a user group |
| [list
](./groups_list.md) | List user groups |
| [edit
](./groups_edit.md) | Edit a user group |
diff --git a/docs/reference/cli/groups_create.md b/docs/reference/cli/groups_create.md
index e758b422ea387..4274a681a5873 100644
--- a/docs/reference/cli/groups_create.md
+++ b/docs/reference/cli/groups_create.md
@@ -1,5 +1,4 @@
-
# groups create
Create a user group
@@ -15,7 +14,7 @@ coder groups create [flags]
### -u, --avatar-url
| | |
-| ----------- | ------------------------------ |
+|-------------|--------------------------------|
| Type | string
|
| Environment | $CODER_AVATAR_URL
|
@@ -24,7 +23,7 @@ Set an avatar for a group.
### --display-name
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_DISPLAY_NAME
|
@@ -33,7 +32,7 @@ Optional human friendly name for the group.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/groups_delete.md b/docs/reference/cli/groups_delete.md
index 7bbf215ae2f29..2135fb635cb8a 100644
--- a/docs/reference/cli/groups_delete.md
+++ b/docs/reference/cli/groups_delete.md
@@ -1,12 +1,11 @@
-
# groups delete
Delete a user group
Aliases:
-- rm
+* rm
## Usage
@@ -19,7 +18,7 @@ coder groups delete [flags]
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/groups_edit.md b/docs/reference/cli/groups_edit.md
index f7c39c58e1d24..356a7eea4e7a9 100644
--- a/docs/reference/cli/groups_edit.md
+++ b/docs/reference/cli/groups_edit.md
@@ -1,5 +1,4 @@
-
# groups edit
Edit a user group
@@ -15,7 +14,7 @@ coder groups edit [flags]
### -n, --name
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Update the group name.
@@ -23,7 +22,7 @@ Update the group name.
### -u, --avatar-url
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Update the group avatar.
@@ -31,7 +30,7 @@ Update the group avatar.
### --display-name
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_DISPLAY_NAME
|
@@ -40,7 +39,7 @@ Optional human friendly name for the group.
### -a, --add-users
| | |
-| ---- | ------------------------- |
+|------|---------------------------|
| Type | string-array
|
Add users to the group. Accepts emails or IDs.
@@ -48,7 +47,7 @@ Add users to the group. Accepts emails or IDs.
### -r, --rm-users
| | |
-| ---- | ------------------------- |
+|------|---------------------------|
| Type | string-array
|
Remove users to the group. Accepts emails or IDs.
@@ -56,7 +55,7 @@ Remove users to the group. Accepts emails or IDs.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/groups_list.md b/docs/reference/cli/groups_list.md
index f3ab2f5e0956e..c76e8b382ec44 100644
--- a/docs/reference/cli/groups_list.md
+++ b/docs/reference/cli/groups_list.md
@@ -1,5 +1,4 @@
-
# groups list
List user groups
@@ -15,7 +14,7 @@ coder groups list [flags]
### -c, --column
| | |
-| ------- | ----------------------------------------------------------------------- |
+|---------|-------------------------------------------------------------------------|
| Type | [name\|display name\|organization id\|members\|avatar url]
|
| Default | name,display name,organization id,members,avatar url
|
@@ -24,7 +23,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
@@ -33,7 +32,7 @@ Output format.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/index.md b/docs/reference/cli/index.md
index 525cb8ac7d183..9ad8f5590e727 100644
--- a/docs/reference/cli/index.md
+++ b/docs/reference/cli/index.md
@@ -1,5 +1,4 @@
-
# coder
## Usage
@@ -24,7 +23,7 @@ Coder — A tool for provisioning self-hosted development environments with Terr
## Subcommands
| Name | Purpose |
-| -------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
+|----------------------------------------------------|-------------------------------------------------------------------------------------------------------|
| [completion
](./completion.md) | Install or update shell completion scripts for the detected or chosen shell. |
| [dotfiles
](./dotfiles.md) | Personalize your workspace by applying a canonical dotfiles repository |
| [external-auth
](./external-auth.md) | Manage external authentication |
@@ -66,14 +65,14 @@ Coder — A tool for provisioning self-hosted development environments with Terr
| [features
](./features.md) | List Enterprise features |
| [licenses
](./licenses.md) | Add, delete, and list licenses |
| [groups
](./groups.md) | Manage groups |
-| [provisioner
](./provisioner.md) | Manage provisioner daemons |
+| [provisioner
](./provisioner.md) | View and manage provisioner daemons and jobs |
## Options
### --url
| | |
-| ----------- | ----------------------- |
+|-------------|-------------------------|
| Type | url
|
| Environment | $CODER_URL
|
@@ -82,7 +81,7 @@ URL to a deployment.
### --debug-options
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Print all options, how they're set, then exit.
@@ -90,7 +89,7 @@ Print all options, how they're set, then exit.
### --token
| | |
-| ----------- | --------------------------------- |
+|-------------|-----------------------------------|
| Type | string
|
| Environment | $CODER_SESSION_TOKEN
|
@@ -99,7 +98,7 @@ Specify an authentication token. For security reasons setting CODER_SESSION_TOKE
### --no-version-warning
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | bool
|
| Environment | $CODER_NO_VERSION_WARNING
|
@@ -108,7 +107,7 @@ Suppress warning when client and server versions do not match.
### --no-feature-warning
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | bool
|
| Environment | $CODER_NO_FEATURE_WARNING
|
@@ -117,7 +116,7 @@ Suppress warnings about unlicensed features.
### --header
| | |
-| ----------- | -------------------------- |
+|-------------|----------------------------|
| Type | string-array
|
| Environment | $CODER_HEADER
|
@@ -126,7 +125,7 @@ Additional HTTP headers added to all requests. Provide as key=value. Can be spec
### --header-command
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | string
|
| Environment | $CODER_HEADER_COMMAND
|
@@ -135,7 +134,7 @@ An external command that outputs additional HTTP headers added to all requests.
### -v, --verbose
| | |
-| ----------- | --------------------------- |
+|-------------|-----------------------------|
| Type | bool
|
| Environment | $CODER_VERBOSE
|
@@ -144,7 +143,7 @@ Enable verbose output.
### --disable-direct-connections
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | bool
|
| Environment | $CODER_DISABLE_DIRECT_CONNECTIONS
|
@@ -153,7 +152,7 @@ Disable direct (P2P) connections to workspaces.
### --disable-network-telemetry
| | |
-| ----------- | --------------------------------------------- |
+|-------------|-----------------------------------------------|
| Type | bool
|
| Environment | $CODER_DISABLE_NETWORK_TELEMETRY
|
@@ -162,7 +161,7 @@ Disable network telemetry. Network telemetry is collected when connecting to wor
### --global-config
| | |
-| ----------- | ------------------------------ |
+|-------------|--------------------------------|
| Type | string
|
| Environment | $CODER_CONFIG_DIR
|
| Default | ~/.config/coderv2
|
diff --git a/docs/reference/cli/licenses.md b/docs/reference/cli/licenses.md
index 63e337afb259d..8e71f01aba8c6 100644
--- a/docs/reference/cli/licenses.md
+++ b/docs/reference/cli/licenses.md
@@ -1,12 +1,11 @@
-
# licenses
Add, delete, and list licenses
Aliases:
-- license
+* license
## Usage
@@ -17,7 +16,7 @@ coder licenses
## Subcommands
| Name | Purpose |
-| ------------------------------------------- | --------------------------------- |
+|---------------------------------------------|-----------------------------------|
| [add
](./licenses_add.md) | Add license to Coder deployment |
| [list
](./licenses_list.md) | List licenses (including expired) |
| [delete
](./licenses_delete.md) | Delete license by ID |
diff --git a/docs/reference/cli/licenses_add.md b/docs/reference/cli/licenses_add.md
index f3d9f201ed099..5562f5f49b365 100644
--- a/docs/reference/cli/licenses_add.md
+++ b/docs/reference/cli/licenses_add.md
@@ -1,5 +1,4 @@
-
# licenses add
Add license to Coder deployment
@@ -15,7 +14,7 @@ coder licenses add [flags] [-f file | -l license]
### -f, --file
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Load license from file.
@@ -23,7 +22,7 @@ Load license from file.
### -l, --license
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
License string.
@@ -31,7 +30,7 @@ License string.
### --debug
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Output license claims for debugging.
diff --git a/docs/reference/cli/licenses_delete.md b/docs/reference/cli/licenses_delete.md
index 8cf95894d5815..9a24e520e6584 100644
--- a/docs/reference/cli/licenses_delete.md
+++ b/docs/reference/cli/licenses_delete.md
@@ -1,13 +1,12 @@
-
# licenses delete
Delete license by ID
Aliases:
-- del
-- rm
+* del
+* rm
## Usage
diff --git a/docs/reference/cli/licenses_list.md b/docs/reference/cli/licenses_list.md
index a888c44331546..17311df2d6da2 100644
--- a/docs/reference/cli/licenses_list.md
+++ b/docs/reference/cli/licenses_list.md
@@ -1,12 +1,11 @@
-
# licenses list
List licenses (including expired)
Aliases:
-- ls
+* ls
## Usage
@@ -19,7 +18,7 @@ coder licenses list [flags]
### -c, --column
| | |
-| ------- | ----------------------------------------------------------------- |
+|---------|-------------------------------------------------------------------|
| Type | [id\|uuid\|uploaded at\|features\|expires at\|trial]
|
| Default | ID,UUID,Expires At,Uploaded At,Features
|
@@ -28,7 +27,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/list.md b/docs/reference/cli/list.md
index e9e82988c0af8..5911785b87fc1 100644
--- a/docs/reference/cli/list.md
+++ b/docs/reference/cli/list.md
@@ -1,12 +1,11 @@
-
# list
List workspaces
Aliases:
-- ls
+* ls
## Usage
@@ -19,7 +18,7 @@ coder list [flags]
### -a, --all
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Specifies whether all workspaces will be listed or not.
@@ -27,7 +26,7 @@ Specifies whether all workspaces will be listed or not.
### --search
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | string
|
| Default | owner:me
|
@@ -36,7 +35,7 @@ Search for a workspace with a query.
### -c, --column
| | |
-| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Type | [favorite\|workspace\|organization id\|organization name\|template\|status\|healthy\|last built\|current version\|outdated\|starts at\|starts next\|stops after\|stops next\|daily cost]
|
| Default | workspace,template,status,healthy,last built,current version,outdated,starts at,stops after
|
@@ -45,7 +44,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/login.md b/docs/reference/cli/login.md
index 9a27e4a6357c8..a35038fedef8c 100644
--- a/docs/reference/cli/login.md
+++ b/docs/reference/cli/login.md
@@ -1,5 +1,4 @@
-
# login
Authenticate with Coder deployment
@@ -15,7 +14,7 @@ coder login [flags] []
### --first-user-email
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | string
|
| Environment | $CODER_FIRST_USER_EMAIL
|
@@ -24,7 +23,7 @@ Specifies an email address to use if creating the first user for the deployment.
### --first-user-username
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_FIRST_USER_USERNAME
|
@@ -33,7 +32,7 @@ Specifies a username to use if creating the first user for the deployment.
### --first-user-full-name
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_FIRST_USER_FULL_NAME
|
@@ -42,7 +41,7 @@ Specifies a human-readable name for the first user of the deployment.
### --first-user-password
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_FIRST_USER_PASSWORD
|
@@ -51,7 +50,7 @@ Specifies a password to use if creating the first user for the deployment.
### --first-user-trial
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | bool
|
| Environment | $CODER_FIRST_USER_TRIAL
|
@@ -60,7 +59,7 @@ Specifies whether a trial license should be provisioned for the Coder deployment
### --use-token-as-session
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
By default, the CLI will generate a new session token when logging in. This flag will instead use the provided token as the session token.
diff --git a/docs/reference/cli/logout.md b/docs/reference/cli/logout.md
index 255c474054243..b35369ee36448 100644
--- a/docs/reference/cli/logout.md
+++ b/docs/reference/cli/logout.md
@@ -1,5 +1,4 @@
-
# logout
Unauthenticate your local session
@@ -15,7 +14,7 @@ coder logout [flags]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/netcheck.md b/docs/reference/cli/netcheck.md
index 0d70bc3a76642..219f6fa16b762 100644
--- a/docs/reference/cli/netcheck.md
+++ b/docs/reference/cli/netcheck.md
@@ -1,5 +1,4 @@
-
# netcheck
Print network debug information for DERP and STUN
diff --git a/docs/reference/cli/notifications.md b/docs/reference/cli/notifications.md
index 59e74b4324357..169776876e315 100644
--- a/docs/reference/cli/notifications.md
+++ b/docs/reference/cli/notifications.md
@@ -1,12 +1,11 @@
-
# notifications
Manage Coder notifications
Aliases:
-- notification
+* notification
## Usage
@@ -32,6 +31,6 @@ server or Webhook not responding).:
## Subcommands
| Name | Purpose |
-| ------------------------------------------------ | -------------------- |
+|--------------------------------------------------|----------------------|
| [pause
](./notifications_pause.md) | Pause notifications |
| [resume
](./notifications_resume.md) | Resume notifications |
diff --git a/docs/reference/cli/notifications_pause.md b/docs/reference/cli/notifications_pause.md
index 0cb2b101d474c..5bac0c2f9e05b 100644
--- a/docs/reference/cli/notifications_pause.md
+++ b/docs/reference/cli/notifications_pause.md
@@ -1,5 +1,4 @@
-
# notifications pause
Pause notifications
diff --git a/docs/reference/cli/notifications_resume.md b/docs/reference/cli/notifications_resume.md
index a8dc17453a383..79ec60ba543ff 100644
--- a/docs/reference/cli/notifications_resume.md
+++ b/docs/reference/cli/notifications_resume.md
@@ -1,5 +1,4 @@
-
# notifications resume
Resume notifications
diff --git a/docs/reference/cli/open.md b/docs/reference/cli/open.md
index 8b5f5beef4c03..e19bdaeba884d 100644
--- a/docs/reference/cli/open.md
+++ b/docs/reference/cli/open.md
@@ -1,5 +1,4 @@
-
# open
Open a workspace
@@ -13,5 +12,5 @@ coder open
## Subcommands
| Name | Purpose |
-| --------------------------------------- | ----------------------------------- |
+|-----------------------------------------|-------------------------------------|
| [vscode
](./open_vscode.md) | Open a workspace in VS Code Desktop |
diff --git a/docs/reference/cli/open_vscode.md b/docs/reference/cli/open_vscode.md
index 23e4d85d604b6..2b1e80dfbe5b7 100644
--- a/docs/reference/cli/open_vscode.md
+++ b/docs/reference/cli/open_vscode.md
@@ -1,5 +1,4 @@
-
# open vscode
Open a workspace in VS Code Desktop
@@ -15,7 +14,7 @@ coder open vscode [flags] []
### --generate-token
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | bool
|
| Environment | $CODER_OPEN_VSCODE_GENERATE_TOKEN
|
diff --git a/docs/reference/cli/organizations.md b/docs/reference/cli/organizations.md
index 1fbd076425ace..c2d4497173103 100644
--- a/docs/reference/cli/organizations.md
+++ b/docs/reference/cli/organizations.md
@@ -1,14 +1,13 @@
-
# organizations
Organization related commands
Aliases:
-- organization
-- org
-- orgs
+* organization
+* org
+* orgs
## Usage
@@ -19,7 +18,7 @@ coder organizations [flags] [subcommand]
## Subcommands
| Name | Purpose |
-| ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+|------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [show
](./organizations_show.md) | Show the organization. Using "selected" will show the selected organization from the "--org" flag. Using "me" will show all organizations you are a member of. |
| [create
](./organizations_create.md) | Create a new organization. |
| [members
](./organizations_members.md) | Manage organization members |
@@ -31,7 +30,7 @@ coder organizations [flags] [subcommand]
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/organizations_create.md b/docs/reference/cli/organizations_create.md
index 416a1306456e2..14f40f55e00d1 100644
--- a/docs/reference/cli/organizations_create.md
+++ b/docs/reference/cli/organizations_create.md
@@ -1,5 +1,4 @@
-
# organizations create
Create a new organization.
@@ -15,7 +14,7 @@ coder organizations create [flags]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/organizations_members.md b/docs/reference/cli/organizations_members.md
index 49d29ace004a8..b71372f13bdd9 100644
--- a/docs/reference/cli/organizations_members.md
+++ b/docs/reference/cli/organizations_members.md
@@ -1,12 +1,11 @@
-
# organizations members
Manage organization members
Aliases:
-- member
+* member
## Usage
@@ -17,7 +16,7 @@ coder organizations members
## Subcommands
| Name | Purpose |
-| ---------------------------------------------------------------- | ----------------------------------------------- |
+|------------------------------------------------------------------|-------------------------------------------------|
| [list
](./organizations_members_list.md) | List all organization members |
| [edit-roles
](./organizations_members_edit-roles.md) | Edit organization member's roles |
| [add
](./organizations_members_add.md) | Add a new member to the current organization |
diff --git a/docs/reference/cli/organizations_members_add.md b/docs/reference/cli/organizations_members_add.md
index b912a7ab56545..57481f02dd859 100644
--- a/docs/reference/cli/organizations_members_add.md
+++ b/docs/reference/cli/organizations_members_add.md
@@ -1,5 +1,4 @@
-
# organizations members add
Add a new member to the current organization
diff --git a/docs/reference/cli/organizations_members_edit-roles.md b/docs/reference/cli/organizations_members_edit-roles.md
index 3bd9d2066f5cf..0d4a21a379e11 100644
--- a/docs/reference/cli/organizations_members_edit-roles.md
+++ b/docs/reference/cli/organizations_members_edit-roles.md
@@ -1,12 +1,11 @@
-
# organizations members edit-roles
Edit organization member's roles
Aliases:
-- edit-role
+* edit-role
## Usage
diff --git a/docs/reference/cli/organizations_members_list.md b/docs/reference/cli/organizations_members_list.md
index 9a0a5d3fa0640..270fb1d49e945 100644
--- a/docs/reference/cli/organizations_members_list.md
+++ b/docs/reference/cli/organizations_members_list.md
@@ -1,5 +1,4 @@
-
# organizations members list
List all organization members
@@ -15,7 +14,7 @@ coder organizations members list [flags]
### -c, --column
| | |
-| ------- | --------------------------------------------------------------------------------------------------- |
+|---------|-----------------------------------------------------------------------------------------------------|
| Type | [username\|name\|user id\|organization id\|created at\|updated at\|organization roles]
|
| Default | username,organization roles
|
@@ -24,7 +23,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/organizations_members_remove.md b/docs/reference/cli/organizations_members_remove.md
index f36ea00b3ed48..9b6e29416557b 100644
--- a/docs/reference/cli/organizations_members_remove.md
+++ b/docs/reference/cli/organizations_members_remove.md
@@ -1,12 +1,11 @@
-
# organizations members remove
Remove a new member to the current organization
Aliases:
-- rm
+* rm
## Usage
diff --git a/docs/reference/cli/organizations_roles.md b/docs/reference/cli/organizations_roles.md
index 536e6abe89c10..19b6271dcbf9c 100644
--- a/docs/reference/cli/organizations_roles.md
+++ b/docs/reference/cli/organizations_roles.md
@@ -1,12 +1,11 @@
-
# organizations roles
Manage organization roles.
Aliases:
-- role
+* role
## Usage
@@ -17,6 +16,6 @@ coder organizations roles
## Subcommands
| Name | Purpose |
-| -------------------------------------------------- | -------------------------------- |
+|----------------------------------------------------|----------------------------------|
| [show
](./organizations_roles_show.md) | Show role(s) |
| [edit
](./organizations_roles_edit.md) | Edit an organization custom role |
diff --git a/docs/reference/cli/organizations_roles_edit.md b/docs/reference/cli/organizations_roles_edit.md
index 04fc8522a21ef..988f8c0eee1b2 100644
--- a/docs/reference/cli/organizations_roles_edit.md
+++ b/docs/reference/cli/organizations_roles_edit.md
@@ -1,5 +1,4 @@
-
# organizations roles edit
Edit an organization custom role
@@ -23,7 +22,7 @@ coder organizations roles edit [flags]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -31,7 +30,7 @@ Bypass prompts.
### --dry-run
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Does all the work, but does not submit the final updated role.
@@ -39,7 +38,7 @@ Does all the work, but does not submit the final updated role.
### --stdin
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Reads stdin for the json role definition to upload.
@@ -47,7 +46,7 @@ Reads stdin for the json role definition to upload.
### -c, --column
| | |
-| ------- | ---------------------------------------------------------------------------------------------------------------- |
+|---------|------------------------------------------------------------------------------------------------------------------|
| Type | [name\|display name\|organization id\|site permissions\|organization permissions\|user permissions]
|
| Default | name,display name,site permissions,organization permissions,user permissions
|
@@ -56,7 +55,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/organizations_roles_show.md b/docs/reference/cli/organizations_roles_show.md
index 2d75ae74d4576..1d5653839e756 100644
--- a/docs/reference/cli/organizations_roles_show.md
+++ b/docs/reference/cli/organizations_roles_show.md
@@ -1,5 +1,4 @@
-
# organizations roles show
Show role(s)
@@ -15,7 +14,7 @@ coder organizations roles show [flags] [role_names ...]
### -c, --column
| | |
-| ------- | ---------------------------------------------------------------------------------------------------------------- |
+|---------|------------------------------------------------------------------------------------------------------------------|
| Type | [name\|display name\|organization id\|site permissions\|organization permissions\|user permissions]
|
| Default | name,display name,site permissions,organization permissions,user permissions
|
@@ -24,7 +23,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/organizations_settings.md b/docs/reference/cli/organizations_settings.md
index 15093c984fedc..76a84135edb07 100644
--- a/docs/reference/cli/organizations_settings.md
+++ b/docs/reference/cli/organizations_settings.md
@@ -1,12 +1,11 @@
-
# organizations settings
Manage organization settings.
Aliases:
-- setting
+* setting
## Usage
@@ -17,6 +16,6 @@ coder organizations settings
## Subcommands
| Name | Purpose |
-| ----------------------------------------------------- | --------------------------------------- |
+|-------------------------------------------------------|-----------------------------------------|
| [show
](./organizations_settings_show.md) | Outputs specified organization setting. |
| [set
](./organizations_settings_set.md) | Update specified organization setting. |
diff --git a/docs/reference/cli/organizations_settings_set.md b/docs/reference/cli/organizations_settings_set.md
index e1e9bf0261a1b..c7d0fd8f138e3 100644
--- a/docs/reference/cli/organizations_settings_set.md
+++ b/docs/reference/cli/organizations_settings_set.md
@@ -1,5 +1,4 @@
-
# organizations settings set
Update specified organization setting.
@@ -21,7 +20,7 @@ coder organizations settings set
## Subcommands
| Name | Purpose |
-| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
+|-------------------------------------------------------------------------------------|--------------------------------------------------------------------------|
| [group-sync
](./organizations_settings_set_group-sync.md) | Group sync settings to sync groups from an IdP. |
| [role-sync
](./organizations_settings_set_role-sync.md) | Role sync settings to sync organization roles from an IdP. |
| [organization-sync
](./organizations_settings_set_organization-sync.md) | Organization sync settings to sync organization memberships from an IdP. |
diff --git a/docs/reference/cli/organizations_settings_set_group-sync.md b/docs/reference/cli/organizations_settings_set_group-sync.md
index f60a456771763..ceefa22a523c2 100644
--- a/docs/reference/cli/organizations_settings_set_group-sync.md
+++ b/docs/reference/cli/organizations_settings_set_group-sync.md
@@ -1,12 +1,11 @@
-
# organizations settings set group-sync
Group sync settings to sync groups from an IdP.
Aliases:
-- groupsync
+* groupsync
## Usage
diff --git a/docs/reference/cli/organizations_settings_set_organization-sync.md b/docs/reference/cli/organizations_settings_set_organization-sync.md
index 6b6557e2c3358..8580c6cef3767 100644
--- a/docs/reference/cli/organizations_settings_set_organization-sync.md
+++ b/docs/reference/cli/organizations_settings_set_organization-sync.md
@@ -1,14 +1,13 @@
-
# organizations settings set organization-sync
Organization sync settings to sync organization memberships from an IdP.
Aliases:
-- organizationsync
-- org-sync
-- orgsync
+* organizationsync
+* org-sync
+* orgsync
## Usage
diff --git a/docs/reference/cli/organizations_settings_set_role-sync.md b/docs/reference/cli/organizations_settings_set_role-sync.md
index 40203b21f752e..01d46319f54a9 100644
--- a/docs/reference/cli/organizations_settings_set_role-sync.md
+++ b/docs/reference/cli/organizations_settings_set_role-sync.md
@@ -1,12 +1,11 @@
-
# organizations settings set role-sync
Role sync settings to sync organization roles from an IdP.
Aliases:
-- rolesync
+* rolesync
## Usage
diff --git a/docs/reference/cli/organizations_settings_show.md b/docs/reference/cli/organizations_settings_show.md
index feaef7d0124f9..90dc642745707 100644
--- a/docs/reference/cli/organizations_settings_show.md
+++ b/docs/reference/cli/organizations_settings_show.md
@@ -1,5 +1,4 @@
-
# organizations settings show
Outputs specified organization setting.
@@ -21,7 +20,7 @@ coder organizations settings show
## Subcommands
| Name | Purpose |
-| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
+|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------|
| [group-sync
](./organizations_settings_show_group-sync.md) | Group sync settings to sync groups from an IdP. |
| [role-sync
](./organizations_settings_show_role-sync.md) | Role sync settings to sync organization roles from an IdP. |
| [organization-sync
](./organizations_settings_show_organization-sync.md) | Organization sync settings to sync organization memberships from an IdP. |
diff --git a/docs/reference/cli/organizations_settings_show_group-sync.md b/docs/reference/cli/organizations_settings_show_group-sync.md
index 6ae796d117e61..75a4398f88bce 100644
--- a/docs/reference/cli/organizations_settings_show_group-sync.md
+++ b/docs/reference/cli/organizations_settings_show_group-sync.md
@@ -1,12 +1,11 @@
-
# organizations settings show group-sync
Group sync settings to sync groups from an IdP.
Aliases:
-- groupsync
+* groupsync
## Usage
diff --git a/docs/reference/cli/organizations_settings_show_organization-sync.md b/docs/reference/cli/organizations_settings_show_organization-sync.md
index 7e2e025c2a4af..2054aa29b4cdb 100644
--- a/docs/reference/cli/organizations_settings_show_organization-sync.md
+++ b/docs/reference/cli/organizations_settings_show_organization-sync.md
@@ -1,14 +1,13 @@
-
# organizations settings show organization-sync
Organization sync settings to sync organization memberships from an IdP.
Aliases:
-- organizationsync
-- org-sync
-- orgsync
+* organizationsync
+* org-sync
+* orgsync
## Usage
diff --git a/docs/reference/cli/organizations_settings_show_role-sync.md b/docs/reference/cli/organizations_settings_show_role-sync.md
index 8a32c138517d1..6fe2fd40a951c 100644
--- a/docs/reference/cli/organizations_settings_show_role-sync.md
+++ b/docs/reference/cli/organizations_settings_show_role-sync.md
@@ -1,12 +1,11 @@
-
# organizations settings show role-sync
Role sync settings to sync organization roles from an IdP.
Aliases:
-- rolesync
+* rolesync
## Usage
diff --git a/docs/reference/cli/organizations_show.md b/docs/reference/cli/organizations_show.md
index 0cd111e9da0eb..540014b46802d 100644
--- a/docs/reference/cli/organizations_show.md
+++ b/docs/reference/cli/organizations_show.md
@@ -1,5 +1,4 @@
-
# organizations show
Show the organization. Using "selected" will show the selected organization from the "--org" flag. Using "me" will show all organizations you are a member of.
@@ -35,7 +34,7 @@ coder organizations show [flags] ["selected"|"me"|uuid|org_name]
### --only-id
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Only print the organization ID.
@@ -43,7 +42,7 @@ Only print the organization ID.
### -c, --column
| | |
-| ------- | ----------------------------------------------------------------------------------------- |
+|---------|-------------------------------------------------------------------------------------------|
| Type | [id\|name\|display name\|icon\|description\|created at\|updated at\|default]
|
| Default | id,name,default
|
@@ -52,7 +51,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------------ |
+|---------|--------------------------------|
| Type | text\|table\|json
|
| Default | text
|
diff --git a/docs/reference/cli/ping.md b/docs/reference/cli/ping.md
index c8d63addcf8d7..8fbc1eaf36e8e 100644
--- a/docs/reference/cli/ping.md
+++ b/docs/reference/cli/ping.md
@@ -1,5 +1,4 @@
-
# ping
Ping a workspace
@@ -15,7 +14,7 @@ coder ping [flags]
### --wait
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 1s
|
@@ -24,7 +23,7 @@ Specifies how long to wait between pings.
### -t, --timeout
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 5s
|
@@ -33,7 +32,7 @@ Specifies how long to wait for a ping to complete.
### -n, --num
| | |
-| ---- | ---------------- |
+|------|------------------|
| Type | int
|
Specifies the number of pings to perform. By default, pings will continue until interrupted.
diff --git a/docs/reference/cli/port-forward.md b/docs/reference/cli/port-forward.md
index f279e2125d93b..976b830fca360 100644
--- a/docs/reference/cli/port-forward.md
+++ b/docs/reference/cli/port-forward.md
@@ -1,12 +1,11 @@
-
# port-forward
Forward ports from a workspace to the local machine. For reverse port forwarding, use "coder ssh -R".
Aliases:
-- tunnel
+* tunnel
## Usage
@@ -45,7 +44,7 @@ machine:
### -p, --tcp
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | string-array
|
| Environment | $CODER_PORT_FORWARD_TCP
|
@@ -54,7 +53,7 @@ Forward TCP port(s) from the workspace to the local machine.
### --udp
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | string-array
|
| Environment | $CODER_PORT_FORWARD_UDP
|
@@ -63,7 +62,7 @@ Forward UDP port(s) from the workspace to the local machine. The UDP connection
### --disable-autostart
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | bool
|
| Environment | $CODER_SSH_DISABLE_AUTOSTART
|
| Default | false
|
diff --git a/docs/reference/cli/provisioner.md b/docs/reference/cli/provisioner.md
index 54cc28a84bea4..20acfd4fa5c69 100644
--- a/docs/reference/cli/provisioner.md
+++ b/docs/reference/cli/provisioner.md
@@ -1,12 +1,11 @@
-
# provisioner
-Manage provisioner daemons
+View and manage provisioner daemons and jobs
Aliases:
-- provisioners
+* provisioners
## Usage
@@ -16,7 +15,9 @@ coder provisioner
## Subcommands
-| Name | Purpose |
-| -------------------------------------------- | ------------------------ |
-| [start
](./provisioner_start.md) | Run a provisioner daemon |
-| [keys
](./provisioner_keys.md) | Manage provisioner keys |
+| Name | Purpose |
+|----------------------------------------------|---------------------------------------------|
+| [list
](./provisioner_list.md) | List provisioner daemons in an organization |
+| [jobs
](./provisioner_jobs.md) | View and manage provisioner jobs |
+| [start
](./provisioner_start.md) | Run a provisioner daemon |
+| [keys
](./provisioner_keys.md) | Manage provisioner keys |
diff --git a/docs/reference/cli/provisioner_jobs.md b/docs/reference/cli/provisioner_jobs.md
new file mode 100644
index 0000000000000..1bd2226af0920
--- /dev/null
+++ b/docs/reference/cli/provisioner_jobs.md
@@ -0,0 +1,21 @@
+
+# provisioner jobs
+
+View and manage provisioner jobs
+
+Aliases:
+
+* job
+
+## Usage
+
+```console
+coder provisioner jobs
+```
+
+## Subcommands
+
+| Name | Purpose |
+|-----------------------------------------------------|--------------------------|
+| [cancel
](./provisioner_jobs_cancel.md) | Cancel a provisioner job |
+| [list
](./provisioner_jobs_list.md) | List provisioner jobs |
diff --git a/docs/reference/cli/provisioner_jobs_cancel.md b/docs/reference/cli/provisioner_jobs_cancel.md
new file mode 100644
index 0000000000000..2040247b1199d
--- /dev/null
+++ b/docs/reference/cli/provisioner_jobs_cancel.md
@@ -0,0 +1,21 @@
+
+# provisioner jobs cancel
+
+Cancel a provisioner job
+
+## Usage
+
+```console
+coder provisioner jobs cancel [flags]
+```
+
+## Options
+
+### -O, --org
+
+| | |
+|-------------|----------------------------------|
+| Type | string
|
+| Environment | $CODER_ORGANIZATION
|
+
+Select which organization (uuid or name) to use.
diff --git a/docs/reference/cli/provisioner_jobs_list.md b/docs/reference/cli/provisioner_jobs_list.md
new file mode 100644
index 0000000000000..03e187b1c6720
--- /dev/null
+++ b/docs/reference/cli/provisioner_jobs_list.md
@@ -0,0 +1,62 @@
+
+# provisioner jobs list
+
+List provisioner jobs
+
+Aliases:
+
+* ls
+
+## Usage
+
+```console
+coder provisioner jobs list [flags]
+```
+
+## Options
+
+### -s, --status
+
+| | |
+|-------------|----------------------------------------------------------------------------------|
+| Type | [pending\|running\|succeeded\|canceling\|canceled\|failed\|unknown]
|
+| Environment | $CODER_PROVISIONER_JOB_LIST_STATUS
|
+
+Filter by job status.
+
+### -l, --limit
+
+| | |
+|-------------|------------------------------------------------|
+| Type | int
|
+| Environment | $CODER_PROVISIONER_JOB_LIST_LIMIT
|
+| Default | 50
|
+
+Limit the number of jobs returned.
+
+### -O, --org
+
+| | |
+|-------------|----------------------------------|
+| Type | string
|
+| Environment | $CODER_ORGANIZATION
|
+
+Select which organization (uuid or name) to use.
+
+### -c, --column
+
+| | |
+|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Type | [id\|created at\|started at\|completed at\|canceled at\|error\|error code\|status\|worker id\|file id\|tags\|queue position\|queue size\|organization id\|template version id\|workspace build id\|type\|available workers\|organization\|queue]
|
+| Default | created at,id,organization,status,type,queue,tags
|
+
+Columns to display in table output.
+
+### -o, --output
+
+| | |
+|---------|--------------------------|
+| Type | table\|json
|
+| Default | table
|
+
+Output format.
diff --git a/docs/reference/cli/provisioner_keys.md b/docs/reference/cli/provisioner_keys.md
index 014af6f117c3a..80cfd8f0a31b8 100644
--- a/docs/reference/cli/provisioner_keys.md
+++ b/docs/reference/cli/provisioner_keys.md
@@ -1,12 +1,11 @@
-
# provisioner keys
Manage provisioner keys
Aliases:
-- key
+* key
## Usage
@@ -17,7 +16,7 @@ coder provisioner keys
## Subcommands
| Name | Purpose |
-| --------------------------------------------------- | ---------------------------------------- |
+|-----------------------------------------------------|------------------------------------------|
| [create
](./provisioner_keys_create.md) | Create a new provisioner key |
| [list
](./provisioner_keys_list.md) | List provisioner keys in an organization |
| [delete
](./provisioner_keys_delete.md) | Delete a provisioner key |
diff --git a/docs/reference/cli/provisioner_keys_create.md b/docs/reference/cli/provisioner_keys_create.md
index da6479d15bfc9..737ba187c9c27 100644
--- a/docs/reference/cli/provisioner_keys_create.md
+++ b/docs/reference/cli/provisioner_keys_create.md
@@ -1,5 +1,4 @@
-
# provisioner keys create
Create a new provisioner key
@@ -15,7 +14,7 @@ coder provisioner keys create [flags]
### -t, --tag
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string-array
|
| Environment | $CODER_PROVISIONERD_TAGS
|
@@ -24,7 +23,7 @@ Tags to filter provisioner jobs by.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/provisioner_keys_delete.md b/docs/reference/cli/provisioner_keys_delete.md
index 56e32e57d048b..4303491106716 100644
--- a/docs/reference/cli/provisioner_keys_delete.md
+++ b/docs/reference/cli/provisioner_keys_delete.md
@@ -1,12 +1,11 @@
-
# provisioner keys delete
Delete a provisioner key
Aliases:
-- rm
+* rm
## Usage
@@ -19,7 +18,7 @@ coder provisioner keys delete [flags]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -27,7 +26,7 @@ Bypass prompts.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/provisioner_keys_list.md b/docs/reference/cli/provisioner_keys_list.md
index 366db05fa490f..4f05a5e9b5dcc 100644
--- a/docs/reference/cli/provisioner_keys_list.md
+++ b/docs/reference/cli/provisioner_keys_list.md
@@ -1,12 +1,11 @@
-
# provisioner keys list
List provisioner keys in an organization
Aliases:
-- ls
+* ls
## Usage
@@ -19,8 +18,26 @@ coder provisioner keys list [flags]
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
Select which organization (uuid or name) to use.
+
+### -c, --column
+
+| | |
+|---------|---------------------------------------|
+| Type | [created at\|name\|tags]
|
+| Default | created at,name,tags
|
+
+Columns to display in table output.
+
+### -o, --output
+
+| | |
+|---------|--------------------------|
+| Type | table\|json
|
+| Default | table
|
+
+Output format.
diff --git a/docs/reference/cli/provisioner_list.md b/docs/reference/cli/provisioner_list.md
new file mode 100644
index 0000000000000..11abd7dcc3d75
--- /dev/null
+++ b/docs/reference/cli/provisioner_list.md
@@ -0,0 +1,43 @@
+
+# provisioner list
+
+List provisioner daemons in an organization
+
+Aliases:
+
+* ls
+
+## Usage
+
+```console
+coder provisioner list [flags]
+```
+
+## Options
+
+### -O, --org
+
+| | |
+|-------------|----------------------------------|
+| Type | string
|
+| Environment | $CODER_ORGANIZATION
|
+
+Select which organization (uuid or name) to use.
+
+### -c, --column
+
+| | |
+|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Type | [id\|organization id\|created at\|last seen at\|name\|version\|api version\|tags\|key name\|status\|current job id\|current job status\|previous job id\|previous job status\|organization]
|
+| Default | name,organization,status,key name,created at,last seen at,version,tags
|
+
+Columns to display in table output.
+
+### -o, --output
+
+| | |
+|---------|--------------------------|
+| Type | table\|json
|
+| Default | table
|
+
+Output format.
diff --git a/docs/reference/cli/provisioner_start.md b/docs/reference/cli/provisioner_start.md
index 65254d18c0149..2a3c88ff93139 100644
--- a/docs/reference/cli/provisioner_start.md
+++ b/docs/reference/cli/provisioner_start.md
@@ -1,5 +1,4 @@
-
# provisioner start
Run a provisioner daemon
@@ -15,7 +14,7 @@ coder provisioner start [flags]
### -c, --cache-dir
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | string
|
| Environment | $CODER_CACHE_DIRECTORY
|
| Default | ~/.cache/coder
|
@@ -25,7 +24,7 @@ Directory to store cached data.
### -t, --tag
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string-array
|
| Environment | $CODER_PROVISIONERD_TAGS
|
@@ -34,7 +33,7 @@ Tags to filter provisioner jobs by.
### --poll-interval
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | duration
|
| Environment | $CODER_PROVISIONERD_POLL_INTERVAL
|
| Default | 1s
|
@@ -44,7 +43,7 @@ Deprecated and ignored.
### --poll-jitter
| | |
-| ----------- | -------------------------------------------- |
+|-------------|----------------------------------------------|
| Type | duration
|
| Environment | $CODER_PROVISIONERD_POLL_JITTER
|
| Default | 100ms
|
@@ -54,7 +53,7 @@ Deprecated and ignored.
### --psk
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string
|
| Environment | $CODER_PROVISIONER_DAEMON_PSK
|
@@ -63,7 +62,7 @@ Pre-shared key to authenticate with Coder server.
### --key
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string
|
| Environment | $CODER_PROVISIONER_DAEMON_KEY
|
@@ -72,7 +71,7 @@ Provisioner key to authenticate with Coder server.
### --name
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | string
|
| Environment | $CODER_PROVISIONER_DAEMON_NAME
|
@@ -81,7 +80,7 @@ Name of this provisioner daemon. Defaults to the current hostname without FQDN.
### --verbose
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | bool
|
| Environment | $CODER_PROVISIONER_DAEMON_VERBOSE
|
| Default | false
|
@@ -91,7 +90,7 @@ Output debug-level logs.
### --log-human
| | |
-| ----------- | ---------------------------------------------------- |
+|-------------|------------------------------------------------------|
| Type | string
|
| Environment | $CODER_PROVISIONER_DAEMON_LOGGING_HUMAN
|
| Default | /dev/stderr
|
@@ -101,7 +100,7 @@ Output human-readable logs to a given file.
### --log-json
| | |
-| ----------- | --------------------------------------------------- |
+|-------------|-----------------------------------------------------|
| Type | string
|
| Environment | $CODER_PROVISIONER_DAEMON_LOGGING_JSON
|
@@ -110,7 +109,7 @@ Output JSON logs to a given file.
### --log-stackdriver
| | |
-| ----------- | ---------------------------------------------------------- |
+|-------------|------------------------------------------------------------|
| Type | string
|
| Environment | $CODER_PROVISIONER_DAEMON_LOGGING_STACKDRIVER
|
@@ -119,16 +118,16 @@ Output Stackdriver compatible logs to a given file.
### --log-filter
| | |
-| ----------- | ------------------------------------------------- |
+|-------------|---------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_PROVISIONER_DAEMON_LOG_FILTER
|
-Filter debug logs by matching against a given regex. Use .\* to match all debug logs.
+Filter debug logs by matching against a given regex. Use .* to match all debug logs.
### --prometheus-enable
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | bool
|
| Environment | $CODER_PROMETHEUS_ENABLE
|
| Default | false
|
@@ -138,7 +137,7 @@ Serve prometheus metrics on the address defined by prometheus address.
### --prometheus-address
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string
|
| Environment | $CODER_PROMETHEUS_ADDRESS
|
| Default | 127.0.0.1:2112
|
@@ -148,7 +147,7 @@ The bind address to serve prometheus metrics.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/publickey.md b/docs/reference/cli/publickey.md
index 63e19e7e54423..ec68d813b137b 100644
--- a/docs/reference/cli/publickey.md
+++ b/docs/reference/cli/publickey.md
@@ -1,12 +1,11 @@
-
# publickey
Output your Coder public key used for Git operations
Aliases:
-- pubkey
+* pubkey
## Usage
@@ -19,7 +18,7 @@ coder publickey [flags]
### --reset
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Regenerate your public key. This will require updating the key on any services it's registered with.
@@ -27,7 +26,7 @@ Regenerate your public key. This will require updating the key on any services i
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/rename.md b/docs/reference/cli/rename.md
index 5cb9242beba38..511ccc60f8d3b 100644
--- a/docs/reference/cli/rename.md
+++ b/docs/reference/cli/rename.md
@@ -1,5 +1,4 @@
-
# rename
Rename a workspace
@@ -15,7 +14,7 @@ coder rename [flags]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/reset-password.md b/docs/reference/cli/reset-password.md
index 2d63226f02d26..ada9ad7e7db3e 100644
--- a/docs/reference/cli/reset-password.md
+++ b/docs/reference/cli/reset-password.md
@@ -1,5 +1,4 @@
-
# reset-password
Directly connect to the database to reset a user's password
@@ -15,8 +14,18 @@ coder reset-password [flags]
### --postgres-url
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string
|
| Environment | $CODER_PG_CONNECTION_URL
|
URL of a PostgreSQL database to connect to.
+
+### --postgres-connection-auth
+
+| | |
+|-------------|----------------------------------------|
+| Type | password\|awsiamrds
|
+| Environment | $CODER_PG_CONNECTION_AUTH
|
+| Default | password
|
+
+Type of auth to use when connecting to postgres.
diff --git a/docs/reference/cli/restart.md b/docs/reference/cli/restart.md
index 3b06efb6e4855..1c30e3e1fffaa 100644
--- a/docs/reference/cli/restart.md
+++ b/docs/reference/cli/restart.md
@@ -1,5 +1,4 @@
-
# restart
Restart a workspace
@@ -15,7 +14,7 @@ coder restart [flags]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -23,7 +22,7 @@ Bypass prompts.
### --build-option
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string-array
|
| Environment | $CODER_BUILD_OPTION
|
@@ -32,7 +31,7 @@ Build option value in the format "name=value".
### --build-options
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Prompt for one-time build options defined with ephemeral parameters.
@@ -40,7 +39,7 @@ Prompt for one-time build options defined with ephemeral parameters.
### --ephemeral-parameter
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string-array
|
| Environment | $CODER_EPHEMERAL_PARAMETER
|
@@ -49,7 +48,7 @@ Set the value of ephemeral parameters defined in the template. The format is "na
### --prompt-ephemeral-parameters
| | |
-| ----------- | ----------------------------------------------- |
+|-------------|-------------------------------------------------|
| Type | bool
|
| Environment | $CODER_PROMPT_EPHEMERAL_PARAMETERS
|
@@ -58,7 +57,7 @@ Prompt to set values of ephemeral parameters defined in the template. If a value
### --parameter
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | string-array
|
| Environment | $CODER_RICH_PARAMETER
|
@@ -67,7 +66,7 @@ Rich parameter value in the format "name=value".
### --rich-parameter-file
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_RICH_PARAMETER_FILE
|
@@ -76,7 +75,7 @@ Specify a file path with values for rich parameters defined in the template. The
### --parameter-default
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string-array
|
| Environment | $CODER_RICH_PARAMETER_DEFAULT
|
@@ -85,7 +84,7 @@ Rich parameter default values in the format "name=value".
### --always-prompt
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Always prompt all parameters. Does not pull parameter values from existing workspace.
diff --git a/docs/reference/cli/schedule.md b/docs/reference/cli/schedule.md
index cfaf5911bf51a..c25bd4bf60036 100644
--- a/docs/reference/cli/schedule.md
+++ b/docs/reference/cli/schedule.md
@@ -1,5 +1,4 @@
-
# schedule
Schedule automated start and stop times for workspaces
@@ -7,14 +6,14 @@ Schedule automated start and stop times for workspaces
## Usage
```console
-coder schedule { show | start | stop | override }
+coder schedule { show | start | stop | extend }
```
## Subcommands
-| Name | Purpose |
-| --------------------------------------------------------- | ----------------------------------------------------------------- |
-| [show
](./schedule_show.md) | Show workspace schedules |
-| [start
](./schedule_start.md) | Edit workspace start schedule |
-| [stop
](./schedule_stop.md) | Edit workspace stop schedule |
-| [override-stop
](./schedule_override-stop.md) | Override the stop time of a currently running workspace instance. |
+| Name | Purpose |
+|---------------------------------------------|-----------------------------------------------------------------|
+| [show
](./schedule_show.md) | Show workspace schedules |
+| [start
](./schedule_start.md) | Edit workspace start schedule |
+| [stop
](./schedule_stop.md) | Edit workspace stop schedule |
+| [extend
](./schedule_extend.md) | Extend the stop time of a currently running workspace instance. |
diff --git a/docs/reference/cli/schedule_extend.md b/docs/reference/cli/schedule_extend.md
new file mode 100644
index 0000000000000..e4b696ad5c4a7
--- /dev/null
+++ b/docs/reference/cli/schedule_extend.md
@@ -0,0 +1,25 @@
+
+# schedule extend
+
+Extend the stop time of a currently running workspace instance.
+
+Aliases:
+
+* override-stop
+
+## Usage
+
+```console
+coder schedule extend
+```
+
+## Description
+
+```console
+
+ * The new stop time is calculated from *now*.
+ * The new stop time must be at least 30 minutes in the future.
+ * The workspace template may restrict the maximum workspace runtime.
+
+ $ coder schedule extend my-workspace 90m
+```
diff --git a/docs/reference/cli/schedule_override-stop.md b/docs/reference/cli/schedule_override-stop.md
deleted file mode 100644
index 8c565d734a585..0000000000000
--- a/docs/reference/cli/schedule_override-stop.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-# schedule override-stop
-
-Override the stop time of a currently running workspace instance.
-
-## Usage
-
-```console
-coder schedule override-stop
-```
-
-## Description
-
-```console
-
- * The new stop time is calculated from *now*.
- * The new stop time must be at least 30 minutes in the future.
- * The workspace template may restrict the maximum workspace runtime.
-
- $ coder schedule override-stop my-workspace 90m
-```
diff --git a/docs/reference/cli/schedule_show.md b/docs/reference/cli/schedule_show.md
index a9f848a242fda..65d858c1fbe38 100644
--- a/docs/reference/cli/schedule_show.md
+++ b/docs/reference/cli/schedule_show.md
@@ -1,5 +1,4 @@
-
# schedule show
Show workspace schedules
@@ -26,7 +25,7 @@ Shows the following information for the given workspace(s):
### -a, --all
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Specifies whether all workspaces will be listed or not.
@@ -34,7 +33,7 @@ Specifies whether all workspaces will be listed or not.
### --search
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | string
|
| Default | owner:me
|
@@ -43,7 +42,7 @@ Search for a workspace with a query.
### -c, --column
| | |
-| ------- | ------------------------------------------------------------------------- |
+|---------|---------------------------------------------------------------------------|
| Type | [workspace\|starts at\|starts next\|stops after\|stops next]
|
| Default | workspace,starts at,starts next,stops after,stops next
|
@@ -52,7 +51,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/schedule_start.md b/docs/reference/cli/schedule_start.md
index 771bb995e65b0..886e5edf1adaf 100644
--- a/docs/reference/cli/schedule_start.md
+++ b/docs/reference/cli/schedule_start.md
@@ -1,5 +1,4 @@
-
# schedule start
Edit workspace start schedule
diff --git a/docs/reference/cli/schedule_stop.md b/docs/reference/cli/schedule_stop.md
index 399bc69cd5fc9..a832c9c919573 100644
--- a/docs/reference/cli/schedule_stop.md
+++ b/docs/reference/cli/schedule_stop.md
@@ -1,5 +1,4 @@
-
# schedule stop
Edit workspace stop schedule
diff --git a/docs/reference/cli/server.md b/docs/reference/cli/server.md
index 02f5b6ff5f4be..98cb2a90c20da 100644
--- a/docs/reference/cli/server.md
+++ b/docs/reference/cli/server.md
@@ -1,5 +1,4 @@
-
# server
Start a Coder server
@@ -13,7 +12,7 @@ coder server [flags]
## Subcommands
| Name | Purpose |
-| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
+|---------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
| [create-admin-user
](./server_create-admin-user.md) | Create a new admin user with the given username, email and password and adds it to every organization. |
| [postgres-builtin-url
](./server_postgres-builtin-url.md) | Output the connection URL for the built-in PostgreSQL deployment. |
| [postgres-builtin-serve
](./server_postgres-builtin-serve.md) | Run the built-in PostgreSQL deployment. |
@@ -24,7 +23,7 @@ coder server [flags]
### --access-url
| | |
-| ----------- | --------------------------------- |
+|-------------|-----------------------------------|
| Type | url
|
| Environment | $CODER_ACCESS_URL
|
| YAML | networking.accessURL
|
@@ -34,17 +33,17 @@ The URL that users will use to access the Coder deployment.
### --wildcard-access-url
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | string
|
| Environment | $CODER_WILDCARD_ACCESS_URL
|
| YAML | networking.wildcardAccessURL
|
-Specifies the wildcard hostname to use for workspace applications in the form "\*.example.com".
+Specifies the wildcard hostname to use for workspace applications in the form "*.example.com".
### --docs-url
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | url
|
| Environment | $CODER_DOCS_URL
|
| YAML | networking.docsURL
|
@@ -55,7 +54,7 @@ Specifies the custom docs URL.
### --redirect-to-access-url
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | bool
|
| Environment | $CODER_REDIRECT_TO_ACCESS_URL
|
| YAML | networking.redirectToAccessURL
|
@@ -65,7 +64,7 @@ Specifies whether to redirect requests that do not match the access URL host.
### --http-address
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_HTTP_ADDRESS
|
| YAML | networking.http.httpAddress
|
@@ -76,7 +75,7 @@ HTTP bind address of the server. Unset to disable the HTTP endpoint.
### --tls-address
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | host:port
|
| Environment | $CODER_TLS_ADDRESS
|
| YAML | networking.tls.address
|
@@ -87,7 +86,7 @@ HTTPS bind address of the server.
### --tls-enable
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | bool
|
| Environment | $CODER_TLS_ENABLE
|
| YAML | networking.tls.enable
|
@@ -97,7 +96,7 @@ Whether TLS will be enabled.
### --tls-cert-file
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string-array
|
| Environment | $CODER_TLS_CERT_FILE
|
| YAML | networking.tls.certFiles
|
@@ -107,7 +106,7 @@ Path to each certificate for TLS. It requires a PEM-encoded file. To configure t
### --tls-client-ca-file
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_TLS_CLIENT_CA_FILE
|
| YAML | networking.tls.clientCAFile
|
@@ -117,7 +116,7 @@ PEM-encoded Certificate Authority file used for checking the authenticity of cli
### --tls-client-auth
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string
|
| Environment | $CODER_TLS_CLIENT_AUTH
|
| YAML | networking.tls.clientAuth
|
@@ -128,7 +127,7 @@ Policy the server will follow for TLS Client Authentication. Accepted values are
### --tls-key-file
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | string-array
|
| Environment | $CODER_TLS_KEY_FILE
|
| YAML | networking.tls.keyFiles
|
@@ -138,7 +137,7 @@ Paths to the private keys for each of the certificates. It requires a PEM-encode
### --tls-min-version
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string
|
| Environment | $CODER_TLS_MIN_VERSION
|
| YAML | networking.tls.minVersion
|
@@ -149,7 +148,7 @@ Minimum supported version of TLS. Accepted values are "tls10", "tls11", "tls12"
### --tls-client-cert-file
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string
|
| Environment | $CODER_TLS_CLIENT_CERT_FILE
|
| YAML | networking.tls.clientCertFile
|
@@ -159,7 +158,7 @@ Path to certificate for client TLS authentication. It requires a PEM-encoded fil
### --tls-client-key-file
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | string
|
| Environment | $CODER_TLS_CLIENT_KEY_FILE
|
| YAML | networking.tls.clientKeyFile
|
@@ -169,7 +168,7 @@ Path to key for client TLS authentication. It requires a PEM-encoded file.
### --tls-ciphers
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string-array
|
| Environment | $CODER_TLS_CIPHERS
|
| YAML | networking.tls.tlsCiphers
|
@@ -179,7 +178,7 @@ Specify specific TLS ciphers that allowed to be used. See https://github.com/gol
### --tls-allow-insecure-ciphers
| | |
-| ----------- | --------------------------------------------------- |
+|-------------|-----------------------------------------------------|
| Type | bool
|
| Environment | $CODER_TLS_ALLOW_INSECURE_CIPHERS
|
| YAML | networking.tls.tlsAllowInsecureCiphers
|
@@ -190,7 +189,7 @@ By default, only ciphers marked as 'secure' are allowed to be used. See https://
### --derp-server-enable
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | bool
|
| Environment | $CODER_DERP_SERVER_ENABLE
|
| YAML | networking.derp.enable
|
@@ -201,7 +200,7 @@ Whether to enable or disable the embedded DERP relay server.
### --derp-server-region-name
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | string
|
| Environment | $CODER_DERP_SERVER_REGION_NAME
|
| YAML | networking.derp.regionName
|
@@ -212,7 +211,7 @@ Region name that for the embedded DERP server.
### --derp-server-stun-addresses
| | |
-| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
+|-------------|------------------------------------------------------------------------------------------------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_DERP_SERVER_STUN_ADDRESSES
|
| YAML | networking.derp.stunAddresses
|
@@ -223,7 +222,7 @@ Addresses for STUN servers to establish P2P connections. It's recommended to hav
### --derp-server-relay-url
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | url
|
| Environment | $CODER_DERP_SERVER_RELAY_URL
|
| YAML | networking.derp.relayURL
|
@@ -233,7 +232,7 @@ An HTTP URL that is accessible by other replicas to relay DERP traffic. Required
### --block-direct-connections
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | bool
|
| Environment | $CODER_BLOCK_DIRECT
|
| YAML | networking.derp.blockDirect
|
@@ -243,7 +242,7 @@ Block peer-to-peer (aka. direct) workspace connections. All workspace connection
### --derp-force-websockets
| | |
-| ----------- | -------------------------------------------- |
+|-------------|----------------------------------------------|
| Type | bool
|
| Environment | $CODER_DERP_FORCE_WEBSOCKETS
|
| YAML | networking.derp.forceWebSockets
|
@@ -253,7 +252,7 @@ Force clients and agents to always use WebSocket to connect to DERP relay server
### --derp-config-url
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | string
|
| Environment | $CODER_DERP_CONFIG_URL
|
| YAML | networking.derp.url
|
@@ -263,7 +262,7 @@ URL to fetch a DERP mapping on startup. See: https://tailscale.com/kb/1118/custo
### --derp-config-path
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_DERP_CONFIG_PATH
|
| YAML | networking.derp.configPath
|
@@ -273,7 +272,7 @@ Path to read a DERP mapping from. See: https://tailscale.com/kb/1118/custom-derp
### --prometheus-enable
| | |
-| ----------- | -------------------------------------------- |
+|-------------|----------------------------------------------|
| Type | bool
|
| Environment | $CODER_PROMETHEUS_ENABLE
|
| YAML | introspection.prometheus.enable
|
@@ -283,7 +282,7 @@ Serve prometheus metrics on the address defined by prometheus address.
### --prometheus-address
| | |
-| ----------- | --------------------------------------------- |
+|-------------|-----------------------------------------------|
| Type | host:port
|
| Environment | $CODER_PROMETHEUS_ADDRESS
|
| YAML | introspection.prometheus.address
|
@@ -294,7 +293,7 @@ The bind address to serve prometheus metrics.
### --prometheus-collect-agent-stats
| | |
-| ----------- | --------------------------------------------------------- |
+|-------------|-----------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_PROMETHEUS_COLLECT_AGENT_STATS
|
| YAML | introspection.prometheus.collect_agent_stats
|
@@ -304,7 +303,7 @@ Collect agent stats (may increase charges for metrics storage).
### --prometheus-aggregate-agent-stats-by
| | |
-| ----------- | -------------------------------------------------------------- |
+|-------------|----------------------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_PROMETHEUS_AGGREGATE_AGENT_STATS_BY
|
| YAML | introspection.prometheus.aggregate_agent_stats_by
|
@@ -315,7 +314,7 @@ When collecting agent stats, aggregate metrics by a given set of comma-separated
### --prometheus-collect-db-metrics
| | |
-| ----------- | -------------------------------------------------------- |
+|-------------|----------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_PROMETHEUS_COLLECT_DB_METRICS
|
| YAML | introspection.prometheus.collect_db_metrics
|
@@ -326,7 +325,7 @@ Collect database query metrics (may increase charges for metrics storage). If se
### --pprof-enable
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | bool
|
| Environment | $CODER_PPROF_ENABLE
|
| YAML | introspection.pprof.enable
|
@@ -336,7 +335,7 @@ Serve pprof metrics on the address defined by pprof address.
### --pprof-address
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | host:port
|
| Environment | $CODER_PPROF_ADDRESS
|
| YAML | introspection.pprof.address
|
@@ -347,7 +346,7 @@ The bind address to serve pprof.
### --oauth2-github-client-id
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | string
|
| Environment | $CODER_OAUTH2_GITHUB_CLIENT_ID
|
| YAML | oauth2.github.clientID
|
@@ -357,7 +356,7 @@ Client ID for Login with GitHub.
### --oauth2-github-client-secret
| | |
-| ----------- | ----------------------------------------------- |
+|-------------|-------------------------------------------------|
| Type | string
|
| Environment | $CODER_OAUTH2_GITHUB_CLIENT_SECRET
|
@@ -366,7 +365,7 @@ Client secret for Login with GitHub.
### --oauth2-github-allowed-orgs
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_OAUTH2_GITHUB_ALLOWED_ORGS
|
| YAML | oauth2.github.allowedOrgs
|
@@ -376,7 +375,7 @@ Organizations the user must be a member of to Login with GitHub.
### --oauth2-github-allowed-teams
| | |
-| ----------- | ----------------------------------------------- |
+|-------------|-------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_OAUTH2_GITHUB_ALLOWED_TEAMS
|
| YAML | oauth2.github.allowedTeams
|
@@ -386,7 +385,7 @@ Teams inside organizations the user must be a member of to Login with GitHub. St
### --oauth2-github-allow-signups
| | |
-| ----------- | ----------------------------------------------- |
+|-------------|-------------------------------------------------|
| Type | bool
|
| Environment | $CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS
|
| YAML | oauth2.github.allowSignups
|
@@ -396,7 +395,7 @@ Whether new users can sign up with GitHub.
### --oauth2-github-allow-everyone
| | |
-| ----------- | ------------------------------------------------ |
+|-------------|--------------------------------------------------|
| Type | bool
|
| Environment | $CODER_OAUTH2_GITHUB_ALLOW_EVERYONE
|
| YAML | oauth2.github.allowEveryone
|
@@ -406,7 +405,7 @@ Allow all logins, setting this option means allowed orgs and teams must be empty
### --oauth2-github-enterprise-base-url
| | |
-| ----------- | ----------------------------------------------------- |
+|-------------|-------------------------------------------------------|
| Type | string
|
| Environment | $CODER_OAUTH2_GITHUB_ENTERPRISE_BASE_URL
|
| YAML | oauth2.github.enterpriseBaseURL
|
@@ -416,7 +415,7 @@ Base URL of a GitHub Enterprise deployment to use for Login with GitHub.
### --oidc-allow-signups
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | bool
|
| Environment | $CODER_OIDC_ALLOW_SIGNUPS
|
| YAML | oidc.allowSignups
|
@@ -427,7 +426,7 @@ Whether new users can sign up with OIDC.
### --oidc-client-id
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_CLIENT_ID
|
| YAML | oidc.clientID
|
@@ -437,7 +436,7 @@ Client ID to use for Login with OIDC.
### --oidc-client-secret
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_CLIENT_SECRET
|
@@ -446,7 +445,7 @@ Client secret to use for Login with OIDC.
### --oidc-client-key-file
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_CLIENT_KEY_FILE
|
| YAML | oidc.oidcClientKeyFile
|
@@ -456,7 +455,7 @@ Pem encoded RSA private key to use for oauth2 PKI/JWT authorization. This can be
### --oidc-client-cert-file
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_CLIENT_CERT_FILE
|
| YAML | oidc.oidcClientCertFile
|
@@ -466,7 +465,7 @@ Pem encoded certificate file to use for oauth2 PKI/JWT authorization. The public
### --oidc-email-domain
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string-array
|
| Environment | $CODER_OIDC_EMAIL_DOMAIN
|
| YAML | oidc.emailDomain
|
@@ -476,7 +475,7 @@ Email domains that clients logging in with OIDC must match.
### --oidc-issuer-url
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_ISSUER_URL
|
| YAML | oidc.issuerURL
|
@@ -486,7 +485,7 @@ Issuer URL to use for Login with OIDC.
### --oidc-scopes
| | |
-| ----------- | --------------------------------- |
+|-------------|-----------------------------------|
| Type | string-array
|
| Environment | $CODER_OIDC_SCOPES
|
| YAML | oidc.scopes
|
@@ -497,7 +496,7 @@ Scopes to grant when authenticating with OIDC.
### --oidc-ignore-email-verified
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | bool
|
| Environment | $CODER_OIDC_IGNORE_EMAIL_VERIFIED
|
| YAML | oidc.ignoreEmailVerified
|
@@ -507,7 +506,7 @@ Ignore the email_verified claim from the upstream provider.
### --oidc-username-field
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_USERNAME_FIELD
|
| YAML | oidc.usernameField
|
@@ -518,7 +517,7 @@ OIDC claim field to use as the username.
### --oidc-name-field
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_NAME_FIELD
|
| YAML | oidc.nameField
|
@@ -529,7 +528,7 @@ OIDC claim field to use as the name.
### --oidc-email-field
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_EMAIL_FIELD
|
| YAML | oidc.emailField
|
@@ -540,7 +539,7 @@ OIDC claim field to use as the email.
### --oidc-auth-url-params
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | struct[map[string]string]
|
| Environment | $CODER_OIDC_AUTH_URL_PARAMS
|
| YAML | oidc.authURLParams
|
@@ -551,7 +550,7 @@ OIDC auth URL parameters to pass to the upstream provider.
### --oidc-ignore-userinfo
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | bool
|
| Environment | $CODER_OIDC_IGNORE_USERINFO
|
| YAML | oidc.ignoreUserInfo
|
@@ -562,7 +561,7 @@ Ignore the userinfo endpoint and only use the ID token for user information.
### --oidc-group-field
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_GROUP_FIELD
|
| YAML | oidc.groupField
|
@@ -572,7 +571,7 @@ This field must be set if using the group sync feature and the scope name is not
### --oidc-group-mapping
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | struct[map[string]string]
|
| Environment | $CODER_OIDC_GROUP_MAPPING
|
| YAML | oidc.groupMapping
|
@@ -583,7 +582,7 @@ A map of OIDC group IDs and the group in Coder it should map to. This is useful
### --oidc-group-auto-create
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | bool
|
| Environment | $CODER_OIDC_GROUP_AUTO_CREATE
|
| YAML | oidc.enableGroupAutoCreate
|
@@ -594,18 +593,18 @@ Automatically creates missing groups from a user's groups claim.
### --oidc-group-regex-filter
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | regexp
|
| Environment | $CODER_OIDC_GROUP_REGEX_FILTER
|
| YAML | oidc.groupRegexFilter
|
-| Default | .\*
|
+| Default | .*
|
If provided any group name not matching the regex is ignored. This allows for filtering out groups that are not needed. This filter is applied after the group mapping.
### --oidc-allowed-groups
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string-array
|
| Environment | $CODER_OIDC_ALLOWED_GROUPS
|
| YAML | oidc.groupAllowed
|
@@ -615,7 +614,7 @@ If provided any group name not in the list will not be allowed to authenticate.
### --oidc-user-role-field
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_USER_ROLE_FIELD
|
| YAML | oidc.userRoleField
|
@@ -625,7 +624,7 @@ This field must be set if using the user roles sync feature. Set this to the nam
### --oidc-user-role-mapping
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | struct[map[string][]string]
|
| Environment | $CODER_OIDC_USER_ROLE_MAPPING
|
| YAML | oidc.userRoleMapping
|
@@ -636,7 +635,7 @@ A map of the OIDC passed in user roles and the groups in Coder it should map to.
### --oidc-user-role-default
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string-array
|
| Environment | $CODER_OIDC_USER_ROLE_DEFAULT
|
| YAML | oidc.userRoleDefault
|
@@ -646,7 +645,7 @@ If user role sync is enabled, these roles are always included for all authentica
### --oidc-sign-in-text
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_SIGN_IN_TEXT
|
| YAML | oidc.signInText
|
@@ -657,7 +656,7 @@ The text to show on the OpenID Connect sign in button.
### --oidc-icon-url
| | |
-| ----------- | --------------------------------- |
+|-------------|-----------------------------------|
| Type | url
|
| Environment | $CODER_OIDC_ICON_URL
|
| YAML | oidc.iconURL
|
@@ -667,7 +666,7 @@ URL pointing to the icon to use on the OpenID Connect login button.
### --oidc-signups-disabled-text
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | string
|
| Environment | $CODER_OIDC_SIGNUPS_DISABLED_TEXT
|
| YAML | oidc.signupsDisabledText
|
@@ -677,7 +676,7 @@ The custom text to show on the error page informing about disabled OIDC signups.
### --dangerous-oidc-skip-issuer-checks
| | |
-| ----------- | ----------------------------------------------------- |
+|-------------|-------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_DANGEROUS_OIDC_SKIP_ISSUER_CHECKS
|
| YAML | oidc.dangerousSkipIssuerChecks
|
@@ -687,7 +686,7 @@ OIDC issuer urls must match in the request, the id_token 'iss' claim, and in the
### --telemetry
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | bool
|
| Environment | $CODER_TELEMETRY_ENABLE
|
| YAML | telemetry.enable
|
@@ -698,7 +697,7 @@ Whether telemetry is enabled or not. Coder collects anonymized usage data to hel
### --trace
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | bool
|
| Environment | $CODER_TRACE_ENABLE
|
| YAML | introspection.tracing.enable
|
@@ -708,7 +707,7 @@ Whether application tracing data is collected. It exports to a backend configure
### --trace-honeycomb-api-key
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | string
|
| Environment | $CODER_TRACE_HONEYCOMB_API_KEY
|
@@ -717,7 +716,7 @@ Enables trace exporting to Honeycomb.io using the provided API Key.
### --trace-logs
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | bool
|
| Environment | $CODER_TRACE_LOGS
|
| YAML | introspection.tracing.captureLogs
|
@@ -727,7 +726,7 @@ Enables capturing of logs as events in traces. This is useful for debugging, but
### --provisioner-daemons
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | int
|
| Environment | $CODER_PROVISIONER_DAEMONS
|
| YAML | provisioning.daemons
|
@@ -738,7 +737,7 @@ Number of provisioner daemons to create on start. If builds are stuck in queued
### --provisioner-daemon-poll-interval
| | |
-| ----------- | ---------------------------------------------------- |
+|-------------|------------------------------------------------------|
| Type | duration
|
| Environment | $CODER_PROVISIONER_DAEMON_POLL_INTERVAL
|
| YAML | provisioning.daemonPollInterval
|
@@ -749,7 +748,7 @@ Deprecated and ignored.
### --provisioner-daemon-poll-jitter
| | |
-| ----------- | -------------------------------------------------- |
+|-------------|----------------------------------------------------|
| Type | duration
|
| Environment | $CODER_PROVISIONER_DAEMON_POLL_JITTER
|
| YAML | provisioning.daemonPollJitter
|
@@ -760,7 +759,7 @@ Deprecated and ignored.
### --provisioner-force-cancel-interval
| | |
-| ----------- | ----------------------------------------------------- |
+|-------------|-------------------------------------------------------|
| Type | duration
|
| Environment | $CODER_PROVISIONER_FORCE_CANCEL_INTERVAL
|
| YAML | provisioning.forceCancelInterval
|
@@ -771,7 +770,7 @@ Time to force cancel provisioning tasks that are stuck.
### --provisioner-daemon-psk
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string
|
| Environment | $CODER_PROVISIONER_DAEMON_PSK
|
@@ -780,17 +779,17 @@ Pre-shared key to authenticate external provisioner daemons to Coder server.
### -l, --log-filter
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | string-array
|
| Environment | $CODER_LOG_FILTER
|
| YAML | introspection.logging.filter
|
-Filter debug logs by matching against a given regex. Use .\* to match all debug logs.
+Filter debug logs by matching against a given regex. Use .* to match all debug logs.
### --log-human
| | |
-| ----------- | -------------------------------------------- |
+|-------------|----------------------------------------------|
| Type | string
|
| Environment | $CODER_LOGGING_HUMAN
|
| YAML | introspection.logging.humanPath
|
@@ -801,7 +800,7 @@ Output human-readable logs to a given file.
### --log-json
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | string
|
| Environment | $CODER_LOGGING_JSON
|
| YAML | introspection.logging.jsonPath
|
@@ -811,7 +810,7 @@ Output JSON logs to a given file.
### --log-stackdriver
| | |
-| ----------- | -------------------------------------------------- |
+|-------------|----------------------------------------------------|
| Type | string
|
| Environment | $CODER_LOGGING_STACKDRIVER
|
| YAML | introspection.logging.stackdriverPath
|
@@ -821,7 +820,7 @@ Output Stackdriver compatible logs to a given file.
### --enable-terraform-debug-mode
| | |
-| ----------- | ----------------------------------------------------------- |
+|-------------|-------------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_ENABLE_TERRAFORM_DEBUG_MODE
|
| YAML | introspection.logging.enableTerraformDebugMode
|
@@ -832,7 +831,7 @@ Allow administrators to enable Terraform debug output.
### --additional-csp-policy
| | |
-| ----------- | ------------------------------------------------ |
+|-------------|--------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_ADDITIONAL_CSP_POLICY
|
| YAML | networking.http.additionalCSPPolicy
|
@@ -842,7 +841,7 @@ Coder configures a Content Security Policy (CSP) to protect against XSS attacks.
### --dangerous-allow-path-app-sharing
| | |
-| ----------- | ---------------------------------------------------- |
+|-------------|------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_DANGEROUS_ALLOW_PATH_APP_SHARING
|
@@ -851,7 +850,7 @@ Allow workspace apps that are not served from subdomains to be shared. Path-base
### --dangerous-allow-path-app-site-owner-access
| | |
-| ----------- | -------------------------------------------------------------- |
+|-------------|----------------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_DANGEROUS_ALLOW_PATH_APP_SITE_OWNER_ACCESS
|
@@ -860,17 +859,17 @@ Allow site-owners to access workspace apps from workspaces they do not own. Owne
### --experiments
| | |
-| ----------- | ------------------------------- |
+|-------------|---------------------------------|
| Type | string-array
|
| Environment | $CODER_EXPERIMENTS
|
| YAML | experiments
|
-Enable one or more experiments. These are not ready for production. Separate multiple experiments with commas, or enter '\*' to opt-in to all available experiments.
+Enable one or more experiments. These are not ready for production. Separate multiple experiments with commas, or enter '*' to opt-in to all available experiments.
### --update-check
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | bool
|
| Environment | $CODER_UPDATE_CHECK
|
| YAML | updateCheck
|
@@ -881,7 +880,7 @@ Periodically check for new releases of Coder and inform the owner. The check is
### --max-token-lifetime
| | |
-| ----------- | --------------------------------------------- |
+|-------------|-----------------------------------------------|
| Type | duration
|
| Environment | $CODER_MAX_TOKEN_LIFETIME
|
| YAML | networking.http.maxTokenLifetime
|
@@ -892,7 +891,7 @@ The maximum lifetime duration users can specify when creating an API token.
### --default-token-lifetime
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | duration
|
| Environment | $CODER_DEFAULT_TOKEN_LIFETIME
|
| YAML | defaultTokenLifetime
|
@@ -903,7 +902,7 @@ The default lifetime duration for API tokens. This value is used when creating a
### --swagger-enable
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | bool
|
| Environment | $CODER_SWAGGER_ENABLE
|
| YAML | enableSwagger
|
@@ -913,7 +912,7 @@ Expose the swagger endpoint via /swagger.
### --proxy-trusted-headers
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | string-array
|
| Environment | $CODER_PROXY_TRUSTED_HEADERS
|
| YAML | networking.proxyTrustedHeaders
|
@@ -923,7 +922,7 @@ Headers to trust for forwarding IP addresses. e.g. Cf-Connecting-Ip, True-Client
### --proxy-trusted-origins
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | string-array
|
| Environment | $CODER_PROXY_TRUSTED_ORIGINS
|
| YAML | networking.proxyTrustedOrigins
|
@@ -933,7 +932,7 @@ Origin addresses to respect "proxy-trusted-headers". e.g. 192.168.1.0/24.
### --cache-dir
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | string
|
| Environment | $CODER_CACHE_DIRECTORY
|
| YAML | cacheDir
|
@@ -944,27 +943,27 @@ The directory to cache temporary files. If unspecified and $CACHE_DIRECTORY is s
### --postgres-url
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string
|
| Environment | $CODER_PG_CONNECTION_URL
|
-URL of a PostgreSQL database. If empty, PostgreSQL binaries will be downloaded from Maven (https://repo1.maven.org/maven2) and store all data in the config root. Access the built-in database with "coder server postgres-builtin-url".
+URL of a PostgreSQL database. If empty, PostgreSQL binaries will be downloaded from Maven (https://repo1.maven.org/maven2) and store all data in the config root. Access the built-in database with "coder server postgres-builtin-url". Note that any special characters in the URL must be URL-encoded.
### --postgres-auth
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | password\|awsiamrds
|
| Environment | $CODER_PG_AUTH
|
| YAML | pgAuth
|
| Default | password
|
-Type of auth to use when connecting to postgres.
+Type of auth to use when connecting to postgres. For AWS RDS, using IAM authentication (awsiamrds) is recommended.
### --secure-auth-cookie
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | bool
|
| Environment | $CODER_SECURE_AUTH_COOKIE
|
| YAML | networking.secureAuthCookie
|
@@ -974,7 +973,7 @@ Controls if the 'Secure' property is set on browser session cookies.
### --terms-of-service-url
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_TERMS_OF_SERVICE_URL
|
| YAML | termsOfServiceURL
|
@@ -984,7 +983,7 @@ A URL to an external Terms of Service that must be accepted by users when loggin
### --strict-transport-security
| | |
-| ----------- | --------------------------------------------------- |
+|-------------|-----------------------------------------------------|
| Type | int
|
| Environment | $CODER_STRICT_TRANSPORT_SECURITY
|
| YAML | networking.tls.strictTransportSecurity
|
@@ -995,7 +994,7 @@ Controls if the 'Strict-Transport-Security' header is set on all static file res
### --strict-transport-security-options
| | |
-| ----------- | ---------------------------------------------------------- |
+|-------------|------------------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_STRICT_TRANSPORT_SECURITY_OPTIONS
|
| YAML | networking.tls.strictTransportSecurityOptions
|
@@ -1005,7 +1004,7 @@ Two optional fields can be set in the Strict-Transport-Security header; 'include
### --ssh-keygen-algorithm
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_SSH_KEYGEN_ALGORITHM
|
| YAML | sshKeygenAlgorithm
|
@@ -1016,7 +1015,7 @@ The algorithm to use for generating ssh keys. Accepted values are "ed25519", "ec
### --browser-only
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | bool
|
| Environment | $CODER_BROWSER_ONLY
|
| YAML | networking.browserOnly
|
@@ -1026,7 +1025,7 @@ Whether Coder only allows connections to workspaces via the browser.
### --scim-auth-header
| | |
-| ----------- | ------------------------------------ |
+|-------------|--------------------------------------|
| Type | string
|
| Environment | $CODER_SCIM_AUTH_HEADER
|
@@ -1035,7 +1034,7 @@ Enables SCIM and sets the authentication header for the built-in SCIM server. Ne
### --external-token-encryption-keys
| | |
-| ----------- | -------------------------------------------------- |
+|-------------|----------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS
|
@@ -1044,7 +1043,7 @@ Encrypt OIDC and Git authentication tokens with AES-256-GCM in the database. The
### --disable-path-apps
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | bool
|
| Environment | $CODER_DISABLE_PATH_APPS
|
| YAML | disablePathApps
|
@@ -1054,7 +1053,7 @@ Disable workspace apps that are not served from subdomains. Path-based apps can
### --disable-owner-workspace-access
| | |
-| ----------- | -------------------------------------------------- |
+|-------------|----------------------------------------------------|
| Type | bool
|
| Environment | $CODER_DISABLE_OWNER_WORKSPACE_ACCESS
|
| YAML | disableOwnerWorkspaceAccess
|
@@ -1064,7 +1063,7 @@ Remove the permission for the 'owner' role to have workspace execution on all wo
### --session-duration
| | |
-| ----------- | -------------------------------------------- |
+|-------------|----------------------------------------------|
| Type | duration
|
| Environment | $CODER_SESSION_DURATION
|
| YAML | networking.http.sessionDuration
|
@@ -1075,7 +1074,7 @@ The token expiry duration for browser sessions. Sessions may last longer if they
### --disable-session-expiry-refresh
| | |
-| ----------- | -------------------------------------------------------- |
+|-------------|----------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_DISABLE_SESSION_EXPIRY_REFRESH
|
| YAML | networking.http.disableSessionExpiryRefresh
|
@@ -1085,7 +1084,7 @@ Disable automatic session expiry bumping due to activity. This forces all sessio
### --disable-password-auth
| | |
-| ----------- | ------------------------------------------------ |
+|-------------|--------------------------------------------------|
| Type | bool
|
| Environment | $CODER_DISABLE_PASSWORD_AUTH
|
| YAML | networking.http.disablePasswordAuth
|
@@ -1095,7 +1094,7 @@ Disable password authentication. This is recommended for security purposes in pr
### -c, --config
| | |
-| ----------- | ------------------------------- |
+|-------------|---------------------------------|
| Type | yaml-config-path
|
| Environment | $CODER_CONFIG_PATH
|
@@ -1104,7 +1103,7 @@ Specify a YAML file to load configuration from.
### --ssh-hostname-prefix
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_SSH_HOSTNAME_PREFIX
|
| YAML | client.sshHostnamePrefix
|
@@ -1115,7 +1114,7 @@ The SSH deployment prefix is used in the Host of the ssh config.
### --ssh-config-options
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string-array
|
| Environment | $CODER_SSH_CONFIG_OPTIONS
|
| YAML | client.sshConfigOptions
|
@@ -1125,7 +1124,7 @@ These SSH config options will override the default SSH config options. Provide o
### --cli-upgrade-message
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_CLI_UPGRADE_MESSAGE
|
| YAML | client.cliUpgradeMessage
|
@@ -1135,7 +1134,7 @@ The upgrade message to display to users when a client/server mismatch is detecte
### --write-config
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Write out the current server config as YAML to stdout.
@@ -1143,7 +1142,7 @@ The upgrade message to display to users when a client/server mismatch is detecte
### --support-links
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | struct[[]codersdk.LinkConfig]
|
| Environment | $CODER_SUPPORT_LINKS
|
| YAML | supportLinks
|
@@ -1153,7 +1152,7 @@ Support links to display in the top right drop down menu.
### --proxy-health-interval
| | |
-| ----------- | ------------------------------------------------ |
+|-------------|--------------------------------------------------|
| Type | duration
|
| Environment | $CODER_PROXY_HEALTH_INTERVAL
|
| YAML | networking.http.proxyHealthInterval
|
@@ -1164,18 +1163,18 @@ The interval in which coderd should be checking the status of workspace proxies.
### --default-quiet-hours-schedule
| | |
-| ----------- | ------------------------------------------------------------- |
+|-------------|---------------------------------------------------------------|
| Type | string
|
| Environment | $CODER_QUIET_HOURS_DEFAULT_SCHEDULE
|
| YAML | userQuietHoursSchedule.defaultQuietHoursSchedule
|
-| Default | CRON_TZ=UTC 0 0 \* \* \*
|
+| Default | CRON_TZ=UTC 0 0 ** *
|
-The default daily cron schedule applied to users that haven't set a custom quiet hours schedule themselves. The quiet hours schedule determines when workspaces will be force stopped due to the template's autostop requirement, and will round the max deadline up to be within the user's quiet hours window (or default). The format is the same as the standard cron format, but the day-of-month, month and day-of-week must be \*. Only one hour and minute can be specified (ranges or comma separated values are not supported).
+The default daily cron schedule applied to users that haven't set a custom quiet hours schedule themselves. The quiet hours schedule determines when workspaces will be force stopped due to the template's autostop requirement, and will round the max deadline up to be within the user's quiet hours window (or default). The format is the same as the standard cron format, but the day-of-month, month and day-of-week must be *. Only one hour and minute can be specified (ranges or comma separated values are not supported).
### --allow-custom-quiet-hours
| | |
-| ----------- | --------------------------------------------------------- |
+|-------------|-----------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_ALLOW_CUSTOM_QUIET_HOURS
|
| YAML | userQuietHoursSchedule.allowCustomQuietHours
|
@@ -1186,7 +1185,7 @@ Allow users to set their own quiet hours schedule for workspaces to stop in (dep
### --web-terminal-renderer
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | string
|
| Environment | $CODER_WEB_TERMINAL_RENDERER
|
| YAML | client.webTerminalRenderer
|
@@ -1197,7 +1196,7 @@ The renderer to use when opening a web terminal. Valid values are 'canvas', 'web
### --allow-workspace-renames
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | bool
|
| Environment | $CODER_ALLOW_WORKSPACE_RENAMES
|
| YAML | allowWorkspaceRenames
|
@@ -1208,7 +1207,7 @@ DEPRECATED: Allow users to rename their workspaces. Use only for temporary compa
### --health-check-refresh
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | duration
|
| Environment | $CODER_HEALTH_CHECK_REFRESH
|
| YAML | introspection.healthcheck.refresh
|
@@ -1219,7 +1218,7 @@ Refresh interval for healthchecks.
### --health-check-threshold-database
| | |
-| ----------- | -------------------------------------------------------- |
+|-------------|----------------------------------------------------------|
| Type | duration
|
| Environment | $CODER_HEALTH_CHECK_THRESHOLD_DATABASE
|
| YAML | introspection.healthcheck.thresholdDatabase
|
@@ -1230,7 +1229,7 @@ The threshold for the database health check. If the median latency of the databa
### --email-from
| | |
-| ----------- | ------------------------------ |
+|-------------|--------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_FROM
|
| YAML | email.from
|
@@ -1240,7 +1239,7 @@ The sender's address to use.
### --email-smarthost
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_SMARTHOST
|
| YAML | email.smarthost
|
@@ -1250,7 +1249,7 @@ The intermediary SMTP host through which emails are sent.
### --email-hello
| | |
-| ----------- | ------------------------------- |
+|-------------|---------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_HELLO
|
| YAML | email.hello
|
@@ -1261,7 +1260,7 @@ The hostname identifying the SMTP server.
### --email-force-tls
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | bool
|
| Environment | $CODER_EMAIL_FORCE_TLS
|
| YAML | email.forceTLS
|
@@ -1272,7 +1271,7 @@ Force a TLS connection to the configured SMTP smarthost.
### --email-auth-identity
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_AUTH_IDENTITY
|
| YAML | email.emailAuth.identity
|
@@ -1282,7 +1281,7 @@ Identity to use with PLAIN authentication.
### --email-auth-username
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_AUTH_USERNAME
|
| YAML | email.emailAuth.username
|
@@ -1292,7 +1291,7 @@ Username to use with PLAIN/LOGIN authentication.
### --email-auth-password
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_AUTH_PASSWORD
|
@@ -1301,7 +1300,7 @@ Password to use with PLAIN/LOGIN authentication.
### --email-auth-password-file
| | |
-| ----------- | -------------------------------------------- |
+|-------------|----------------------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_AUTH_PASSWORD_FILE
|
| YAML | email.emailAuth.passwordFile
|
@@ -1311,7 +1310,7 @@ File from which to load password for use with PLAIN/LOGIN authentication.
### --email-tls-starttls
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | bool
|
| Environment | $CODER_EMAIL_TLS_STARTTLS
|
| YAML | email.emailTLS.startTLS
|
@@ -1321,7 +1320,7 @@ Enable STARTTLS to upgrade insecure SMTP connections using TLS.
### --email-tls-server-name
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_TLS_SERVERNAME
|
| YAML | email.emailTLS.serverName
|
@@ -1331,7 +1330,7 @@ Server name to verify against the target certificate.
### --email-tls-skip-verify
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | bool
|
| Environment | $CODER_EMAIL_TLS_SKIPVERIFY
|
| YAML | email.emailTLS.insecureSkipVerify
|
@@ -1341,7 +1340,7 @@ Skip verification of the target server's certificate (insecure).
### --email-tls-ca-cert-file
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_TLS_CACERTFILE
|
| YAML | email.emailTLS.caCertFile
|
@@ -1351,7 +1350,7 @@ CA certificate file to use.
### --email-tls-cert-file
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_TLS_CERTFILE
|
| YAML | email.emailTLS.certFile
|
@@ -1361,7 +1360,7 @@ Certificate file to use.
### --email-tls-cert-key-file
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | string
|
| Environment | $CODER_EMAIL_TLS_CERTKEYFILE
|
| YAML | email.emailTLS.certKeyFile
|
@@ -1371,7 +1370,7 @@ Certificate key file to use.
### --notifications-method
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_METHOD
|
| YAML | notifications.method
|
@@ -1382,7 +1381,7 @@ Which delivery method to use (available options: 'smtp', 'webhook').
### --notifications-dispatch-timeout
| | |
-| ----------- | -------------------------------------------------- |
+|-------------|----------------------------------------------------|
| Type | duration
|
| Environment | $CODER_NOTIFICATIONS_DISPATCH_TIMEOUT
|
| YAML | notifications.dispatchTimeout
|
@@ -1393,7 +1392,7 @@ How long to wait while a notification is being sent before giving up.
### --notifications-email-from
| | |
-| ----------- | -------------------------------------------- |
+|-------------|----------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_FROM
|
| YAML | notifications.email.from
|
@@ -1403,7 +1402,7 @@ The sender's address to use.
### --notifications-email-smarthost
| | |
-| ----------- | ------------------------------------------------- |
+|-------------|---------------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_SMARTHOST
|
| YAML | notifications.email.smarthost
|
@@ -1413,7 +1412,7 @@ The intermediary SMTP host through which emails are sent.
### --notifications-email-hello
| | |
-| ----------- | --------------------------------------------- |
+|-------------|-----------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_HELLO
|
| YAML | notifications.email.hello
|
@@ -1423,7 +1422,7 @@ The hostname identifying the SMTP server.
### --notifications-email-force-tls
| | |
-| ----------- | ------------------------------------------------- |
+|-------------|---------------------------------------------------|
| Type | bool
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_FORCE_TLS
|
| YAML | notifications.email.forceTLS
|
@@ -1433,7 +1432,7 @@ Force a TLS connection to the configured SMTP smarthost.
### --notifications-email-auth-identity
| | |
-| ----------- | ----------------------------------------------------- |
+|-------------|-------------------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_AUTH_IDENTITY
|
| YAML | notifications.email.emailAuth.identity
|
@@ -1443,7 +1442,7 @@ Identity to use with PLAIN authentication.
### --notifications-email-auth-username
| | |
-| ----------- | ----------------------------------------------------- |
+|-------------|-------------------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_AUTH_USERNAME
|
| YAML | notifications.email.emailAuth.username
|
@@ -1453,7 +1452,7 @@ Username to use with PLAIN/LOGIN authentication.
### --notifications-email-auth-password
| | |
-| ----------- | ----------------------------------------------------- |
+|-------------|-------------------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_AUTH_PASSWORD
|
@@ -1462,7 +1461,7 @@ Password to use with PLAIN/LOGIN authentication.
### --notifications-email-auth-password-file
| | |
-| ----------- | ---------------------------------------------------------- |
+|-------------|------------------------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_AUTH_PASSWORD_FILE
|
| YAML | notifications.email.emailAuth.passwordFile
|
@@ -1472,7 +1471,7 @@ File from which to load password for use with PLAIN/LOGIN authentication.
### --notifications-email-tls-starttls
| | |
-| ----------- | ---------------------------------------------------- |
+|-------------|------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_STARTTLS
|
| YAML | notifications.email.emailTLS.startTLS
|
@@ -1482,7 +1481,7 @@ Enable STARTTLS to upgrade insecure SMTP connections using TLS.
### --notifications-email-tls-server-name
| | |
-| ----------- | ------------------------------------------------------ |
+|-------------|--------------------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_SERVERNAME
|
| YAML | notifications.email.emailTLS.serverName
|
@@ -1492,7 +1491,7 @@ Server name to verify against the target certificate.
### --notifications-email-tls-skip-verify
| | |
-| ----------- | ------------------------------------------------------------ |
+|-------------|--------------------------------------------------------------|
| Type | bool
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_SKIPVERIFY
|
| YAML | notifications.email.emailTLS.insecureSkipVerify
|
@@ -1502,7 +1501,7 @@ Skip verification of the target server's certificate (insecure).
### --notifications-email-tls-ca-cert-file
| | |
-| ----------- | ------------------------------------------------------ |
+|-------------|--------------------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_CACERTFILE
|
| YAML | notifications.email.emailTLS.caCertFile
|
@@ -1512,7 +1511,7 @@ CA certificate file to use.
### --notifications-email-tls-cert-file
| | |
-| ----------- | ---------------------------------------------------- |
+|-------------|------------------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_CERTFILE
|
| YAML | notifications.email.emailTLS.certFile
|
@@ -1522,7 +1521,7 @@ Certificate file to use.
### --notifications-email-tls-cert-key-file
| | |
-| ----------- | ------------------------------------------------------- |
+|-------------|---------------------------------------------------------|
| Type | string
|
| Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_CERTKEYFILE
|
| YAML | notifications.email.emailTLS.certKeyFile
|
@@ -1532,7 +1531,7 @@ Certificate key file to use.
### --notifications-webhook-endpoint
| | |
-| ----------- | -------------------------------------------------- |
+|-------------|----------------------------------------------------|
| Type | url
|
| Environment | $CODER_NOTIFICATIONS_WEBHOOK_ENDPOINT
|
| YAML | notifications.webhook.endpoint
|
@@ -1542,7 +1541,7 @@ The endpoint to which to send webhooks.
### --notifications-max-send-attempts
| | |
-| ----------- | --------------------------------------------------- |
+|-------------|-----------------------------------------------------|
| Type | int
|
| Environment | $CODER_NOTIFICATIONS_MAX_SEND_ATTEMPTS
|
| YAML | notifications.maxSendAttempts
|
diff --git a/docs/reference/cli/server_create-admin-user.md b/docs/reference/cli/server_create-admin-user.md
index 611d95094c92e..361465c896dac 100644
--- a/docs/reference/cli/server_create-admin-user.md
+++ b/docs/reference/cli/server_create-admin-user.md
@@ -1,5 +1,4 @@
-
# server create-admin-user
Create a new admin user with the given username, email and password and adds it to every organization.
@@ -15,7 +14,7 @@ coder server create-admin-user [flags]
### --postgres-url
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string
|
| Environment | $CODER_PG_CONNECTION_URL
|
@@ -24,7 +23,7 @@ URL of a PostgreSQL database. If empty, the built-in PostgreSQL deployment will
### --postgres-connection-auth
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | password\|awsiamrds
|
| Environment | $CODER_PG_CONNECTION_AUTH
|
| Default | password
|
@@ -34,7 +33,7 @@ Type of auth to use when connecting to postgres.
### --ssh-keygen-algorithm
| | |
-| ----------- | ---------------------------------------- |
+|-------------|------------------------------------------|
| Type | string
|
| Environment | $CODER_SSH_KEYGEN_ALGORITHM
|
| Default | ed25519
|
@@ -44,7 +43,7 @@ The algorithm to use for generating ssh keys. Accepted values are "ed25519", "ec
### --username
| | |
-| ----------- | ---------------------------- |
+|-------------|------------------------------|
| Type | string
|
| Environment | $CODER_USERNAME
|
@@ -53,7 +52,7 @@ The username of the new user. If not specified, you will be prompted via stdin.
### --email
| | |
-| ----------- | ------------------------- |
+|-------------|---------------------------|
| Type | string
|
| Environment | $CODER_EMAIL
|
@@ -62,7 +61,7 @@ The email of the new user. If not specified, you will be prompted via stdin.
### --password
| | |
-| ----------- | ---------------------------- |
+|-------------|------------------------------|
| Type | string
|
| Environment | $CODER_PASSWORD
|
@@ -71,7 +70,7 @@ The password of the new user. If not specified, you will be prompted via stdin.
### --raw-url
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Output the raw connection URL instead of a psql command.
diff --git a/docs/reference/cli/server_dbcrypt.md b/docs/reference/cli/server_dbcrypt.md
index be06560a275ca..f8d638a05ad53 100644
--- a/docs/reference/cli/server_dbcrypt.md
+++ b/docs/reference/cli/server_dbcrypt.md
@@ -1,5 +1,4 @@
-
# server dbcrypt
Manage database encryption.
@@ -13,7 +12,7 @@ coder server dbcrypt
## Subcommands
| Name | Purpose |
-| --------------------------------------------------- | ----------------------------------------------------------------------------- |
+|-----------------------------------------------------|-------------------------------------------------------------------------------|
| [decrypt
](./server_dbcrypt_decrypt.md) | Decrypt a previously encrypted database. |
| [delete
](./server_dbcrypt_delete.md) | Delete all encrypted data from the database. THIS IS A DESTRUCTIVE OPERATION. |
| [rotate
](./server_dbcrypt_rotate.md) | Rotate database encryption keys. |
diff --git a/docs/reference/cli/server_dbcrypt_decrypt.md b/docs/reference/cli/server_dbcrypt_decrypt.md
index 69780471817b1..5126ef0fccb25 100644
--- a/docs/reference/cli/server_dbcrypt_decrypt.md
+++ b/docs/reference/cli/server_dbcrypt_decrypt.md
@@ -1,5 +1,4 @@
-
# server dbcrypt decrypt
Decrypt a previously encrypted database.
@@ -15,7 +14,7 @@ coder server dbcrypt decrypt [flags]
### --postgres-url
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string
|
| Environment | $CODER_PG_CONNECTION_URL
|
@@ -24,7 +23,7 @@ The connection URL for the Postgres database.
### --postgres-connection-auth
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | password\|awsiamrds
|
| Environment | $CODER_PG_CONNECTION_AUTH
|
| Default | password
|
@@ -34,7 +33,7 @@ Type of auth to use when connecting to postgres.
### --keys
| | |
-| ----------- | ---------------------------------------------------------- |
+|-------------|------------------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_DECRYPT_KEYS
|
@@ -43,7 +42,7 @@ Keys required to decrypt existing data. Must be a comma-separated list of base64
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/server_dbcrypt_delete.md b/docs/reference/cli/server_dbcrypt_delete.md
index e33560d2ae990..a5e7d16715ecf 100644
--- a/docs/reference/cli/server_dbcrypt_delete.md
+++ b/docs/reference/cli/server_dbcrypt_delete.md
@@ -1,12 +1,11 @@
-
# server dbcrypt delete
Delete all encrypted data from the database. THIS IS A DESTRUCTIVE OPERATION.
Aliases:
-- rm
+* rm
## Usage
@@ -19,7 +18,7 @@ coder server dbcrypt delete [flags]
### --postgres-url
| | |
-| ----------- | ---------------------------------------------------------- |
+|-------------|------------------------------------------------------------|
| Type | string
|
| Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_POSTGRES_URL
|
@@ -28,7 +27,7 @@ The connection URL for the Postgres database.
### --postgres-connection-auth
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | password\|awsiamrds
|
| Environment | $CODER_PG_CONNECTION_AUTH
|
| Default | password
|
@@ -38,7 +37,7 @@ Type of auth to use when connecting to postgres.
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/server_dbcrypt_rotate.md b/docs/reference/cli/server_dbcrypt_rotate.md
index 02aaa1451f004..322a909a087b8 100644
--- a/docs/reference/cli/server_dbcrypt_rotate.md
+++ b/docs/reference/cli/server_dbcrypt_rotate.md
@@ -1,5 +1,4 @@
-
# server dbcrypt rotate
Rotate database encryption keys.
@@ -15,7 +14,7 @@ coder server dbcrypt rotate [flags]
### --postgres-url
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | string
|
| Environment | $CODER_PG_CONNECTION_URL
|
@@ -24,7 +23,7 @@ The connection URL for the Postgres database.
### --postgres-connection-auth
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | password\|awsiamrds
|
| Environment | $CODER_PG_CONNECTION_AUTH
|
| Default | password
|
@@ -34,7 +33,7 @@ Type of auth to use when connecting to postgres.
### --new-key
| | |
-| ----------- | ------------------------------------------------------------- |
+|-------------|---------------------------------------------------------------|
| Type | string
|
| Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_ENCRYPT_NEW_KEY
|
@@ -43,7 +42,7 @@ The new external token encryption key. Must be base64-encoded.
### --old-keys
| | |
-| ----------- | -------------------------------------------------------------- |
+|-------------|----------------------------------------------------------------|
| Type | string-array
|
| Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_ENCRYPT_OLD_KEYS
|
@@ -52,7 +51,7 @@ The old external token encryption keys. Must be a comma-separated list of base64
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/server_postgres-builtin-serve.md b/docs/reference/cli/server_postgres-builtin-serve.md
index dda91692a0f78..55d8ad2a8d269 100644
--- a/docs/reference/cli/server_postgres-builtin-serve.md
+++ b/docs/reference/cli/server_postgres-builtin-serve.md
@@ -1,5 +1,4 @@
-
# server postgres-builtin-serve
Run the built-in PostgreSQL deployment.
@@ -15,7 +14,7 @@ coder server postgres-builtin-serve [flags]
### --raw-url
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Output the raw connection URL instead of a psql command.
diff --git a/docs/reference/cli/server_postgres-builtin-url.md b/docs/reference/cli/server_postgres-builtin-url.md
index 8f3eb73307055..f8fdebb042e4a 100644
--- a/docs/reference/cli/server_postgres-builtin-url.md
+++ b/docs/reference/cli/server_postgres-builtin-url.md
@@ -1,5 +1,4 @@
-
# server postgres-builtin-url
Output the connection URL for the built-in PostgreSQL deployment.
@@ -15,7 +14,7 @@ coder server postgres-builtin-url [flags]
### --raw-url
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Output the raw connection URL instead of a psql command.
diff --git a/docs/reference/cli/show.md b/docs/reference/cli/show.md
index c3a81f9e2c83f..87c527ed939f9 100644
--- a/docs/reference/cli/show.md
+++ b/docs/reference/cli/show.md
@@ -1,5 +1,4 @@
-
# show
Display details of a workspace's resources and agents
diff --git a/docs/reference/cli/speedtest.md b/docs/reference/cli/speedtest.md
index 664ac2d3f383e..d17125ad2abcb 100644
--- a/docs/reference/cli/speedtest.md
+++ b/docs/reference/cli/speedtest.md
@@ -1,5 +1,4 @@
-
# speedtest
Run upload and download tests from your machine to a workspace
@@ -15,7 +14,7 @@ coder speedtest [flags]
### -d, --direct
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Specifies whether to wait for a direct connection before testing speed.
@@ -23,7 +22,7 @@ Specifies whether to wait for a direct connection before testing speed.
### --direction
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | up\|down
|
| Default | down
|
@@ -32,7 +31,7 @@ Specifies whether to run in reverse mode where the client receives and the serve
### -t, --time
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 5s
|
@@ -41,7 +40,7 @@ Specifies the duration to monitor traffic.
### --pcap-file
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specifies a file to write a network capture to.
@@ -49,7 +48,7 @@ Specifies a file to write a network capture to.
### -c, --column
| | |
-| ------- | ----------------------------------- |
+|---------|-------------------------------------|
| Type | [Interval\|Throughput]
|
| Default | Interval,Throughput
|
@@ -58,7 +57,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/ssh.md b/docs/reference/cli/ssh.md
index 477c706775e87..72d63a1f003af 100644
--- a/docs/reference/cli/ssh.md
+++ b/docs/reference/cli/ssh.md
@@ -1,5 +1,4 @@
-
# ssh
Start a shell into a workspace
@@ -15,16 +14,25 @@ coder ssh [flags]
### --stdio
| | |
-| ----------- | ----------------------------- |
+|-------------|-------------------------------|
| Type | bool
|
| Environment | $CODER_SSH_STDIO
|
Specifies whether to emit SSH output over stdin/stdout.
+### --ssh-host-prefix
+
+| | |
+|-------------|-----------------------------------------|
+| Type | string
|
+| Environment | $CODER_SSH_SSH_HOST_PREFIX
|
+
+Strip this prefix from the provided hostname to determine the workspace name. This is useful when used as part of an OpenSSH proxy command.
+
### -A, --forward-agent
| | |
-| ----------- | ------------------------------------- |
+|-------------|---------------------------------------|
| Type | bool
|
| Environment | $CODER_SSH_FORWARD_AGENT
|
@@ -33,7 +41,7 @@ Specifies whether to forward the SSH agent specified in $SSH_AUTH_SOCK.
### -G, --forward-gpg
| | |
-| ----------- | ----------------------------------- |
+|-------------|-------------------------------------|
| Type | bool
|
| Environment | $CODER_SSH_FORWARD_GPG
|
@@ -42,7 +50,7 @@ Specifies whether to forward the GPG agent. Unsupported on Windows workspaces, b
### --identity-agent
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string
|
| Environment | $CODER_SSH_IDENTITY_AGENT
|
@@ -51,7 +59,7 @@ Specifies which identity agent to use (overrides $SSH_AUTH_SOCK), forward agent
### --workspace-poll-interval
| | |
-| ----------- | ------------------------------------------- |
+|-------------|---------------------------------------------|
| Type | duration
|
| Environment | $CODER_WORKSPACE_POLL_INTERVAL
|
| Default | 1m
|
@@ -61,7 +69,7 @@ Specifies how often to poll for workspace automated shutdown.
### --wait
| | |
-| ----------- | ---------------------------- |
+|-------------|------------------------------|
| Type | yes\|no\|auto
|
| Environment | $CODER_SSH_WAIT
|
| Default | auto
|
@@ -71,7 +79,7 @@ Specifies whether or not to wait for the startup script to finish executing. Aut
### --no-wait
| | |
-| ----------- | ------------------------------- |
+|-------------|---------------------------------|
| Type | bool
|
| Environment | $CODER_SSH_NO_WAIT
|
@@ -80,7 +88,7 @@ Enter workspace immediately after the agent has connected. This is the default i
### -l, --log-dir
| | |
-| ----------- | ------------------------------- |
+|-------------|---------------------------------|
| Type | string
|
| Environment | $CODER_SSH_LOG_DIR
|
@@ -89,7 +97,7 @@ Specify the directory containing SSH diagnostic log files.
### -R, --remote-forward
| | |
-| ----------- | -------------------------------------- |
+|-------------|----------------------------------------|
| Type | string-array
|
| Environment | $CODER_SSH_REMOTE_FORWARD
|
@@ -98,16 +106,33 @@ Enable remote port forwarding (remote_port:local_address:local_port).
### -e, --env
| | |
-| ----------- | --------------------------- |
+|-------------|-----------------------------|
| Type | string-array
|
| Environment | $CODER_SSH_ENV
|
Set environment variable(s) for session (key1=value1,key2=value2,...).
+### --network-info-dir
+
+| | |
+|------|---------------------|
+| Type | string
|
+
+Specifies a directory to write network information periodically.
+
+### --network-info-interval
+
+| | |
+|---------|-----------------------|
+| Type | duration
|
+| Default | 5s
|
+
+Specifies the interval to update network information.
+
### --disable-autostart
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | bool
|
| Environment | $CODER_SSH_DISABLE_AUTOSTART
|
| Default | false
|
diff --git a/docs/reference/cli/start.md b/docs/reference/cli/start.md
index 9be64d5a83d85..1ab6df5a9c891 100644
--- a/docs/reference/cli/start.md
+++ b/docs/reference/cli/start.md
@@ -1,5 +1,4 @@
-
# start
Start a workspace
@@ -15,7 +14,7 @@ coder start [flags]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -23,7 +22,7 @@ Bypass prompts.
### --build-option
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string-array
|
| Environment | $CODER_BUILD_OPTION
|
@@ -32,7 +31,7 @@ Build option value in the format "name=value".
### --build-options
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Prompt for one-time build options defined with ephemeral parameters.
@@ -40,7 +39,7 @@ Prompt for one-time build options defined with ephemeral parameters.
### --ephemeral-parameter
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string-array
|
| Environment | $CODER_EPHEMERAL_PARAMETER
|
@@ -49,7 +48,7 @@ Set the value of ephemeral parameters defined in the template. The format is "na
### --prompt-ephemeral-parameters
| | |
-| ----------- | ----------------------------------------------- |
+|-------------|-------------------------------------------------|
| Type | bool
|
| Environment | $CODER_PROMPT_EPHEMERAL_PARAMETERS
|
@@ -58,7 +57,7 @@ Prompt to set values of ephemeral parameters defined in the template. If a value
### --parameter
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | string-array
|
| Environment | $CODER_RICH_PARAMETER
|
@@ -67,7 +66,7 @@ Rich parameter value in the format "name=value".
### --rich-parameter-file
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_RICH_PARAMETER_FILE
|
@@ -76,7 +75,7 @@ Specify a file path with values for rich parameters defined in the template. The
### --parameter-default
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string-array
|
| Environment | $CODER_RICH_PARAMETER_DEFAULT
|
@@ -85,7 +84,7 @@ Rich parameter default values in the format "name=value".
### --always-prompt
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Always prompt all parameters. Does not pull parameter values from existing workspace.
diff --git a/docs/reference/cli/stat.md b/docs/reference/cli/stat.md
index 70da8dee47f7a..c84c56ee5afdc 100644
--- a/docs/reference/cli/stat.md
+++ b/docs/reference/cli/stat.md
@@ -1,5 +1,4 @@
-
# stat
Show resource usage for the current workspace.
@@ -13,7 +12,7 @@ coder stat [flags]
## Subcommands
| Name | Purpose |
-| ----------------------------------- | -------------------------------- |
+|-------------------------------------|----------------------------------|
| [cpu
](./stat_cpu.md) | Show CPU usage, in cores. |
| [mem
](./stat_mem.md) | Show memory usage, in gigabytes. |
| [disk
](./stat_disk.md) | Show disk usage, in gigabytes. |
@@ -23,7 +22,7 @@ coder stat [flags]
### -c, --column
| | |
-| ------- | -------------------------------------------------------------------------------- |
+|---------|----------------------------------------------------------------------------------|
| Type | [host cpu\|host memory\|home disk\|container cpu\|container memory]
|
| Default | host cpu,host memory,home disk,container cpu,container memory
|
@@ -32,7 +31,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/stat_cpu.md b/docs/reference/cli/stat_cpu.md
index 8e86ef4ddc7f9..c7013e1683ec4 100644
--- a/docs/reference/cli/stat_cpu.md
+++ b/docs/reference/cli/stat_cpu.md
@@ -1,5 +1,4 @@
-
# stat cpu
Show CPU usage, in cores.
@@ -15,7 +14,7 @@ coder stat cpu [flags]
### --host
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Force host CPU measurement.
@@ -23,7 +22,7 @@ Force host CPU measurement.
### -o, --output
| | |
-| ------- | ----------------------- |
+|---------|-------------------------|
| Type | text\|json
|
| Default | text
|
diff --git a/docs/reference/cli/stat_disk.md b/docs/reference/cli/stat_disk.md
index 6b5ca22ee5750..4cf80f6075e7d 100644
--- a/docs/reference/cli/stat_disk.md
+++ b/docs/reference/cli/stat_disk.md
@@ -1,5 +1,4 @@
-
# stat disk
Show disk usage, in gigabytes.
@@ -15,7 +14,7 @@ coder stat disk [flags]
### --path
| | |
-| ------- | ------------------- |
+|---------|---------------------|
| Type | string
|
| Default | /
|
@@ -24,7 +23,7 @@ Path for which to check disk usage.
### --prefix
| | |
-| ------- | --------------------------- |
+|---------|-----------------------------|
| Type | Ki\|Mi\|Gi\|Ti
|
| Default | Gi
|
@@ -33,7 +32,7 @@ SI Prefix for disk measurement.
### -o, --output
| | |
-| ------- | ----------------------- |
+|---------|-------------------------|
| Type | text\|json
|
| Default | text
|
diff --git a/docs/reference/cli/stat_mem.md b/docs/reference/cli/stat_mem.md
index 1f8b85d32e5fd..d69ba19ee8d11 100644
--- a/docs/reference/cli/stat_mem.md
+++ b/docs/reference/cli/stat_mem.md
@@ -1,5 +1,4 @@
-
# stat mem
Show memory usage, in gigabytes.
@@ -15,7 +14,7 @@ coder stat mem [flags]
### --host
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Force host memory measurement.
@@ -23,7 +22,7 @@ Force host memory measurement.
### --prefix
| | |
-| ------- | --------------------------- |
+|---------|-----------------------------|
| Type | Ki\|Mi\|Gi\|Ti
|
| Default | Gi
|
@@ -32,7 +31,7 @@ SI Prefix for memory measurement.
### -o, --output
| | |
-| ------- | ----------------------- |
+|---------|-------------------------|
| Type | text\|json
|
| Default | text
|
diff --git a/docs/reference/cli/state.md b/docs/reference/cli/state.md
index b0e9ca7433750..ebac28a646895 100644
--- a/docs/reference/cli/state.md
+++ b/docs/reference/cli/state.md
@@ -1,5 +1,4 @@
-
# state
Manually manage Terraform state to fix broken workspaces
@@ -13,6 +12,6 @@ coder state
## Subcommands
| Name | Purpose |
-| ------------------------------------ | --------------------------------------------- |
+|--------------------------------------|-----------------------------------------------|
| [pull
](./state_pull.md) | Pull a Terraform state file from a workspace. |
| [push
](./state_push.md) | Push a Terraform state file to a workspace. |
diff --git a/docs/reference/cli/state_pull.md b/docs/reference/cli/state_pull.md
index 57009750cf64a..089548ab936b2 100644
--- a/docs/reference/cli/state_pull.md
+++ b/docs/reference/cli/state_pull.md
@@ -1,5 +1,4 @@
-
# state pull
Pull a Terraform state file from a workspace.
@@ -15,7 +14,7 @@ coder state pull [flags] [file]
### -b, --build
| | |
-| ---- | ---------------- |
+|------|------------------|
| Type | int
|
Specify a workspace build to target by name. Defaults to latest.
diff --git a/docs/reference/cli/state_push.md b/docs/reference/cli/state_push.md
index c39831acc4992..039b03fc01c2f 100644
--- a/docs/reference/cli/state_push.md
+++ b/docs/reference/cli/state_push.md
@@ -1,5 +1,4 @@
-
# state push
Push a Terraform state file to a workspace.
@@ -15,7 +14,7 @@ coder state push [flags]
### -b, --build
| | |
-| ---- | ---------------- |
+|------|------------------|
| Type | int
|
Specify a workspace build to target by name. Defaults to latest.
diff --git a/docs/reference/cli/stop.md b/docs/reference/cli/stop.md
index 65197a2cdbb66..dba81c5cf7e92 100644
--- a/docs/reference/cli/stop.md
+++ b/docs/reference/cli/stop.md
@@ -1,5 +1,4 @@
-
# stop
Stop a workspace
@@ -15,7 +14,7 @@ coder stop [flags]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
diff --git a/docs/reference/cli/support.md b/docs/reference/cli/support.md
index 81bb0509d16ab..b530264f36dd0 100644
--- a/docs/reference/cli/support.md
+++ b/docs/reference/cli/support.md
@@ -1,5 +1,4 @@
-
# support
Commands for troubleshooting issues with a Coder deployment.
@@ -13,5 +12,5 @@ coder support
## Subcommands
| Name | Purpose |
-| ------------------------------------------ | --------------------------------------------------------------------------- |
+|--------------------------------------------|-----------------------------------------------------------------------------|
| [bundle
](./support_bundle.md) | Generate a support bundle to troubleshoot issues connecting to a workspace. |
diff --git a/docs/reference/cli/support_bundle.md b/docs/reference/cli/support_bundle.md
index 602d11297ea3d..59b1fa4130deb 100644
--- a/docs/reference/cli/support_bundle.md
+++ b/docs/reference/cli/support_bundle.md
@@ -1,5 +1,4 @@
-
# support bundle
Generate a support bundle to troubleshoot issues connecting to a workspace.
@@ -21,7 +20,7 @@ This command generates a file containing detailed troubleshooting information ab
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -29,7 +28,7 @@ Bypass prompts.
### -O, --output-file
| | |
-| ----------- | ---------------------------------------------- |
+|-------------|------------------------------------------------|
| Type | string
|
| Environment | $CODER_SUPPORT_BUNDLE_OUTPUT_FILE
|
@@ -38,7 +37,7 @@ File path for writing the generated support bundle. Defaults to coder-support-$(
### --url-override
| | |
-| ----------- | ----------------------------------------------- |
+|-------------|-------------------------------------------------|
| Type | string
|
| Environment | $CODER_SUPPORT_BUNDLE_URL_OVERRIDE
|
diff --git a/docs/reference/cli/templates.md b/docs/reference/cli/templates.md
index 9f3936daf787f..99052aa6c3e20 100644
--- a/docs/reference/cli/templates.md
+++ b/docs/reference/cli/templates.md
@@ -1,12 +1,11 @@
-
# templates
Manage templates
Aliases:
-- template
+* template
## Usage
@@ -27,7 +26,7 @@ workspaces:
## Subcommands
| Name | Purpose |
-| ------------------------------------------------ | -------------------------------------------------------------------------------- |
+|--------------------------------------------------|----------------------------------------------------------------------------------|
| [create
](./templates_create.md) | DEPRECATED: Create a template from the current directory or as specified by flag |
| [edit
](./templates_edit.md) | Edit the metadata of a template by name. |
| [init
](./templates_init.md) | Get started with a templated template. |
diff --git a/docs/reference/cli/templates_archive.md b/docs/reference/cli/templates_archive.md
index a229222addf88..ef09707e5f323 100644
--- a/docs/reference/cli/templates_archive.md
+++ b/docs/reference/cli/templates_archive.md
@@ -1,5 +1,4 @@
-
# templates archive
Archive unused or failed template versions from a given template(s)
@@ -7,7 +6,7 @@ Archive unused or failed template versions from a given template(s)
## Usage
```console
-coder templates archive [flags] [template-name...]
+coder templates archive [flags] [template-name...]
```
## Options
@@ -15,7 +14,7 @@ coder templates archive [flags] [template-name...]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -23,7 +22,7 @@ Bypass prompts.
### --all
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Include all unused template versions. By default, only failed template versions are archived.
@@ -31,7 +30,7 @@ Include all unused template versions. By default, only failed template versions
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/templates_create.md b/docs/reference/cli/templates_create.md
index 01b153ff2911d..cd3754e383ad5 100644
--- a/docs/reference/cli/templates_create.md
+++ b/docs/reference/cli/templates_create.md
@@ -1,5 +1,4 @@
-
# templates create
DEPRECATED: Create a template from the current directory or as specified by flag
@@ -15,7 +14,7 @@ coder templates create [flags] [name]
### --private
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Disable the default behavior of granting template access to the 'everyone' group. The template permissions must be updated to allow non-admin users to use this template.
@@ -23,7 +22,7 @@ Disable the default behavior of granting template access to the 'everyone' group
### --variables-file
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specify a file path with values for Terraform-managed variables.
@@ -31,7 +30,7 @@ Specify a file path with values for Terraform-managed variables.
### --variable
| | |
-| ---- | ------------------------- |
+|------|---------------------------|
| Type | string-array
|
Specify a set of values for Terraform-managed variables.
@@ -39,7 +38,7 @@ Specify a set of values for Terraform-managed variables.
### --var
| | |
-| ---- | ------------------------- |
+|------|---------------------------|
| Type | string-array
|
Alias of --variable.
@@ -47,7 +46,7 @@ Alias of --variable.
### --provisioner-tag
| | |
-| ---- | ------------------------- |
+|------|---------------------------|
| Type | string-array
|
Specify a set of tags to target provisioner daemons.
@@ -55,7 +54,7 @@ Specify a set of tags to target provisioner daemons.
### --default-ttl
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 24h
|
@@ -64,7 +63,7 @@ Specify a default TTL for workspaces created from this template. It is the defau
### --failure-ttl
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 0h
|
@@ -73,7 +72,7 @@ Specify a failure TTL for workspaces created from this template. It is the amoun
### --dormancy-threshold
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 0h
|
@@ -82,7 +81,7 @@ Specify a duration workspaces may be inactive prior to being moved to the dorman
### --dormancy-auto-deletion
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 0h
|
@@ -91,7 +90,7 @@ Specify a duration workspaces may be in the dormant state prior to being deleted
### --require-active-version
| | |
-| ------- | ------------------ |
+|---------|--------------------|
| Type | bool
|
| Default | false
|
@@ -100,7 +99,7 @@ Requires workspace builds to use the active template version. This setting does
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -108,7 +107,7 @@ Bypass prompts.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
@@ -117,7 +116,7 @@ Select which organization (uuid or name) to use.
### -d, --directory
| | |
-| ------- | ------------------- |
+|---------|---------------------|
| Type | string
|
| Default | .
|
@@ -126,7 +125,7 @@ Specify the directory to create from, use '-' to read tar from stdin.
### --ignore-lockfile
| | |
-| ------- | ------------------ |
+|---------|--------------------|
| Type | bool
|
| Default | false
|
@@ -135,7 +134,7 @@ Ignore warnings about not having a .terraform.lock.hcl file present in the templ
### -m, --message
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specify a message describing the changes in this version of the template. Messages longer than 72 characters will be displayed as truncated.
diff --git a/docs/reference/cli/templates_delete.md b/docs/reference/cli/templates_delete.md
index 55730c7d609d8..9037a39d2b378 100644
--- a/docs/reference/cli/templates_delete.md
+++ b/docs/reference/cli/templates_delete.md
@@ -1,12 +1,11 @@
-
# templates delete
Delete templates
Aliases:
-- rm
+* rm
## Usage
@@ -19,7 +18,7 @@ coder templates delete [flags] [name...]
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -27,7 +26,7 @@ Bypass prompts.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/templates_edit.md b/docs/reference/cli/templates_edit.md
index 81fdc04d1a176..5d9f6f0a55a0d 100644
--- a/docs/reference/cli/templates_edit.md
+++ b/docs/reference/cli/templates_edit.md
@@ -1,5 +1,4 @@
-
# templates edit
Edit the metadata of a template by name.
@@ -15,7 +14,7 @@ coder templates edit [flags]
### --name
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Edit the template name.
@@ -23,7 +22,7 @@ Edit the template name.
### --display-name
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Edit the template display name.
@@ -31,7 +30,7 @@ Edit the template display name.
### --description
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Edit the template description.
@@ -39,7 +38,7 @@ Edit the template description.
### --deprecated
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Sets the template as deprecated. Must be a message explaining why the template is deprecated.
@@ -47,7 +46,7 @@ Sets the template as deprecated. Must be a message explaining why the template i
### --icon
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Edit the template icon path.
@@ -55,7 +54,7 @@ Edit the template icon path.
### --default-ttl
| | |
-| ---- | --------------------- |
+|------|-----------------------|
| Type | duration
|
Edit the template default time before shutdown - workspaces created from this template default to this value. Maps to "Default autostop" in the UI.
@@ -63,7 +62,7 @@ Edit the template default time before shutdown - workspaces created from this te
### --activity-bump
| | |
-| ---- | --------------------- |
+|------|-----------------------|
| Type | duration
|
Edit the template activity bump - workspaces created from this template will have their shutdown time bumped by this value when activity is detected. Maps to "Activity bump" in the UI.
@@ -71,7 +70,7 @@ Edit the template activity bump - workspaces created from this template will hav
### --autostart-requirement-weekdays
| | |
-| ---- | ---------------------------------------------------------------------------------- |
+|------|------------------------------------------------------------------------------------|
| Type | [monday\|tuesday\|wednesday\|thursday\|friday\|saturday\|sunday\|all]
|
Edit the template autostart requirement weekdays - workspaces created from this template can only autostart on the given weekdays. To unset this value for the template (and allow autostart on all days), pass 'all'.
@@ -79,7 +78,7 @@ Edit the template autostart requirement weekdays - workspaces created from this
### --autostop-requirement-weekdays
| | |
-| ---- | ----------------------------------------------------------------------------------- |
+|------|-------------------------------------------------------------------------------------|
| Type | [monday\|tuesday\|wednesday\|thursday\|friday\|saturday\|sunday\|none]
|
Edit the template autostop requirement weekdays - workspaces created from this template must be restarted on the given weekdays. To unset this value for the template (and disable the autostop requirement for the template), pass 'none'.
@@ -87,7 +86,7 @@ Edit the template autostop requirement weekdays - workspaces created from this t
### --autostop-requirement-weeks
| | |
-| ---- | ---------------- |
+|------|------------------|
| Type | int
|
Edit the template autostop requirement weeks - workspaces created from this template must be restarted on an n-weekly basis.
@@ -95,7 +94,7 @@ Edit the template autostop requirement weeks - workspaces created from this temp
### --failure-ttl
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 0h
|
@@ -104,7 +103,7 @@ Specify a failure TTL for workspaces created from this template. It is the amoun
### --dormancy-threshold
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 0h
|
@@ -113,7 +112,7 @@ Specify a duration workspaces may be inactive prior to being moved to the dorman
### --dormancy-auto-deletion
| | |
-| ------- | --------------------- |
+|---------|-----------------------|
| Type | duration
|
| Default | 0h
|
@@ -122,7 +121,7 @@ Specify a duration workspaces may be in the dormant state prior to being deleted
### --allow-user-cancel-workspace-jobs
| | |
-| ------- | ----------------- |
+|---------|-------------------|
| Type | bool
|
| Default | true
|
@@ -131,7 +130,7 @@ Allow users to cancel in-progress workspace jobs.
### --allow-user-autostart
| | |
-| ------- | ----------------- |
+|---------|-------------------|
| Type | bool
|
| Default | true
|
@@ -140,7 +139,7 @@ Allow users to configure autostart for workspaces on this template. This can onl
### --allow-user-autostop
| | |
-| ------- | ----------------- |
+|---------|-------------------|
| Type | bool
|
| Default | true
|
@@ -149,7 +148,7 @@ Allow users to customize the autostop TTL for workspaces on this template. This
### --require-active-version
| | |
-| ------- | ------------------ |
+|---------|--------------------|
| Type | bool
|
| Default | false
|
@@ -158,7 +157,7 @@ Requires workspace builds to use the active template version. This setting does
### --private
| | |
-| ------- | ------------------ |
+|---------|--------------------|
| Type | bool
|
| Default | false
|
@@ -167,7 +166,7 @@ Disable the default behavior of granting template access to the 'everyone' group
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -175,7 +174,7 @@ Bypass prompts.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/templates_init.md b/docs/reference/cli/templates_init.md
index ddbd84ab3d2c8..30df7bb9c0ad3 100644
--- a/docs/reference/cli/templates_init.md
+++ b/docs/reference/cli/templates_init.md
@@ -1,5 +1,4 @@
-
# templates init
Get started with a templated template.
@@ -14,8 +13,8 @@ coder templates init [flags] [directory]
### --id
-| | |
-| ---- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Type | aws-devcontainer\|aws-linux\|aws-windows\|azure-linux\|devcontainer-docker\|devcontainer-kubernetes\|do-linux\|docker\|gcp-devcontainer\|gcp-linux\|gcp-vm-container\|gcp-windows\|kubernetes\|nomad-docker\|scratch
|
+| | |
+|------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Type | aws-devcontainer\|aws-linux\|aws-windows\|azure-linux\|digitalocean-linux\|docker\|docker-devcontainer\|gcp-devcontainer\|gcp-linux\|gcp-vm-container\|gcp-windows\|kubernetes\|kubernetes-devcontainer\|nomad-docker\|scratch
|
Specify a given example template by ID.
diff --git a/docs/reference/cli/templates_list.md b/docs/reference/cli/templates_list.md
index 81747abd50d5a..d5ec9d3cea8e5 100644
--- a/docs/reference/cli/templates_list.md
+++ b/docs/reference/cli/templates_list.md
@@ -1,12 +1,11 @@
-
# templates list
List all the templates available for the organization
Aliases:
-- ls
+* ls
## Usage
@@ -19,7 +18,7 @@ coder templates list [flags]
### -c, --column
| | |
-| ------- | --------------------------------------------------------------------------------------------------------------------------------------- |
+|---------|-----------------------------------------------------------------------------------------------------------------------------------------|
| Type | [name\|created at\|last updated\|organization id\|organization name\|provisioner\|active version id\|used by\|default ttl]
|
| Default | name,organization name,last updated,used by
|
@@ -28,7 +27,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/templates_pull.md b/docs/reference/cli/templates_pull.md
index 3678426fd098e..529b110248475 100644
--- a/docs/reference/cli/templates_pull.md
+++ b/docs/reference/cli/templates_pull.md
@@ -1,5 +1,4 @@
-
# templates pull
Download the active, latest, or specified version of a template to a path.
@@ -15,7 +14,7 @@ coder templates pull [flags] [destination]
### --tar
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Output the template as a tar archive to stdout.
@@ -23,7 +22,7 @@ Output the template as a tar archive to stdout.
### --zip
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Output the template as a zip archive to stdout.
@@ -31,7 +30,7 @@ Output the template as a zip archive to stdout.
### --version
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
The name of the template version to pull. Use 'active' to pull the active version, 'latest' to pull the latest version, or the name of the template version to pull.
@@ -39,7 +38,7 @@ The name of the template version to pull. Use 'active' to pull the active versio
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -47,7 +46,7 @@ Bypass prompts.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/templates_push.md b/docs/reference/cli/templates_push.md
index e56528841ebda..46687d3fc672e 100644
--- a/docs/reference/cli/templates_push.md
+++ b/docs/reference/cli/templates_push.md
@@ -1,5 +1,4 @@
-
# templates push
Create or update a template from the current directory or as specified by flag
@@ -15,7 +14,7 @@ coder templates push [flags] [template]
### --variables-file
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specify a file path with values for Terraform-managed variables.
@@ -23,7 +22,7 @@ Specify a file path with values for Terraform-managed variables.
### --variable
| | |
-| ---- | ------------------------- |
+|------|---------------------------|
| Type | string-array
|
Specify a set of values for Terraform-managed variables.
@@ -31,7 +30,7 @@ Specify a set of values for Terraform-managed variables.
### --var
| | |
-| ---- | ------------------------- |
+|------|---------------------------|
| Type | string-array
|
Alias of --variable.
@@ -39,7 +38,7 @@ Alias of --variable.
### --provisioner-tag
| | |
-| ---- | ------------------------- |
+|------|---------------------------|
| Type | string-array
|
Specify a set of tags to target provisioner daemons.
@@ -47,7 +46,7 @@ Specify a set of tags to target provisioner daemons.
### --name
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specify a name for the new template version. It will be automatically generated if not provided.
@@ -55,7 +54,7 @@ Specify a name for the new template version. It will be automatically generated
### --always-prompt
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Always prompt all parameters. Does not pull parameter values from active template version.
@@ -63,7 +62,7 @@ Always prompt all parameters. Does not pull parameter values from active templat
### --activate
| | |
-| ------- | ----------------- |
+|---------|-------------------|
| Type | bool
|
| Default | true
|
@@ -72,7 +71,7 @@ Whether the new template will be marked active.
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -80,7 +79,7 @@ Bypass prompts.
### -d, --directory
| | |
-| ------- | ------------------- |
+|---------|---------------------|
| Type | string
|
| Default | .
|
@@ -89,7 +88,7 @@ Specify the directory to create from, use '-' to read tar from stdin.
### --ignore-lockfile
| | |
-| ------- | ------------------ |
+|---------|--------------------|
| Type | bool
|
| Default | false
|
@@ -98,7 +97,7 @@ Ignore warnings about not having a .terraform.lock.hcl file present in the templ
### -m, --message
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specify a message describing the changes in this version of the template. Messages longer than 72 characters will be displayed as truncated.
@@ -106,7 +105,7 @@ Specify a message describing the changes in this version of the template. Messag
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/templates_versions.md b/docs/reference/cli/templates_versions.md
index 5b1c3b2c2cfb8..8eb927967d162 100644
--- a/docs/reference/cli/templates_versions.md
+++ b/docs/reference/cli/templates_versions.md
@@ -1,12 +1,11 @@
-
# templates versions
Manage different versions of the specified template
Aliases:
-- version
+* version
## Usage
@@ -25,7 +24,7 @@ coder templates versions
## Subcommands
| Name | Purpose |
-| ----------------------------------------------------------- | ----------------------------------------------- |
+|-------------------------------------------------------------|-------------------------------------------------|
| [list
](./templates_versions_list.md) | List all the versions of the specified template |
| [archive
](./templates_versions_archive.md) | Archive a template version(s). |
| [unarchive
](./templates_versions_unarchive.md) | Unarchive a template version(s). |
diff --git a/docs/reference/cli/templates_versions_archive.md b/docs/reference/cli/templates_versions_archive.md
index d6053db9ca185..1c7f4fd7d82c5 100644
--- a/docs/reference/cli/templates_versions_archive.md
+++ b/docs/reference/cli/templates_versions_archive.md
@@ -1,5 +1,4 @@
-
# templates versions archive
Archive a template version(s).
@@ -7,7 +6,7 @@ Archive a template version(s).
## Usage
```console
-coder templates versions archive [flags] [template-version-names...]
+coder templates versions archive [flags] [template-version-names...]
```
## Options
@@ -15,7 +14,7 @@ coder templates versions archive [flags] [template-version-names
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -23,7 +22,7 @@ Bypass prompts.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/templates_versions_list.md b/docs/reference/cli/templates_versions_list.md
index b19e18abe31e4..0c738f156916f 100644
--- a/docs/reference/cli/templates_versions_list.md
+++ b/docs/reference/cli/templates_versions_list.md
@@ -1,5 +1,4 @@
-
# templates versions list
List all the versions of the specified template
@@ -15,7 +14,7 @@ coder templates versions list [flags]
### --include-archived
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Include archived versions in the result list.
@@ -23,7 +22,7 @@ Include archived versions in the result list.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
@@ -32,7 +31,7 @@ Select which organization (uuid or name) to use.
### -c, --column
| | |
-| ------- | --------------------------------------------------------------------- |
+|---------|-----------------------------------------------------------------------|
| Type | [name\|created at\|created by\|status\|active\|archived]
|
| Default | name,created at,created by,status,active
|
@@ -41,7 +40,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/templates_versions_promote.md b/docs/reference/cli/templates_versions_promote.md
index 30b5f1e8776c6..ecf3ab661cd22 100644
--- a/docs/reference/cli/templates_versions_promote.md
+++ b/docs/reference/cli/templates_versions_promote.md
@@ -1,5 +1,4 @@
-
# templates versions promote
Promote a template version to active.
@@ -21,7 +20,7 @@ Promote an existing template version to be the active version for the specified
### -t, --template
| | |
-| ----------- | --------------------------------- |
+|-------------|-----------------------------------|
| Type | string
|
| Environment | $CODER_TEMPLATE_NAME
|
@@ -30,7 +29,7 @@ Specify the template name.
### --template-version
| | |
-| ----------- | ----------------------------------------- |
+|-------------|-------------------------------------------|
| Type | string
|
| Environment | $CODER_TEMPLATE_VERSION_NAME
|
@@ -39,7 +38,7 @@ Specify the template version name to promote.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/templates_versions_unarchive.md b/docs/reference/cli/templates_versions_unarchive.md
index 7b8d15b4ea21c..c5351939bcf39 100644
--- a/docs/reference/cli/templates_versions_unarchive.md
+++ b/docs/reference/cli/templates_versions_unarchive.md
@@ -1,5 +1,4 @@
-
# templates versions unarchive
Unarchive a template version(s).
@@ -7,7 +6,7 @@ Unarchive a template version(s).
## Usage
```console
-coder templates versions unarchive [flags] [template-version-names...]
+coder templates versions unarchive [flags] [template-version-names...]
```
## Options
@@ -15,7 +14,7 @@ coder templates versions unarchive [flags] [template-version-nam
### -y, --yes
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Bypass prompts.
@@ -23,7 +22,7 @@ Bypass prompts.
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/tokens.md b/docs/reference/cli/tokens.md
index 4e74eb9516057..36b6575ed323f 100644
--- a/docs/reference/cli/tokens.md
+++ b/docs/reference/cli/tokens.md
@@ -1,12 +1,11 @@
-
# tokens
Manage personal access tokens
Aliases:
-- token
+* token
## Usage
@@ -34,7 +33,7 @@ Tokens are used to authenticate automated clients to Coder.
## Subcommands
| Name | Purpose |
-| ----------------------------------------- | -------------- |
+|-------------------------------------------|----------------|
| [create
](./tokens_create.md) | Create a token |
| [list
](./tokens_list.md) | List tokens |
| [remove
](./tokens_remove.md) | Delete a token |
diff --git a/docs/reference/cli/tokens_create.md b/docs/reference/cli/tokens_create.md
index bae168c25e50b..7ad9699c17c35 100644
--- a/docs/reference/cli/tokens_create.md
+++ b/docs/reference/cli/tokens_create.md
@@ -1,5 +1,4 @@
-
# tokens create
Create a token
@@ -15,7 +14,7 @@ coder tokens create [flags]
### --lifetime
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | string
|
| Environment | $CODER_TOKEN_LIFETIME
|
@@ -24,7 +23,7 @@ Specify a duration for the lifetime of the token.
### -n, --name
| | |
-| ----------- | ------------------------------ |
+|-------------|--------------------------------|
| Type | string
|
| Environment | $CODER_TOKEN_NAME
|
@@ -33,7 +32,7 @@ Specify a human-readable name.
### -u, --user
| | |
-| ----------- | ------------------------------ |
+|-------------|--------------------------------|
| Type | string
|
| Environment | $CODER_TOKEN_USER
|
diff --git a/docs/reference/cli/tokens_list.md b/docs/reference/cli/tokens_list.md
index 5b0cdab5f070f..150b411855174 100644
--- a/docs/reference/cli/tokens_list.md
+++ b/docs/reference/cli/tokens_list.md
@@ -1,12 +1,11 @@
-
# tokens list
List tokens
Aliases:
-- ls
+* ls
## Usage
@@ -19,7 +18,7 @@ coder tokens list [flags]
### -a, --all
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Specifies whether all users' tokens will be listed or not (must have Owner role to see all tokens).
@@ -27,7 +26,7 @@ Specifies whether all users' tokens will be listed or not (must have Owner role
### -c, --column
| | |
-| ------- | ----------------------------------------------------------------- |
+|---------|-------------------------------------------------------------------|
| Type | [id\|name\|last used\|expires at\|created at\|owner]
|
| Default | id,name,last used,expires at,created at
|
@@ -36,7 +35,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/tokens_remove.md b/docs/reference/cli/tokens_remove.md
index 408f233494d1b..8825040f5e3a7 100644
--- a/docs/reference/cli/tokens_remove.md
+++ b/docs/reference/cli/tokens_remove.md
@@ -1,13 +1,12 @@
-
# tokens remove
Delete a token
Aliases:
-- delete
-- rm
+* delete
+* rm
## Usage
diff --git a/docs/reference/cli/unfavorite.md b/docs/reference/cli/unfavorite.md
index b1dca7a397bc7..2bf15b437e7b9 100644
--- a/docs/reference/cli/unfavorite.md
+++ b/docs/reference/cli/unfavorite.md
@@ -1,13 +1,12 @@
-
# unfavorite
Remove a workspace from your favorites
Aliases:
-- unfav
-- unfavourite
+* unfav
+* unfavourite
## Usage
diff --git a/docs/reference/cli/update.md b/docs/reference/cli/update.md
index 920fee20058b1..dd2bfa5ff76b5 100644
--- a/docs/reference/cli/update.md
+++ b/docs/reference/cli/update.md
@@ -1,5 +1,4 @@
-
# update
Will update and start a given workspace if it is out of date
@@ -21,7 +20,7 @@ Use --always-prompt to change the parameter values of the workspace.
### --build-option
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string-array
|
| Environment | $CODER_BUILD_OPTION
|
@@ -30,7 +29,7 @@ Build option value in the format "name=value".
### --build-options
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Prompt for one-time build options defined with ephemeral parameters.
@@ -38,7 +37,7 @@ Prompt for one-time build options defined with ephemeral parameters.
### --ephemeral-parameter
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string-array
|
| Environment | $CODER_EPHEMERAL_PARAMETER
|
@@ -47,7 +46,7 @@ Set the value of ephemeral parameters defined in the template. The format is "na
### --prompt-ephemeral-parameters
| | |
-| ----------- | ----------------------------------------------- |
+|-------------|-------------------------------------------------|
| Type | bool
|
| Environment | $CODER_PROMPT_EPHEMERAL_PARAMETERS
|
@@ -56,7 +55,7 @@ Prompt to set values of ephemeral parameters defined in the template. If a value
### --parameter
| | |
-| ----------- | ---------------------------------- |
+|-------------|------------------------------------|
| Type | string-array
|
| Environment | $CODER_RICH_PARAMETER
|
@@ -65,7 +64,7 @@ Rich parameter value in the format "name=value".
### --rich-parameter-file
| | |
-| ----------- | --------------------------------------- |
+|-------------|-----------------------------------------|
| Type | string
|
| Environment | $CODER_RICH_PARAMETER_FILE
|
@@ -74,7 +73,7 @@ Specify a file path with values for rich parameters defined in the template. The
### --parameter-default
| | |
-| ----------- | ------------------------------------------ |
+|-------------|--------------------------------------------|
| Type | string-array
|
| Environment | $CODER_RICH_PARAMETER_DEFAULT
|
@@ -83,7 +82,7 @@ Rich parameter default values in the format "name=value".
### --always-prompt
| | |
-| ---- | ----------------- |
+|------|-------------------|
| Type | bool
|
Always prompt all parameters. Does not pull parameter values from existing workspace.
diff --git a/docs/reference/cli/users.md b/docs/reference/cli/users.md
index a45f6b374dad2..174e08fe9f3a0 100644
--- a/docs/reference/cli/users.md
+++ b/docs/reference/cli/users.md
@@ -1,12 +1,11 @@
-
# users
Manage users
Aliases:
-- user
+* user
## Usage
@@ -17,7 +16,7 @@ coder users [subcommand]
## Subcommands
| Name | Purpose |
-| -------------------------------------------- | ------------------------------------------------------------------------------------- |
+|----------------------------------------------|---------------------------------------------------------------------------------------|
| [create
](./users_create.md) | |
| [list
](./users_list.md) | |
| [show
](./users_show.md) | Show a single user. Use 'me' to indicate the currently authenticated user. |
diff --git a/docs/reference/cli/users_activate.md b/docs/reference/cli/users_activate.md
index fe8022616a9e8..e82313c0c817d 100644
--- a/docs/reference/cli/users_activate.md
+++ b/docs/reference/cli/users_activate.md
@@ -1,12 +1,11 @@
-
# users activate
Update a user's status to 'active'. Active users can fully interact with the platform
Aliases:
-- active
+* active
## Usage
@@ -17,7 +16,7 @@ coder users activate [flags]
## Description
```console
- $ coder users activate example_user
+ coder users activate example_user
```
## Options
@@ -25,7 +24,7 @@ coder users activate [flags]
### -c, --column
| | |
-| ------- | -------------------------------------------------- |
+|---------|----------------------------------------------------|
| Type | [username\|email\|created at\|status]
|
| Default | username,email,created at,status
|
diff --git a/docs/reference/cli/users_create.md b/docs/reference/cli/users_create.md
index 368f049e0a91d..61768ebfdbbf8 100644
--- a/docs/reference/cli/users_create.md
+++ b/docs/reference/cli/users_create.md
@@ -1,5 +1,4 @@
-
# users create
## Usage
@@ -13,7 +12,7 @@ coder users create [flags]
### -e, --email
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specifies an email address for the new user.
@@ -21,7 +20,7 @@ Specifies an email address for the new user.
### -u, --username
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specifies a username for the new user.
@@ -29,7 +28,7 @@ Specifies a username for the new user.
### -n, --full-name
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specifies an optional human-readable name for the new user.
@@ -37,7 +36,7 @@ Specifies an optional human-readable name for the new user.
### -p, --password
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Specifies a password for the new user.
@@ -45,7 +44,7 @@ Specifies a password for the new user.
### --login-type
| | |
-| ---- | ------------------- |
+|------|---------------------|
| Type | string
|
Optionally specify the login type for the user. Valid values are: password, none, github, oidc. Using 'none' prevents the user from authenticating and requires an API key/token to be generated by an admin.
@@ -53,7 +52,7 @@ Optionally specify the login type for the user. Valid values are: password, none
### -O, --org
| | |
-| ----------- | -------------------------------- |
+|-------------|----------------------------------|
| Type | string
|
| Environment | $CODER_ORGANIZATION
|
diff --git a/docs/reference/cli/users_delete.md b/docs/reference/cli/users_delete.md
index d4da1c8b5db7a..7bfe7db59c90a 100644
--- a/docs/reference/cli/users_delete.md
+++ b/docs/reference/cli/users_delete.md
@@ -1,12 +1,11 @@
-
# users delete
Delete a user by username or user_id.
Aliases:
-- rm
+* rm
## Usage
diff --git a/docs/reference/cli/users_list.md b/docs/reference/cli/users_list.md
index 4405179b61697..42adf1df8e2c1 100644
--- a/docs/reference/cli/users_list.md
+++ b/docs/reference/cli/users_list.md
@@ -1,10 +1,9 @@
-
# users list
Aliases:
-- ls
+* ls
## Usage
@@ -17,7 +16,7 @@ coder users list [flags]
### -c, --column
| | |
-| ------- | ------------------------------------------------------------------ |
+|---------|--------------------------------------------------------------------|
| Type | [id\|username\|email\|created at\|updated at\|status]
|
| Default | username,email,created at,status
|
@@ -26,7 +25,7 @@ Columns to display in table output.
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/users_show.md b/docs/reference/cli/users_show.md
index 44887a7339518..de53d673849bf 100644
--- a/docs/reference/cli/users_show.md
+++ b/docs/reference/cli/users_show.md
@@ -1,5 +1,4 @@
-
# users show
Show a single user. Use 'me' to indicate the currently authenticated user.
@@ -13,7 +12,7 @@ coder users show [flags]
## Description
```console
- $ coder users show me
+ coder users show me
```
## Options
@@ -21,7 +20,7 @@ coder users show [flags]
### -o, --output
| | |
-| ------- | ------------------------ |
+|---------|--------------------------|
| Type | table\|json
|
| Default | table
|
diff --git a/docs/reference/cli/users_suspend.md b/docs/reference/cli/users_suspend.md
index a4bbc8c7b6f82..286a73cd2432c 100644
--- a/docs/reference/cli/users_suspend.md
+++ b/docs/reference/cli/users_suspend.md
@@ -1,5 +1,4 @@
-
# users suspend
Update a user's status to 'suspended'. A suspended user cannot log into the platform
@@ -13,7 +12,7 @@ coder users suspend [flags]
## Description
```console
- $ coder users suspend example_user
+ coder users suspend example_user
```
## Options
@@ -21,7 +20,7 @@ coder users suspend [flags]
### -c, --column
| | |
-| ------- | -------------------------------------------------- |
+|---------|----------------------------------------------------|
| Type | [username\|email\|created at\|status]
|
| Default | username,email,created at,status
|
diff --git a/docs/reference/cli/version.md b/docs/reference/cli/version.md
index a88652fed6489..cb0573c597bc9 100644
--- a/docs/reference/cli/version.md
+++ b/docs/reference/cli/version.md
@@ -1,5 +1,4 @@
-
# version
Show coder version
@@ -15,7 +14,7 @@ coder version [flags]
### -o, --output
| | |
-| ------- | ----------------------- |
+|---------|-------------------------|
| Type | text\|json
|
| Default | text
|
diff --git a/docs/reference/cli/whoami.md b/docs/reference/cli/whoami.md
index 7e2736d454bf4..f3038789f25ac 100644
--- a/docs/reference/cli/whoami.md
+++ b/docs/reference/cli/whoami.md
@@ -1,5 +1,4 @@
-
# whoami
Fetch authenticated user info for Coder deployment
diff --git a/docs/reference/index.md b/docs/reference/index.md
index 4ef592d5e0840..4de97ef4a3099 100644
--- a/docs/reference/index.md
+++ b/docs/reference/index.md
@@ -1,6 +1,6 @@
# Reference
-# Automation
+## Automation
All actions possible through the Coder dashboard can also be automated. There
are several ways to extend/automate Coder:
@@ -74,9 +74,9 @@ activity.
-d "{
\"logs\": [
{
- \"created_at\": \"$(date -u +'%Y-%m-%dT%H:%M:%SZ')\",
- \"level\": \"info\",
- \"output\": \"Restoring workspace from snapshot: 05%...\"
+ \"created_at\": \"$(date -u +'%Y-%m-%dT%H:%M:%SZ')\",
+ \"level\": \"info\",
+ \"output\": \"Restoring workspace from snapshot: 05%...\"
}
]
}"
@@ -97,7 +97,7 @@ activity.
curl -X PUT "https://coder.example.com/api/v2/workspaces/$WORKSPACE_ID/extend" \
-H "Coder-Session-Token: $CODER_AGENT_TOKEN" \
-d '{
- "deadline": "2019-08-24T14:15:22Z"
+ "deadline": "2019-08-24T14:15:22Z"
}'
# Sleep for 30 minutes (1800 seconds) if the job is running
diff --git a/docs/start/local-deploy.md b/docs/start/local-deploy.md
index 5a25a525bcec1..d3944caddf051 100644
--- a/docs/start/local-deploy.md
+++ b/docs/start/local-deploy.md
@@ -1,4 +1,4 @@
-## Setting up a Coder deployment
+# Setting up a Coder deployment
For day-zero Coder users, we recommend following this guide to set up a local
Coder deployment from our
@@ -11,7 +11,7 @@ slim deployment to experiment with [workspaces](../user-guides/index.md) and
Docker is not necessary for every Coder deployment and is only used here for
simplicity.
-### Install Coder daemon
+## Install Coder daemon
First, install [Docker](https://docs.docker.com/engine/install/) locally.
@@ -45,7 +45,7 @@ winget install Coder.Coder
-### Start the server
+## Start the server
To start or restart the Coder deployment, use the following command:
@@ -61,6 +61,6 @@ administrator account.
Once you've signed in, you'll be brought to an empty workspaces page, which
we'll soon populate with your first development environments.
-### Next steps
+## Next steps
TODO: Add link to next page.
diff --git a/docs/start/screenshots.md b/docs/start/screenshots.md
index 608e92e42ee5e..ddf71b823f7fc 100644
--- a/docs/start/screenshots.md
+++ b/docs/start/screenshots.md
@@ -46,7 +46,7 @@ Templates are most popular and how well they perform for developers.

-Coder administrators can control _every_ aspect of their Coder deployment.
+Coder administrators can control *every* aspect of their Coder deployment.

diff --git a/docs/tutorials/azure-federation.md b/docs/tutorials/azure-federation.md
index 325991e9f4359..18726af617bd8 100644
--- a/docs/tutorials/azure-federation.md
+++ b/docs/tutorials/azure-federation.md
@@ -3,7 +3,7 @@
January 26, 2024
diff --git a/docs/tutorials/best-practices/organizations.md b/docs/tutorials/best-practices/organizations.md
new file mode 100644
index 0000000000000..5771df3e0bb8d
--- /dev/null
+++ b/docs/tutorials/best-practices/organizations.md
@@ -0,0 +1,138 @@
+# Organizations - best practices
+
+December 9, 2024
+
+---
+
+Coder [Organizations](../../admin/users/organizations.md) allow administrators
+finer control over groups, templates, workspaces, and provisioners within their
+Coder deployment.
+
+Organizations allow multiple platform teams to offer templates and
+infrastructure to their users instead of having them entirely managed in a
+centralized fashion.
+
+Each organization can have its own unique admin and users can belong to multiple
+organizations, but every organization must have separate templates,
+provisioners, groups, and workspaces.
+
+On this best practice page, we cover some of the ways you can use Organizations
+to make it easier to manage your groups smoothly.
+
+## How Coder organizations work
+
+Organizations are the hierarchical parent for templates, groups, and
+provisioners. Every new organization must have separate templates, provisioners,
+and groups.
+
+
+
+Users can belong to multiple organizations while templates and provisioners
+cannot.
+
+## When to use organizations
+
+Organizations increase the maintenance overhead of a Coder deployment, so we
+recommend that you only use them when necessary.
+
+Use organizations when a separate group of users needs to manage their own
+templates and underlying infrastructure. If a group of users already has a
+separate, functional platform team willing to write templates or manage
+clusters, organizations may be a good fit.
+
+### Organization use case examples
+
+Here are a few examples for a fictional organization called MegaCo. It is
+deployed with Coder and has 1000 users in production. Today, MegaCo has a single
+(default) organization and a central platform team but is evaluating whether to
+use organizations for several use cases.
+
+| **Use Case** | **Description** | **Good fit for organizations?** |
+|--------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
+| Mergers and acquisitions | Raptix, a 180-person startup recently acquired by MegaCo, has an independent cloud account, platform team, and Terraform modules and pipelines for deploying their code. They want to use Coder. | ✅ Organizations |
+| Independent cloud-native teams that manage their namespaces, images, and/or clusters | MegaCo has six teams responsible for their own dev, staging, and production Kubernetes clusters and frequently deploy & test their work with `kubectl` and `helm`.They wish to hook up Coder to their cluster so they can write and manage IDE templates for connecting to the cluster with their IDE | ✅ Organizations |
+| Java monolith | MegaCo has identified that anyone developing the Java monolith is best served with a VM instead of a container/cloud-native environment.However, the Java team is supported by MegaCo's central platform team. | ❌ Use instead:A separate template and/or groups |
+| Off-shore contractors | MegaCo employs off-shore contractors but has not onboarded them onto Coder due to privacy concerns, data sovereignty rules, and latency considerations.They considered a minimal, localized second deployment of Coder, but decided against it due to maintenance overhead. | ✅ Organizations + Workspace Proxies |
+| Dev teams | Dev teams often need to bring their requirements for dev environments, such as specific repositories and tools | ❌ Use instead:Parameters, dev containers, and/or groups |
+| ML Platform Team & ML Developers | MegaCo's data platform team maintains a homegrown "MLBox" product for data environments with a GPU, Jupyter, etc.This team is interested in migrating to Coder for improved cost-saving and auditing of environments, but they need to hook up their own cluster and cloud accounts. They also want their templates only to be accessible to a specific set of users. | ✅ Organizations |
+| Supporting developers in various regions | MegaCo's central platform team supports developers connecting from the East Coast, the West Coast, and Australia. These developers are working on the same projects but need low-latency access to their environments. | ❌ Use instead:Provisioners and workspace proxies to support multiple regions on a single template |
+
+## How to migrate to organizations
+
+Since templates and workspaces cannot be moved nor can they belong to multiple
+organizations, we recommend that you deprecate your template
+[through the API](../../reference/api/templates.md#update-template-metadata-by-id)
+or [through the Coder CLI](../../reference/cli/templates_edit.md#--deprecated).
+When a template is deprecated, the admin prevents new workspaces from being
+created and developers are notified with a deprecation message which can link to
+an external wiki page on migration instructions.
+
+Users can use a file transfer tool such as
+[rsync](https://linux.die.net/man/1/rsync) to migrate their files from one
+workspace to another.
+
+## Provisioner Isolation and Zero Trust
+
+In the organizations model, provisioners run in a separate
+cluster/infrastructure and have an isolated key to authenticate back with Coder.
+The provisioners have access to separate cloud resources that the control plane
+cannot access. Instead, the control plane sends simple "provisioner jobs" to the
+provisioner and the provisioner is responsible for executing the Terraform.
+
+There are planned improvements to the troubleshooting provisioners process.
+Follow these GitHub issues for more details:
+
+- [coder/coder#15048](https://github.com/coder/coder/issues/15048)
+- [coder/coder#15087](https://github.com/coder/coder/issues/15087)
+- [coder/coder#15192](https://github.com/coder/coder/issues/15192)
+
+## Identity Provider (SSO) Sync
+
+While the Coder UI or API can be used to assign specific users to organizations,
+this is discouraged. Instead, we recommend syncing the state from your identity
+provider such as Okta. A single claim from the identity provider (like
+`memberOf`) can be used to sync site-wide roles, organizations, groups, and
+organization roles.
+
+Regex filters and mapping can be configured to ensure the proper resources are
+allocated in Coder. Learn more about [IDP sync](../../admin/users/idp-sync.md).
+
+## Custom Roles
+
+Custom roles are organization-scoped and can be used to limit access controls
+within an organization. Custom roles can be applied to the default organization.
+
+Some examples of custom roles that can be created:
+
+### Provisioner Admin
+
+- The user can deploy provisioners but not manage templates. This may be useful
+ if automation is used to create and update templates in the organization.
+
+### Template Editor
+
+- Inverse of provisioner admin: User can manage templates but not deploy
+ provisioners. This may be useful if the provisioner and template are deployed
+ via automation and users are allowed to edit them.
+
+### Template Pusher
+
+- A system account that can push new templates from a git repo but cannot manage
+ users or delete templates.
+
+We’re interested in identifying new use cases for custom roles. Please
+[create a GitHub issue](https://github.com/coder/internal/issues/new?title=request%28orgs%29%3A+request+title+here&labels=["customer-feedback"]&body=please+enter+your+request+here)
+with your suggestion or request.
+
+## Managing Organizations at Scale
+
+Using ClickOps to onboard new organizations, set quotas, and SSO sync can be
+cumbersome, especially if you want to "seed" organizations with provisioners and
+starter templates.
+
+Support for managing Organizations via the coderd Terrafom provider is planned
+so that this can be done declaratively and bulk updates to things like templates
+and quotas can be performed easily:
+
+- Issue
+ [coder/terraform-provider-coderd#39](https://github.com/coder/terraform-provider-coderd/issues/39)
diff --git a/docs/tutorials/best-practices/scale-coder.md b/docs/tutorials/best-practices/scale-coder.md
new file mode 100644
index 0000000000000..9a640a051be58
--- /dev/null
+++ b/docs/tutorials/best-practices/scale-coder.md
@@ -0,0 +1,322 @@
+# Scale Coder
+
+This best practice guide helps you prepare a Coder deployment that you can
+scale up to a high-scale deployment as use grows, and keep it operating smoothly with a
+high number of active users and workspaces.
+
+## Observability
+
+Observability is one of the most important aspects to a scalable Coder deployment.
+When you have visibility into performance and usage metrics, you can make informed
+decisions about what changes you should make.
+
+[Monitor your Coder deployment](../../admin/monitoring/index.md) with log output
+and metrics to identify potential bottlenecks before they negatively affect the
+end-user experience and measure the effects of modifications you make to your
+deployment.
+
+- Log output
+ - Capture log output from from Coder Server instances and external provisioner daemons
+ and store them in a searchable log store like Loki, CloudWatch logs, or other tools.
+ - Retain logs for a minimum of thirty days, ideally ninety days.
+ This allows you investigate when anomalous behaviors began.
+
+- Metrics
+ - Capture infrastructure metrics like CPU, memory, open files, and network I/O for all
+ Coder Server, external provisioner daemon, workspace proxy, and PostgreSQL instances.
+ - Capture Coder Server and External Provisioner daemons metrics
+ [via Prometheus](#how-to-capture-coder-server-metrics-with-prometheus).
+
+Retain metric time series for at least six months. This allows you to see
+performance trends relative to user growth.
+
+For a more comprehensive overview, integrate metrics with an observability
+dashboard like [Grafana](../../admin/monitoring/index.md).
+
+### Observability key metrics
+
+Configure alerting based on these metrics to ensure you surface problems before
+they affect the end-user experience.
+
+- CPU and Memory Utilization
+ - Monitor the utilization as a fraction of the available resources on the instance.
+
+ Utilization will vary with use throughout the course of a day, week, and longer timelines.
+ Monitor trends and pay special attention to the daily and weekly peak utilization.
+ Use long-term trends to plan infrastructure upgrades.
+
+- Tail latency of Coder Server API requests
+ - High tail latency can indicate Coder Server or the PostgreSQL database is underprovisioned
+ for the load.
+ - Use the `coderd_api_request_latencies_seconds` metric.
+
+- Tail latency of database queries
+ - High tail latency can indicate the PostgreSQL database is low in resources.
+ - Use the `coderd_db_query_latencies_seconds` metric.
+
+### How to capture Coder server metrics with Prometheus
+
+Edit your Helm `values.yaml` to capture metrics from Coder Server and external provisioner daemons with
+[Prometheus](../../admin/integrations/prometheus.md):
+
+1. Enable Prometheus metrics:
+
+ ```yaml
+ CODER_PROMETHEUS_ENABLE=true
+ ```
+
+1. Enable database metrics:
+
+ ```yaml
+ CODER_PROMETHEUS_COLLECT_DB_METRICS=true
+ ```
+
+1. For a high scale deployment, configure agent stats to avoid large cardinality or disable them:
+
+ - Configure agent stats:
+
+ ```yaml
+ CODER_PROMETHEUS_AGGREGATE_AGENT_STATS_BY=agent_name
+ ```
+
+ - Disable agent stats:
+
+ ```yaml
+ CODER_PROMETHEUS_COLLECT_AGENT_STATS=false
+ ```
+
+## Coder Server
+
+### Locality
+
+If increased availability of the Coder API is a concern, deploy at least three
+instances of Coder Server. Spread the instances across nodes with anti-affinity rules in
+Kubernetes or in different availability zones of the same geographic region.
+
+Do not deploy in different geographic regions.
+
+Coder Servers need to be able to communicate with one another directly with low
+latency, under 10ms. Note that this is for the availability of the Coder API.
+Workspaces are not fault tolerant unless they are explicitly built that way at
+the template level.
+
+Deploy Coder Server instances as geographically close to PostgreSQL as possible.
+Low-latency communication (under 10ms) with Postgres is essential for Coder
+Server's performance.
+
+### Scaling
+
+Coder Server can be scaled both vertically for bigger instances and horizontally
+for more instances.
+
+Aim to keep the number of Coder Server instances relatively small, preferably
+under ten instances, and opt for vertical scale over horizontal scale after
+meeting availability requirements.
+
+Coder's
+[validated architectures](../../admin/infrastructure/validated-architectures/index.md)
+give specific sizing recommendations for various user scales. These are a useful
+starting point, but very few deployments will remain stable at a predetermined
+user level over the long term. We recommend monitoring and adjusting resources as needed.
+
+We don't recommend that you autoscale the Coder Servers. Instead, scale the
+deployment for peak weekly usage.
+
+Although Coder Server persists no internal state, it operates as a proxy for end
+users to their workspaces in two capacities:
+
+1. As an HTTP proxy when they access workspace applications in their browser via
+the Coder Dashboard.
+
+1. As a DERP proxy when establishing tunneled connections with CLI tools like
+`coder ssh`, `coder port-forward`, and others, and with desktop IDEs.
+
+Stopping a Coder Server instance will (momentarily) disconnect any users
+currently connecting through that instance. Adding a new instance is not
+disruptive, but you should remove instances and perform upgrades during a
+maintenance window to minimize disruption.
+
+## Provisioner daemons
+
+### Locality
+
+We recommend that you run one or more
+[provisioner daemon deployments external to Coder Server](../../admin/provisioners.md)
+and disable provisioner daemons within your Coder Server.
+This allows you to scale them independently of the Coder Server:
+
+```yaml
+CODER_PROVISIONER_DAEMONS=0
+```
+
+We recommend deploying provisioner daemons within the same cluster as the
+workspaces they will provision or are hosted in.
+
+- This gives them a low-latency connection to the APIs they will use to
+ provision workspaces and can speed builds.
+
+- It allows provisioner daemons to use in-cluster mechanisms (for example
+ Kubernetes service account tokens, AWS IAM Roles, and others) to authenticate with
+ the infrastructure APIs.
+
+- If you deploy workspaces in multiple clusters, run multiple provisioner daemon
+ deployments and use template tags to select the correct set of provisioner
+ daemons.
+
+- Provisioner daemons need to be able to connect to Coder Server, but this does not need
+ to be a low-latency connection.
+
+Provisioner daemons make no direct connections to the PostgreSQL database, so
+there's no need for locality to the Postgres database.
+
+### Scaling
+
+Each provisioner daemon instance can handle a single workspace build job at a
+time. Therefore, the maximum number of simultaneous builds your Coder deployment
+can handle is equal to the number of provisioner daemon instances within a tagged
+deployment.
+
+If users experience unacceptably long queues for workspace builds to start,
+consider increasing the number of provisioner daemon instances in the affected
+cluster.
+
+You might need to automatically scale the number of provisioner daemon instances
+throughout the day to meet demand.
+
+If you stop instances with `SIGHUP`, they will complete their current build job
+and exit. `SIGINT` will cancel the current job, which will result in a failed build.
+Ensure your autoscaler waits long enough for your build jobs to complete before
+it kills the provisioner daemon process.
+
+If you deploy in Kubernetes, we recommend a single provisioner daemon per pod.
+On a virtual machine (VM), you can deploy multiple provisioner daemons, ensuring
+each has a unique `CODER_CACHE_DIRECTORY` value.
+
+Coder's
+[validated architectures](../../admin/infrastructure/validated-architectures/index.md)
+give specific sizing recommendations for various user scales. Since the
+complexity of builds varies significantly depending on the workspace template,
+consider this a starting point. Monitor queue times and build times and adjust
+the number and size of your provisioner daemon instances.
+
+## PostgreSQL
+
+PostgreSQL is the primary persistence layer for all of Coder's deployment data.
+We also use `LISTEN` and `NOTIFY` to coordinate between different instances of
+Coder Server.
+
+### Locality
+
+Coder Server instances must have low-latency connections (under 10ms) to
+PostgreSQL. If you use multiple PostgreSQL replicas in a clustered config, these
+must also be low-latency with respect to one another.
+
+### Scaling
+
+Prefer scaling PostgreSQL vertically rather than horizontally for best
+performance. Coder's
+[validated architectures](../../admin/infrastructure/validated-architectures/index.md)
+give specific sizing recommendations for various user scales.
+
+## Workspace proxies
+
+Workspace proxies proxy HTTP traffic from end users to workspaces for Coder apps
+defined in the templates, and HTTP ports opened by the workspace. By default
+they also include a DERP Proxy.
+
+### Locality
+
+We recommend each geographic cluster of workspaces have an associated deployment
+of workspace proxies. This ensures that users always have a near-optimal proxy
+path.
+
+### Scaling
+
+Workspace proxy load is determined by the amount of traffic they proxy.
+
+Monitor CPU, memory, and network I/O utilization to decide when to resize
+the number of proxy instances.
+
+Scale for peak demand and scale down or upgrade during a maintenance window.
+
+We do not recommend autoscaling the workspace proxies because many applications
+use long-lived connections such as websockets, which would be disrupted by
+stopping the proxy.
+
+## Workspaces
+
+Workspaces represent the vast majority of resources in most Coder deployments.
+Because they are defined by templates, there is no one-size-fits-all advice for
+scaling workspaces.
+
+### Hard and soft cluster limits
+
+All Infrastructure as a Service (IaaS) clusters have limits to what can be
+simultaneously provisioned. These could be hard limits, based on the physical
+size of the cluster, especially in the case of a private cloud, or soft limits,
+based on configured limits in your public cloud account.
+
+It is important to be aware of these limits and monitor Coder workspace resource
+utilization against the limits, so that a new influx of users don't encounter
+failed builds. Monitoring these is outside the scope of Coder, but we recommend
+that you set up dashboards and alerts for each kind of limited resource.
+
+As you approach soft limits, you can request limit increases to keep growing.
+
+As you approach hard limits, consider deploying to additional cluster(s).
+
+### Workspaces per node
+
+Many development workloads are "spiky" in their CPU and memory requirements, for
+example, they peak during build/test and then lower while editing code.
+This leads to an opportunity to efficiently use compute resources by packing multiple
+workspaces onto a single node. This can lead to better experience (more CPU and
+memory available during brief bursts) and lower cost.
+
+There are a number of things you should consider before you decide how many
+workspaces you should allow per node:
+
+- "Noisy neighbor" issues: Users share the node's CPU and memory resources and might
+be susceptible to a user or process consuming shared resources.
+
+- If the shared nodes are a provisioned resource, for example, Kubernetes nodes
+ running on VMs in a public cloud, then it can sometimes be a challenge to
+ effectively autoscale down.
+
+ - For example, if half the workspaces are stopped overnight, and there are ten
+ workspaces per node, it's unlikely that all ten workspaces on the node are
+ among the stopped ones.
+
+ - You can mitigate this by lowering the number of workspaces per node, or
+ using autostop policies to stop more workspaces during off-peak hours.
+
+- If you do overprovision workspaces onto nodes, keep them in a separate node
+ pool and schedule Coder control plane (Coder Server, PostgreSQL, workspace
+ proxies) components on a different node pool to avoid resource spikes
+ affecting them.
+
+Coder customers have had success with both:
+
+- One workspace per AWS VM
+- Lots of workspaces on Kubernetes nodes for efficiency
+
+### Cost control
+
+- Use quotas to discourage users from creating many workspaces they don't need
+ simultaneously.
+
+- Label workspace cloud resources by user, team, organization, or your own
+ labelling conventions to track usage at different granularities.
+
+- Use autostop requirements to bring off-peak utilization down.
+
+## Networking
+
+Set up your network so that most users can get direct, peer-to-peer connections
+to their workspaces. This drastically reduces the load on Coder Server and
+workspace proxy instances.
+
+## Next steps
+
+- [Scale Tests and Utilities](../../admin/infrastructure/scale-utility.md)
+- [Scale Testing](../../admin/infrastructure/scale-testing.md)
diff --git a/docs/tutorials/best-practices/security-best-practices.md b/docs/tutorials/best-practices/security-best-practices.md
new file mode 100644
index 0000000000000..7fc360616d302
--- /dev/null
+++ b/docs/tutorials/best-practices/security-best-practices.md
@@ -0,0 +1,502 @@
+# Security - best practices
+
+December 16, 2024
+
+---
+
+This best practices guide is separated into parts to help you secure aspects of
+your Coder deployment.
+
+Each section briefly introduces each threat model, then suggests steps or
+concepts to help implement security improvements such as authentication and
+encryption.
+
+As with any security guide, the steps and suggestions outlined in this document
+are not meant to be exhaustive and do not offer any guarantee.
+
+## Coder Server
+
+Coder Server is the main control core of a Coder deployment.
+
+If the Coder Server is compromised in a security incident, it can affect every
+other part of your deployment. Even a successful read-only attack against the
+Coder Server could result in a complete compromise of the Coder deployment if
+credentials are stolen.
+
+### User authentication
+
+Configure [OIDC authentication](../../admin/users/oidc-auth.md) against your
+organization’s Identity Provider (IdP), such as Okta, to allow single-sign on.
+
+1. Enable and require two-factor authentication in your identity provider.
+1. Enable [IdP Sync](../../admin/users/idp-sync.md) to manage users’ roles and
+ groups in Coder.
+1. Use SCIM to automatically suspend users when they leave the organization.
+
+This allows you to manage user credentials according to your company’s central
+requirements, such as password complexity, 2FA, PassKeys, and others.
+
+Using IdP sync and SCIM means that the central Identity Provider is the source
+of truth, so that when users change roles or leave, their permissions in Coder
+are automatically up to date.
+
+### Encryption in transit
+
+Place Coder behind a TLS-capable reverse-proxy/load balancer and enable
+[Strict Transport Security](../../reference/cli/server.md#--strict-transport-security)
+so that connections from end users are always encrypted.
+
+Enable [TLS](../../reference/cli/server.md#--tls-address) on Coder Server and
+encrypt traffic from the reverse-proxy/load balancer to Coder Server, so that
+even if an attacker gains access to your network, they will not be able to snoop
+on Coder Server traffic.
+
+### Encryption at rest
+
+Coder Server persists no state locally. No action is required.
+
+### Server logs and audit logs
+
+Capture the logging output of all Coder Server instances and persist them.
+
+Retain all logs for a minimum of thirty days, ideally ninety days. Filter audit
+logs (which have `msg: audit_log`) and retain them for a minimum of two years
+(ideally five years) in a secure system that resists tampering.
+
+If a security incident with Coder does occur, audit logs are invaluable in
+determining the nature and scope of the impact.
+
+## PostgreSQL
+
+PostgreSQL is the persistent datastore underlying the entire Coder deployment.
+If the database is compromised, it may leave every other part of your deployment
+vulnerable.
+
+Coder session tokens and API keys are salted and hashed, so a read-only
+compromise of the database is unlikely to allow an attacker to log into Coder.
+However, the database contains the Terraform state for all workspaces, OIDC
+tokens, and agent tokens, so it is possible that a read-only attack could enable
+lateral movement to other systems.
+
+A successful attack that modifies database state could be escalated to a full
+takeover of an owner account in Coder which could lead to a complete compromise
+of the Coder deployment.
+
+### Authentication
+
+1. Generate a strong, random password for accessing PostgreSQL and store it
+ securely.
+
+1. Use environment variables to pass the PostgreSQL URL to Coder.
+
+1. If on Kubernetes, use a Kubernetes secret to set the environment variable.
+
+### Encryption in transit
+
+Enable TLS on PostgreSQL and set `sslmode=verify-full` in your
+[postgres URL](../../reference/cli/server.md#--postgres-url) on Coder Server.
+This configures Coder Server to only establish TLS connections to PostgreSQL and
+check that the PostgreSQL server’s certificate is valid and matches the expected
+hostname.
+
+### Encryption at rest
+
+Run PostgreSQL on servers with full disk encryption enabled and configured.
+
+Coder supports
+[encrypting some particularly sensitive data](../../admin/security/database-encryption.md)
+including OIDC tokens using an encryption key managed independently of the
+database, so even a user with full administrative privileges on the PostgreSQL
+server(s) cannot read the data without the separate key.
+
+If you use this feature:
+
+1. Generate a random encryption key and store it in a central secrets management
+ system like Vault.
+
+1. Inject the secret using an environment variable.
+
+ - If you're using Kubernetes, use a Kubernetes secret rather than including
+ the secret directly in the podspec.
+
+1. Follow your organization's policies about key rotation on a fixed schedule.
+
+ - If you suspect the key has been leaked or compromised,
+ [rotate the key immediately](../../admin/security/database-encryption.md#rotating-keys).
+
+## Provisioner daemons
+
+Provisioner daemons are deployed with credentials that give them power to make
+requests to cluster/cloud APIs.
+
+If one of those credentials is compromised, the potential severity of the
+compromise depends on the permissions granted to the credentials, but will
+almost certainly include code execution inside the cluster/cloud since the whole
+purpose of Coder is to deploy workspaces in the cluster/cloud that can run
+developer code.
+
+In addition, provisioner daemons are given access to parameters entered by end
+users, which could include sensitive data like credentials for additional
+systems.
+
+### External provisioner daemons
+
+When Coder workspaces are deployed into multiple clusters/clouds, or workspaces
+are in a different cluster/cloud than the Coder Server, use external provisioner
+daemons.
+
+Running provisioner daemons within the same cluster/cloud as the workspaces they
+provision:
+
+- Allows you to use infrastructure-provided credentials (see **Authentication**
+ below) which are typically easier to manage and have shorter lifetimes than
+ credentials issued outside the cloud/cluster.
+- Means that you don’t have to open any ingress ports on the clusters/clouds
+ that host workspaces.
+ - The external provisioner daemons dial out to Coder Server.
+ - Provisioner daemons run in the cluster, so you don’t need to expose
+ cluster/cloud APIs externally.
+- Each cloud/cluster is isolated, so a compromise of a provisioner daemon is
+ limited to a single cluster.
+
+### Authentication
+
+1. Use a [scoped key](../../admin/provisioners.md#scoped-key-recommended) to
+ authenticate the provisioner daemons with Coder. These keys can only be used
+ to authenticate provisioner daemons (not other APIs on the Coder Server).
+
+1. Store the keys securely and use environment variables to pass them to the
+ provisioner daemon.
+
+1. If on Kubernetes, use a Kubernetes secret to set the environment variable.
+
+1. Tag provisioners with identifiers for the specific cluster/cloud.
+
+ This allows your templates to target a specific cluster/cloud such as for
+ geographic proximity to the end user, or for specific features like GPUs or
+ managed services.
+
+1. Scope your keys to organizations and the specific cluster/cloud using the
+ same tags when creating the keys.
+
+ This ensures that a compromised key will not allow an attacker to gain access
+ to jobs for other clusters or organizations.
+
+Provisioner daemons should have access only to cluster/cloud API credentials for
+the specific cluster/cloud they are for. This ensures that compromise of one
+Provisioner Daemon does not compromise all clusters/clouds.
+
+Deploy the provisioner daemon to the cloud and leverage infrastructure-provided
+credentials, if available:
+
+- [Service account tokens on Kubernetes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/)
+- [IAM roles for EC2 on AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)
+- [Attached service accounts on Google Cloud](https://cloud.google.com/iam/docs/attach-service-accounts)
+
+### Encryption in transit
+
+Enable TLS on Coder Server and ensure you use an `https://` URL to access the
+Coder Server.
+
+See the **Encryption in transit** subheading of the
+[Templates](#workspace-templates) section for more about encrypting
+cluster/cloud API calls.
+
+### Encryption at rest
+
+Run provisioner daemons only on systems with full disk encryption enabled.
+
+- Provisioner daemons temporarily persist terraform template files and resource
+ state to disk. Either of these could contain sensitive information, including
+ credentials.
+
+ This temporary state is on disk only while actively building workspaces, but
+ an attacker who compromises physical disks could successfully read this
+ information if not encrypted.
+
+- Provisioner daemons store cached copies of Terraform provider binaries. These
+ are generally not sensitive in terms of confidentiality, but it is important
+ to maintain their integrity. An attacker that can modify these binaries could
+ inject malicious code.
+
+## Workspace proxies
+
+Workspace proxies authenticate end users and then proxy network traffic to
+workspaces.
+
+Coder takes care to ensure the user credentials processed by workspace proxies
+are scoped to application access and do not grant full access to the Coder API
+on behalf of the user. Still, a fully compromised workspace proxy would be in a
+privileged position to phish unrestricted user credentials.
+
+Workspace proxies have unrestricted access to establish encrypted tunnels to
+workspaces and can access any port on any running workspace.
+
+### Authentication
+
+1. Securely store the workspace proxy token generated by
+ [`coder wsproxy create`](../../admin/networking/workspace-proxies.md#step-1-create-the-proxy).
+
+1. Inject the token to the workspace proxy process via an environment variable,
+ rather than via an argument.
+
+1. If on Kubernetes, use a Kubernetes secret to set the environment variable.
+
+### Encryption in transit
+
+Enable TLS on Coder Server and ensure you use an `https://` URL to access the
+Coder Server.
+
+Communication to the proxied workspace applications is always encrypted with
+Wireguard. No action is required.
+
+### Encryption at rest
+
+Workspace proxies persist no state locally. No action is required.
+
+## Workspace templates
+
+Coder templates are executed on provisioner daemons and can include arbitrary
+code via the
+[local-exec provisioner](https://developer.hashicorp.com/terraform/language/resources/provisioners/local-exec).
+
+Furthermore, Coder templates are designed to provision compute resources in one
+or more clusters/clouds, and template authors are generally in full control over
+code and scripts executed by the Coder agent in those compute resources.
+
+This means that template admins have remote code execution privileges for any
+provisioner daemons in their organization and within any cluster/cloud those
+provisioner daemons are credentialed to access.
+
+Template admin is a powerful, highly-trusted role that you should not assign
+lightly. Instead of directly assigning the role to anyone who might need to edit
+a template, use [GitOps](#gitops) to allow users to author and edit templates.
+
+## Secrets
+
+Never include credentials or any other secrets directly in templates, including
+in `.tfvars` or other files uploaded with the template.
+
+Instead do one of the following:
+
+- Store secrets in a central secrets manager.
+
+ - Access the secrets at build time via a Terraform provider.
+
+ This can be through
+ [Vault](https://registry.terraform.io/providers/hashicorp/vault/latest/docs)
+ or
+ [AWS Secrets Manager](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret).
+
+- Place secrets in `TF_VAR_*` environment variables.
+
+ - Provide the secrets to the relevant Provisioner Daemons and access them via
+ Terraform variables with `sensitive = true`.
+
+- Use Coder parameters to accept secrets from end users at build time.
+
+Coder does not attempt to obscure the contents of template files from users
+authorized to view and edit templates, so secrets included directly could
+inadvertently appear on screen while template authors do their work.
+
+Template versions are persisted indefinitely in the PostgreSQL database, so if
+secrets are inadvertently included, they should be revoked as soon as practical.
+Pushing a new template version does not expunge them from the database. Contact
+support if you need assistance expunging any particularly sensitive data.
+
+### Encryption in transit
+
+Always use encrypted transport to access any infrastructure APIs. Crucially,
+this protects confidentiality of the credentials used to access the APIs.
+
+Configuration of this depends on the specific Terraform providers in use and is
+beyond the scope of this document.
+
+### Encryption at rest
+
+While your most privileged secrets should never be included in template files,
+they may inevitably contain confidential or sensitive data about your operations
+and/or infrastructure.
+
+- Ensure that operators who write, review or modify Coder templates are working
+ on laptops/workstations with full disk encryption, or do their work inside a
+ Coder workspace with full disk encryption.
+- Ensure [PostgreSQL](#postgresql) is encrypted at rest.
+- Ensure any [source code repositories that store templates](#gitops) are
+ encrypted at rest and have appropriate access controls.
+
+### GitOps
+
+GitOps is the practice of using a Git repository as the source of truth for
+operational config and reconciling the config in Git with operational systems
+each time the `main` (or, archaically, `master`) branch of the repository is
+updated.
+
+1. Store Coder templates in a single Git repository, or a single repository per
+ Coder organization, and use the
+ [Coderd Terraform provider](https://registry.terraform.io/providers/coder/coderd/latest/docs/resources/template)
+ to push changes from the main branch to Coder using a CI/CD tool.
+
+ This gives you an easily browsable, auditable history of template changes and
+ who made them. Coder audit logs establish who and when changes happen, but
+ git repositories are particularly handy for analyzing exactly what changes to
+ templates are made.
+
+1. Use a Coder user account exclusively for the purpose of pushing template
+ changes and do not give any human users the credentials.
+
+ This ensures any actions taken by the account correspond exactly to CI/CD
+ actions from the repository and allows you to avoid granting the template
+ admin role widely in your organization.
+
+1. Use
+ [GitHub branch protection](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches),
+ or the equivalent for your source repository to enforce code review of
+ changes to templates.
+
+ Code review increases the chance that someone will catch a potential security
+ bug in your template.
+
+These protections also mitigate the risk of a single trusted insider “going
+rogue” and acting unilaterally to maliciously modify Coder templates.
+
+## Workspaces
+
+The central purpose of Coder is to give end users access to managed compute in
+clusters/clouds designated by Coder’s operators (like platform or developer
+experience teams). End users are granted shell access and from there can execute
+arbitrary commands.
+
+This means that end users have remote code execution privileges within the
+clusters/clouds that host Coder workspaces.
+
+It is important to limit Coder users to trusted insiders and/or take steps to
+constrain malicious activity that could be undertaken from a Coder workspace.
+
+Example constraints include:
+
+- Network policy or segmentation
+- Runtime protections on the workspace host (e.g. SELinux)
+- Limiting privileges of the account or role assigned to the workspace such as a
+ service account on Kubernetes, or IAM role on public clouds
+- Monitoring and/or auditing for suspicious activity such as cryptomining or
+ exfiltration
+
+### Outbound network access
+
+Identify network assets like production systems or highly confidential
+datastores and configure the network to limit access from Coder workspaces.
+
+If production systems or confidential data reside in the same cluster/cloud, use
+separate node pools and network boundaries.
+
+If extraordinary access is required, follow
+[Zero Trust](https://en.wikipedia.org/wiki/Zero_trust_security_model)
+principles:
+
+- Authenticate the user and the workspace using strong cryptography
+- Apply strict authorization controls
+- Audit access in a tamper resistant secure store
+
+Consider the network assets end users will need to do their job and the level of
+trust the company has with them. In-house full-time employees have different
+access than temporary contractors or third-party service providers. Restrict
+access as appropriate.
+
+A non-exclusive list of network assets to consider:
+
+- Access to the public Internet
+ - If end users will access the workspace over the public Internet, you must
+ allow outbound access to establish the encrypted tunnels.
+- Access to internal corporate networks
+ - If end users will access the workspace over the corporate network, you must
+ allow outbound access to establish the encrypted tunnels.
+- Access to staging or production systems
+- Access to confidential data (e.g. payment processing data, health records,
+ personally identifiable information)
+- Access to other clusters/clouds
+
+### Inbound network access
+
+Coder manages inbound network access to your workspaces via a set of Wireguard
+encrypted tunnels. These tunnels are established by sending outbound packets, so
+on stateful firewalls, disable inbound connections to workspaces to ensure
+inbound connections are handled exclusively by the encrypted tunnels.
+
+#### DERP
+
+[DERP](https://tailscale.com/kb/1232/derp-servers) is a relay protocol developed
+by Tailscale.
+
+Coder Server and Workspace Proxies include a DERP service by default. Tailcale
+also runs a set of public DERP servers, globally distributed.
+
+All DERP messages are end-to-end encrypted, so the DERP service only learns the
+(public) IP addresses of the participants.
+
+If you consider these addresses or the fact that pairs of them communicate over
+DERP to be sensitive, stick to the Coder-provided DERP services which run on
+your own infrastructure. If not, feel free to configure Tailscale DERP servers
+for global coverage.
+
+#### STUN
+
+[STUN](https://en.wikipedia.org/wiki/STUN) is an IETF standard protocol that
+allows network endpoints behind NAT to learn their public address and port
+mappings. It is an essential component of Coder’s networking to enable encrypted
+tunnels to be established without a relay for best performance.
+
+Coder does not ship with a STUN service because it needs to be run directly
+connected to the network, not behind a reverse proxy or load balancer as Coder
+usually is.
+
+STUN messages are not encrypted, but do not transmit any tunneled data, they
+simply query the public address and ports. As such, a STUN service learns the
+public address and port information such as the address and port on the NAT
+device of Coder workspaces and the end user's device if STUN is configured.
+
+Unlike DERP, it doesn’t definitively learn about communicating pairs of IPs.
+
+If you consider the public IP and port information to be sensitive, do not use
+public STUN servers.
+
+You may choose not to configure any STUN servers, in which case most workspace
+traffic will need to be relayed via DERP. You may choose to deploy your own STUN
+servers, either on the public Internet, or on your corporate network and
+[configure Coder to use it](../../reference/cli/server.md#--derp-server-stun-addresses).
+
+If you do not consider the addresses and ports to be sensitive, we recommend
+using the default set of STUN servers operated by Google.
+
+#### Workspace apps
+
+Coder workspace apps are a way to allow users to access web applications running
+in the workspace via the Coder Server or Workspace Proxy.
+
+1. [Disable workspace apps on sub-paths](../../reference/cli/server.md#--disable-path-apps)
+ of the main Coder domain name.
+
+1. [Use a separate, wildcard domain name](../../admin/setup/index.md#wildcard-access-url)
+ for forwarding.
+
+ Because of the default
+ [same-origin policy](https://en.wikipedia.org/wiki/Same-origin_policy) in
+ browsers, serving web apps on the main Coder domain would allow those apps to
+ send API requests to the Coder Server, authenticated as the logged-in user
+ without their explicit consent.
+
+#### Port sharing
+
+Coder supports the option to allow users to designate specific network ports on
+their workspace as shared, which allows others to access those ports via the
+Coder Server.
+
+Consider restricting the maximum sharing level for workspaces, located in the
+template settings for the corresponding template.
+
+### Encryption at rest
+
+Deploy Coder workspaces using full disk encryption for all volumes.
+
+This mitigates attempts to recover sensitive data in the workspace by attackers
+who gain physical access to the disk(s).
diff --git a/docs/tutorials/cloning-git-repositories.md b/docs/tutorials/cloning-git-repositories.md
index 3d3be2d37d659..30d93f4537238 100644
--- a/docs/tutorials/cloning-git-repositories.md
+++ b/docs/tutorials/cloning-git-repositories.md
@@ -4,7 +4,7 @@
Author:
Bruno Quaresma
-
+
August 06, 2024
diff --git a/docs/tutorials/configuring-okta.md b/docs/tutorials/configuring-okta.md
index d52c99a5a7974..b5e936e922a39 100644
--- a/docs/tutorials/configuring-okta.md
+++ b/docs/tutorials/configuring-okta.md
@@ -4,7 +4,7 @@