From fe34c79b0fcd4cbbb931164af0db611cfc0511d9 Mon Sep 17 00:00:00 2001 From: Edward Angert Date: Mon, 25 Nov 2024 16:51:34 -0500 Subject: [PATCH 01/81] disable prettier for docs md --- .prettierignore.include | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.prettierignore.include b/.prettierignore.include index b791f93042e9f..1689645b3ed52 100644 --- a/.prettierignore.include +++ b/.prettierignore.include @@ -12,3 +12,6 @@ testdata/ # Everything in site/ is formatted by Biome. For the rest of the repo though, we # need broader language support. site/ + +# Prettier messes up markdown alignment in the documentation +**/docs/*.md From 5d1429a256db3c3aec29377e4521d60e65a63a8c Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Mon, 25 Nov 2024 21:55:21 +0000 Subject: [PATCH 02/81] make fmt --- .prettierignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.prettierignore b/.prettierignore index 8b84ba3315e25..02ca1c4ce4bd8 100644 --- a/.prettierignore +++ b/.prettierignore @@ -94,3 +94,6 @@ testdata/ # Everything in site/ is formatted by Biome. For the rest of the repo though, we # need broader language support. site/ + +# Prettier messes up markdown alignment in the documentation +**/docs/*.md From a8b2217e682259c2b1a8bf1cbf56a0c8c2655eff Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Mon, 25 Nov 2024 21:59:09 +0000 Subject: [PATCH 03/81] fix md in jfrog-artifactory --- docs/admin/integrations/jfrog-artifactory.md | 161 +++++++++---------- 1 file changed, 80 insertions(+), 81 deletions(-) diff --git a/docs/admin/integrations/jfrog-artifactory.md b/docs/admin/integrations/jfrog-artifactory.md index 89a8ac99cf52e..868f7b6a8fe0c 100644 --- a/docs/admin/integrations/jfrog-artifactory.md +++ b/docs/admin/integrations/jfrog-artifactory.md @@ -31,7 +31,7 @@ by using our official Coder [modules](https://registry.coder.com). We publish two type of modules that automate the JFrog Artifactory and Coder integration. 1. [JFrog-OAuth](https://registry.coder.com/modules/jfrog-oauth) -2. [JFrog-Token](https://registry.coder.com/modules/jfrog-token) +1. [JFrog-Token](https://registry.coder.com/modules/jfrog-token) ### JFrog-OAuth @@ -45,70 +45,70 @@ To set this up, follow these steps: 1. Modify your Helm chart `values.yaml` for JFrog Artifactory to add, -```yaml -artifactory: - enabled: true - frontend: - extraEnvironmentVariables: - - name: JF_FRONTEND_FEATURETOGGLER_ACCESSINTEGRATION - value: "true" - access: - accessConfig: - integrations-enabled: true - integration-templates: - - id: "1" - name: "CODER" - redirect-uri: "https://CODER_URL/external-auth/jfrog/callback" - scope: "applied-permissions/user" -``` - -> Note Replace `CODER_URL` with your Coder deployment URL, e.g., -> - -2. Create a new Application Integration by going to + ```yaml + artifactory: + enabled: true + frontend: + extraEnvironmentVariables: + - name: JF_FRONTEND_FEATURETOGGLER_ACCESSINTEGRATION + value: "true" + access: + accessConfig: + integrations-enabled: true + integration-templates: + - id: "1" + name: "CODER" + redirect-uri: "https://CODER_URL/external-auth/jfrog/callback" + scope: "applied-permissions/user" + ``` + + > Note Replace `CODER_URL` with your Coder deployment URL, e.g., + > + +1. Create a new Application Integration by going to and select the Application Type as the integration you created in step 1. -![JFrog Platform new integration](../../images/guides/artifactory-integration/jfrog-oauth-app.png) + ![JFrog Platform new integration](../../images/guides/artifactory-integration/jfrog-oauth-app.png) -3. Add a new +1. Add a new [external authentication](https://coder.com/docs/admin/external-auth) to Coder by setting these env variables, -```env -# JFrog Artifactory External Auth -CODER_EXTERNAL_AUTH_1_ID="jfrog" -CODER_EXTERNAL_AUTH_1_TYPE="jfrog" -CODER_EXTERNAL_AUTH_1_CLIENT_ID="YYYYYYYYYYYYYYY" -CODER_EXTERNAL_AUTH_1_CLIENT_SECRET="XXXXXXXXXXXXXXXXXXX" -CODER_EXTERNAL_AUTH_1_DISPLAY_NAME="JFrog Artifactory" -CODER_EXTERNAL_AUTH_1_DISPLAY_ICON="/icon/jfrog.svg" -CODER_EXTERNAL_AUTH_1_AUTH_URL="https://JFROG_URL/ui/authorization" -CODER_EXTERNAL_AUTH_1_SCOPES="applied-permissions/user" -``` - -> Note Replace `JFROG_URL` with your JFrog Artifactory base URL, e.g., -> - -4. Create or edit a Coder template and use the + ```env + # JFrog Artifactory External Auth + CODER_EXTERNAL_AUTH_1_ID="jfrog" + CODER_EXTERNAL_AUTH_1_TYPE="jfrog" + CODER_EXTERNAL_AUTH_1_CLIENT_ID="YYYYYYYYYYYYYYY" + CODER_EXTERNAL_AUTH_1_CLIENT_SECRET="XXXXXXXXXXXXXXXXXXX" + CODER_EXTERNAL_AUTH_1_DISPLAY_NAME="JFrog Artifactory" + CODER_EXTERNAL_AUTH_1_DISPLAY_ICON="/icon/jfrog.svg" + CODER_EXTERNAL_AUTH_1_AUTH_URL="https://JFROG_URL/ui/authorization" + CODER_EXTERNAL_AUTH_1_SCOPES="applied-permissions/user" + ``` + + > Note Replace `JFROG_URL` with your JFrog Artifactory base URL, e.g., + > + +1. Create or edit a Coder template and use the [JFrog-OAuth](https://registry.coder.com/modules/jfrog-oauth) module to configure the integration. -```tf -module "jfrog" { - source = "registry.coder.com/modules/jfrog-oauth/coder" - version = "1.0.0" - agent_id = coder_agent.example.id - jfrog_url = "https://jfrog.example.com" - configure_code_server = true # this depends on the code-server - username_field = "username" # If you are using GitHub to login to both Coder and Artifactory, use username_field = "username" - package_managers = { - "npm": "npm", - "go": "go", - "pypi": "pypi" - } -} -``` + ```tf + module "jfrog" { + source = "registry.coder.com/modules/jfrog-oauth/coder" + version = "1.0.0" + agent_id = coder_agent.example.id + jfrog_url = "https://jfrog.example.com" + configure_code_server = true # this depends on the code-server + username_field = "username" # If you are using GitHub to login to both Coder and Artifactory, use username_field = "username" + package_managers = { + "npm": "npm", + "go": "go", + "pypi": "pypi" + } + } + ``` ### JFrog-Token @@ -123,37 +123,36 @@ To set this up, follow these steps: 1. Get a JFrog access token from your Artifactory instance. The token must be an [admin token](https://registry.terraform.io/providers/jfrog/artifactory/latest/docs#access-token) with scope `applied-permissions/admin`. -2. Create or edit a Coder template and use the +1. Create or edit a Coder template and use the [JFrog-Token](https://registry.coder.com/modules/jfrog-token) module to configure the integration and pass the admin token. It is recommended to store the token in a sensitive terraform variable to prevent it from being displayed in plain text in the terraform state. -```tf -variable "artifactory_access_token" { - type = string - sensitive = true -} - -module "jfrog" { - source = "registry.coder.com/modules/jfrog-token/coder" - version = "1.0.0" - agent_id = coder_agent.example.id - jfrog_url = "https://example.jfrog.io" - configure_code_server = true # this depends on the code-server - artifactory_access_token = var.artifactory_access_token - package_managers = { - "npm": "npm", - "go": "go", - "pypi": "pypi" - } -} -``` - -
-The admin-level access token is used to provision user tokens and is never exposed to -developers or stored in workspaces. -
+ ```tf + variable "artifactory_access_token" { + type = string + sensitive = true + } + + module "jfrog" { + source = "registry.coder.com/modules/jfrog-token/coder" + version = "1.0.0" + agent_id = coder_agent.example.id + jfrog_url = "https://example.jfrog.io" + configure_code_server = true # this depends on the code-server + artifactory_access_token = var.artifactory_access_token + package_managers = { + "npm": "npm", + "go": "go", + "pypi": "pypi" + } + } + ``` + +
+ The admin-level access token is used to provision user tokens and is never exposed to developers or stored in workspaces. +
If you do not want to use the official modules, you can check example template that uses Docker as the underlying compute From 819074c523e5d2add7b31f0b9a5d6de2bf2f2ce1 Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Thu, 5 Dec 2024 21:50:15 +0000 Subject: [PATCH 04/81] add markdownlint-cli2 and rules --- .../markdownlint-cli2/.markdownlint.json | 17 +++++++++++++++++ .github/workflows/ci.yaml | 7 +++++++ 2 files changed, 24 insertions(+) create mode 100644 .github/actions/markdownlint-cli2/.markdownlint.json diff --git a/.github/actions/markdownlint-cli2/.markdownlint.json b/.github/actions/markdownlint-cli2/.markdownlint.json new file mode 100644 index 0000000000000..5235392e242d2 --- /dev/null +++ b/.github/actions/markdownlint-cli2/.markdownlint.json @@ -0,0 +1,17 @@ +{ + "outputFormatters": [ + [ "markdownlint-cli2-formatter-pretty" ] + ], + "MD009": true, + "MD010": false, + "MD012": true, + "MD013": false, + "MD022": true, + "MD024": false, + "MD029": false, + "MD031": true, + "MD033": false, + "MD036": false, + "MD041": false, + "MD045": true +} diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6fb1ea68ed8cd..58f43fe7fdaa3 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -221,6 +221,13 @@ jobs: ./scripts/check_unstaged.sh shell: bash + - name: markdownlint-cli2-action + uses: DavidAnson/markdownlint-cli2-action@v18.0.0 + with: + config: '.github/actions/markdownlint-cli2-action/.markdownlint.json' + globs: 'docs/**/*.md' + fix: true + gen: timeout-minutes: 8 runs-on: ${{ github.repository_owner == 'coder' && 'depot-ubuntu-22.04-8' || 'ubuntu-latest' }} From 150fdef269b605590d33d5e9c860e8e4e1110a3c Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Thu, 5 Dec 2024 21:52:50 +0000 Subject: [PATCH 05/81] make fmt --- .../markdownlint-cli2/.markdownlint.json | 28 +++++++++---------- .github/workflows/ci.yaml | 4 +-- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/.github/actions/markdownlint-cli2/.markdownlint.json b/.github/actions/markdownlint-cli2/.markdownlint.json index 5235392e242d2..c6ebe37d6cfac 100644 --- a/.github/actions/markdownlint-cli2/.markdownlint.json +++ b/.github/actions/markdownlint-cli2/.markdownlint.json @@ -1,17 +1,15 @@ { - "outputFormatters": [ - [ "markdownlint-cli2-formatter-pretty" ] - ], - "MD009": true, - "MD010": false, - "MD012": true, - "MD013": false, - "MD022": true, - "MD024": false, - "MD029": false, - "MD031": true, - "MD033": false, - "MD036": false, - "MD041": false, - "MD045": true + "outputFormatters": [["markdownlint-cli2-formatter-pretty"]], + "MD009": true, + "MD010": false, + "MD012": true, + "MD013": false, + "MD022": true, + "MD024": false, + "MD029": false, + "MD031": true, + "MD033": false, + "MD036": false, + "MD041": false, + "MD045": true } diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 58f43fe7fdaa3..df1353a13cccd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -224,8 +224,8 @@ jobs: - name: markdownlint-cli2-action uses: DavidAnson/markdownlint-cli2-action@v18.0.0 with: - config: '.github/actions/markdownlint-cli2-action/.markdownlint.json' - globs: 'docs/**/*.md' + config: ".github/actions/markdownlint-cli2-action/.markdownlint.json" + globs: "docs/**/*.md" fix: true gen: From 4a1fb29dfdd60b3d56ebd3d23685da1ef162fc9d Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Thu, 5 Dec 2024 21:54:44 +0000 Subject: [PATCH 06/81] fix typo --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index df1353a13cccd..5c11755ac97f2 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -224,7 +224,7 @@ jobs: - name: markdownlint-cli2-action uses: DavidAnson/markdownlint-cli2-action@v18.0.0 with: - config: ".github/actions/markdownlint-cli2-action/.markdownlint.json" + config: ".github/actions/markdownlint-cli2/.markdownlint.json" globs: "docs/**/*.md" fix: true From acee64b2d0334104d5fe455d586b31426cbb8685 Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Thu, 5 Dec 2024 22:02:56 +0000 Subject: [PATCH 07/81] alt text to contributors --- docs/admin/integrations/island.md | 2 +- docs/admin/integrations/jfrog-artifactory.md | 2 +- docs/admin/integrations/jfrog-xray.md | 3 ++- docs/admin/integrations/vault.md | 3 ++- docs/tutorials/azure-federation.md | 2 +- docs/tutorials/gcp-to-aws.md | 2 +- docs/tutorials/image-pull-secret.md | 2 +- docs/tutorials/postgres-ssl.md | 2 +- docs/tutorials/testing-templates.md | 3 ++- 9 files changed, 12 insertions(+), 9 deletions(-) diff --git a/docs/admin/integrations/island.md b/docs/admin/integrations/island.md index 74cd449f4257f..157385376962a 100644 --- a/docs/admin/integrations/island.md +++ b/docs/admin/integrations/island.md @@ -3,7 +3,7 @@ April 24, 2024 diff --git a/docs/admin/integrations/jfrog-artifactory.md b/docs/admin/integrations/jfrog-artifactory.md index 868f7b6a8fe0c..4e4c41cfeb6b9 100644 --- a/docs/admin/integrations/jfrog-artifactory.md +++ b/docs/admin/integrations/jfrog-artifactory.md @@ -3,7 +3,7 @@ January 24, 2024 diff --git a/docs/admin/integrations/jfrog-xray.md b/docs/admin/integrations/jfrog-xray.md index 933bf2e475edd..3f4fcebcba681 100644 --- a/docs/admin/integrations/jfrog-xray.md +++ b/docs/admin/integrations/jfrog-xray.md @@ -3,7 +3,8 @@ March 17, 2024 diff --git a/docs/admin/integrations/vault.md b/docs/admin/integrations/vault.md index 4a75008f221cd..c1f126890e4f0 100644 --- a/docs/admin/integrations/vault.md +++ b/docs/admin/integrations/vault.md @@ -3,7 +3,8 @@ August 05, 2024 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/gcp-to-aws.md b/docs/tutorials/gcp-to-aws.md index 4c4821fbb2d14..318911a6db722 100644 --- a/docs/tutorials/gcp-to-aws.md +++ b/docs/tutorials/gcp-to-aws.md @@ -3,7 +3,7 @@ January 4, 2024 diff --git a/docs/tutorials/image-pull-secret.md b/docs/tutorials/image-pull-secret.md index 263d61bd061a7..2e2135e49d0c4 100644 --- a/docs/tutorials/image-pull-secret.md +++ b/docs/tutorials/image-pull-secret.md @@ -3,7 +3,7 @@ January 12, 2024 diff --git a/docs/tutorials/postgres-ssl.md b/docs/tutorials/postgres-ssl.md index f1934b60e907d..829a1d722dbb4 100644 --- a/docs/tutorials/postgres-ssl.md +++ b/docs/tutorials/postgres-ssl.md @@ -3,7 +3,7 @@ February 24, 2024 diff --git a/docs/tutorials/testing-templates.md b/docs/tutorials/testing-templates.md index c98852c7ae1f5..c3572286049e0 100644 --- a/docs/tutorials/testing-templates.md +++ b/docs/tutorials/testing-templates.md @@ -3,7 +3,8 @@ November 15, 2024 From 9109a7e7686e6db3b9609090c86518ed3e27bad0 Mon Sep 17 00:00:00 2001 From: Edward Angert Date: Fri, 6 Dec 2024 10:29:36 -0500 Subject: [PATCH 08/81] Apply suggestions from code review Co-authored-by: Muhammad Atif Ali --- .github/workflows/ci.yaml | 1 - .prettierignore | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5c11755ac97f2..cc177fb4320ca 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -226,7 +226,6 @@ jobs: with: config: ".github/actions/markdownlint-cli2/.markdownlint.json" globs: "docs/**/*.md" - fix: true gen: timeout-minutes: 8 diff --git a/.prettierignore b/.prettierignore index 02ca1c4ce4bd8..f829925fa2d2c 100644 --- a/.prettierignore +++ b/.prettierignore @@ -96,4 +96,4 @@ testdata/ site/ # Prettier messes up markdown alignment in the documentation -**/docs/*.md +/docs/*.md From a6b8f833a395e58f988565e54c7d78b9baa205af Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Fri, 6 Dec 2024 15:50:44 +0000 Subject: [PATCH 09/81] move action; remove output format --- .github/actions/{ => docs}/markdownlint-cli2/.markdownlint.json | 1 - .github/workflows/ci.yaml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) rename .github/actions/{ => docs}/markdownlint-cli2/.markdownlint.json (76%) diff --git a/.github/actions/markdownlint-cli2/.markdownlint.json b/.github/actions/docs/markdownlint-cli2/.markdownlint.json similarity index 76% rename from .github/actions/markdownlint-cli2/.markdownlint.json rename to .github/actions/docs/markdownlint-cli2/.markdownlint.json index c6ebe37d6cfac..564deaa640df5 100644 --- a/.github/actions/markdownlint-cli2/.markdownlint.json +++ b/.github/actions/docs/markdownlint-cli2/.markdownlint.json @@ -1,5 +1,4 @@ { - "outputFormatters": [["markdownlint-cli2-formatter-pretty"]], "MD009": true, "MD010": false, "MD012": true, diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cc177fb4320ca..2bc82ca4c2ad3 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -224,7 +224,7 @@ jobs: - name: markdownlint-cli2-action uses: DavidAnson/markdownlint-cli2-action@v18.0.0 with: - config: ".github/actions/markdownlint-cli2/.markdownlint.json" + config: ".github/actions/docs/markdownlint-cli2/.markdownlint.json" globs: "docs/**/*.md" gen: From 6e8aa6018fa279faf5810185e1a3df90474e9561 Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Fri, 6 Dec 2024 15:59:21 +0000 Subject: [PATCH 10/81] link fixes --- docs/admin/integrations/jfrog-artifactory.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/admin/integrations/jfrog-artifactory.md b/docs/admin/integrations/jfrog-artifactory.md index 4e4c41cfeb6b9..74200cf597f0b 100644 --- a/docs/admin/integrations/jfrog-artifactory.md +++ b/docs/admin/integrations/jfrog-artifactory.md @@ -37,9 +37,9 @@ two type of modules that automate the JFrog Artifactory and Coder integration. This module is usable by JFrog self-hosted (on-premises) Artifactory as it requires configuring a custom integration. This integration benefits from -Coder's [external-auth](https://coder.com/docs/admin/external-auth) feature and -allows each user to authenticate with Artifactory using an OAuth flow and issues -user-scoped tokens to each user. +Coder's [external-auth](../../admin/external-auth.md) feature and allows each +user to authenticate with Artifactory using an OAuth flow and issues user-scoped +tokens to each user. To set this up, follow these steps: @@ -71,9 +71,8 @@ To set this up, follow these steps: ![JFrog Platform new integration](../../images/guides/artifactory-integration/jfrog-oauth-app.png) -1. Add a new - [external authentication](https://coder.com/docs/admin/external-auth) to - Coder by setting these env variables, +1. Add a new [external authentication](../../admin/external-auth.md) to Coder by + setting these env variables, ```env # JFrog Artifactory External Auth From 9f14438b2d2efadebce6fab49dbb3a102722b9d0 Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Fri, 6 Dec 2024 18:09:51 +0000 Subject: [PATCH 11/81] fixes and ignore no-bare-urls --- .../docs/markdownlint-cli2/.markdownlint.json | 1 + docs/admin/external-auth.md | 2 +- docs/admin/monitoring/metrics.md | 2 +- docs/admin/monitoring/notifications/index.md | 29 +-- docs/admin/monitoring/notifications/teams.md | 218 +++++++++--------- docs/admin/networking/index.md | 4 +- docs/admin/networking/port-forwarding.md | 2 +- 7 files changed, 131 insertions(+), 127 deletions(-) diff --git a/.github/actions/docs/markdownlint-cli2/.markdownlint.json b/.github/actions/docs/markdownlint-cli2/.markdownlint.json index 564deaa640df5..97bc770de07bf 100644 --- a/.github/actions/docs/markdownlint-cli2/.markdownlint.json +++ b/.github/actions/docs/markdownlint-cli2/.markdownlint.json @@ -8,6 +8,7 @@ "MD029": false, "MD031": true, "MD033": false, + "MD034": false, "MD036": false, "MD041": false, "MD045": true diff --git a/docs/admin/external-auth.md b/docs/admin/external-auth.md index 51f11f53d2754..a3ea594cbaf9f 100644 --- a/docs/admin/external-auth.md +++ b/docs/admin/external-auth.md @@ -150,7 +150,7 @@ CODER_EXTERNAL_AUTH_0_AUTH_URL="https://gitea.com/login/oauth/authorize" ``` The Redirect URI for Gitea should be -https://coder.company.org/external-auth/gitea/callback +`https://coder.company.org/external-auth/gitea/callback`. ## Self-managed git providers diff --git a/docs/admin/monitoring/metrics.md b/docs/admin/monitoring/metrics.md index 167aa2237159b..5a30076f1db57 100644 --- a/docs/admin/monitoring/metrics.md +++ b/docs/admin/monitoring/metrics.md @@ -8,7 +8,7 @@ If you don't have an Prometheus server installed, you can follow the Prometheus [Getting started](https://prometheus.io/docs/prometheus/latest/getting_started/) guide. -### Setting up metrics +## Setting up metrics To set up metrics monitoring, please read our [Prometheus integration guide](../integrations/prometheus.md). The following diff --git a/docs/admin/monitoring/notifications/index.md b/docs/admin/monitoring/notifications/index.md index a9e6a87d78139..767882c2804e0 100644 --- a/docs/admin/monitoring/notifications/index.md +++ b/docs/admin/monitoring/notifications/index.md @@ -107,14 +107,14 @@ existing one. **TLS Settings:** -| Required | CLI | Env | Type | Description | Default | -| :------: | --------------------------- | ----------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -| - | `--email-force-tls` | `CODER_EMAIL_FORCE_TLS` | `bool` | Force a TLS connection to the configured SMTP smarthost. If port 465 is used, TLS will be forced. See https://datatracker.ietf.org/doc/html/rfc8314#section-3.3. | false | -| - | `--email-tls-starttls` | `CODER_EMAIL_TLS_STARTTLS` | `bool` | Enable STARTTLS to upgrade insecure SMTP connections using TLS. Ignored if `CODER_NOTIFICATIONS_EMAIL_FORCE_TLS` is set. | false | -| - | `--email-tls-skip-verify` | `CODER_EMAIL_TLS_SKIPVERIFY` | `bool` | Skip verification of the target server's certificate (**insecure**). | false | -| - | `--email-tls-server-name` | `CODER_EMAIL_TLS_SERVERNAME` | `string` | Server name to verify against the target certificate. | | -| - | `--email-tls-cert-file` | `CODER_EMAIL_TLS_CERTFILE` | `string` | Certificate file to use. | | -| - | `--email-tls-cert-key-file` | `CODER_EMAIL_TLS_CERTKEYFILE` | `string` | Certificate key file to use. | | +| Required | CLI | Env | Type | Description | Default | +| :------: | --------------------------- | ----------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | +| - | `--email-force-tls` | `CODER_EMAIL_FORCE_TLS` | `bool` | Force a TLS connection to the configured SMTP smarthost. If port 465 is used, TLS will be forced. See . | false | +| - | `--email-tls-starttls` | `CODER_EMAIL_TLS_STARTTLS` | `bool` | Enable STARTTLS to upgrade insecure SMTP connections using TLS. Ignored if `CODER_NOTIFICATIONS_EMAIL_FORCE_TLS` is set. | false | +| - | `--email-tls-skip-verify` | `CODER_EMAIL_TLS_SKIPVERIFY` | `bool` | Skip verification of the target server's certificate (**insecure**). | false | +| - | `--email-tls-server-name` | `CODER_EMAIL_TLS_SERVERNAME` | `string` | Server name to verify against the target certificate. | | +| - | `--email-tls-cert-file` | `CODER_EMAIL_TLS_CERTFILE` | `string` | Certificate file to use. | | +| - | `--email-tls-cert-key-file` | `CODER_EMAIL_TLS_CERTKEYFILE` | `string` | Certificate key file to use. | | **NOTE:** you _MUST_ use `CODER_EMAIL_FORCE_TLS` if your smarthost supports TLS on a port other than `465`. @@ -124,9 +124,11 @@ on a port other than `465`. After setting the required fields above: 1. Create an [App Password](https://myaccount.google.com/apppasswords) using the - account you wish to send from -2. Set the following configuration options: - ``` + account you wish to send from. + +1. Set the following configuration options: + + ```text CODER_EMAIL_SMARTHOST=smtp.gmail.com:465 CODER_EMAIL_AUTH_USERNAME=@ CODER_EMAIL_AUTH_PASSWORD="" @@ -141,8 +143,9 @@ for more options. After setting the required fields above: 1. Setup an account on Microsoft 365 or outlook.com -2. Set the following configuration options: - ``` +1. Set the following configuration options: + + ```text CODER_EMAIL_SMARTHOST=smtp-mail.outlook.com:587 CODER_EMAIL_TLS_STARTTLS=true CODER_EMAIL_AUTH_USERNAME=@ diff --git a/docs/admin/monitoring/notifications/teams.md b/docs/admin/monitoring/notifications/teams.md index bf913ac003ea2..3ee862d843a25 100644 --- a/docs/admin/monitoring/notifications/teams.md +++ b/docs/admin/monitoring/notifications/teams.md @@ -21,115 +21,115 @@ following: The process of setting up a Teams workflow consists of three key steps: -1. Configure the Webhook Trigger. - - Begin by configuring the trigger: **"When a Teams webhook request is - received"**. - - Ensure the trigger access level is set to **"Anyone"**. - -2. Setup the JSON Parsing Action. - - Next, add the **"Parse JSON"** action, linking the content to the **"Body"** - of the received webhook request. Use the following schema to parse the - notification payload: - - ```json - { - "type": "object", - "properties": { - "_version": { - "type": "string" - }, - "payload": { - "type": "object", - "properties": { - "_version": { - "type": "string" - }, - "user_email": { - "type": "string" - }, - "actions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": ["label", "url"] - } - } - } - }, - "title": { - "type": "string" - }, - "body": { - "type": "string" - } - } - } - ``` - - This action parses the notification's title, body, and the recipient's email - address. - -3. Configure the Adaptive Card Action. - - Finally, set up the **"Post Adaptive Card in a chat or channel"** action - with the following recommended settings: - - **Post as**: Flow Bot - - **Post in**: Chat with Flow Bot - - **Recipient**: `user_email` - - Use the following _Adaptive Card_ template: - - ```json - { - "$schema": "https://adaptivecards.io/schemas/adaptive-card.json", - "type": "AdaptiveCard", - "version": "1.0", - "body": [ - { - "type": "Image", - "url": "https://coder.com/coder-logo-horizontal.png", - "height": "40px", - "altText": "Coder", - "horizontalAlignment": "center" - }, - { - "type": "TextBlock", - "text": "**@{replace(body('Parse_JSON')?['title'], '"', '\"')}**" - }, - { - "type": "TextBlock", - "text": "@{replace(body('Parse_JSON')?['body'], '"', '\"')}", - "wrap": true - }, - { - "type": "ActionSet", - "actions": [@{replace(replace(join(body('Parse_JSON')?['payload']?['actions'], ','), '{', '{"type": "Action.OpenUrl",'), '"label"', '"title"')}] - } - ] - } - ``` - - _Notice_: The Coder `actions` format differs from the `ActionSet` schema, so - its properties need to be modified: include `Action.OpenUrl` type, rename - `label` to `title`. Unfortunately, there is no straightforward solution for - `for-each` pattern. - - Feel free to customize the payload to modify the logo, notification title, - or body content to suit your needs. +1. Configure the Webhook Trigger. + + Begin by configuring the trigger: **"When a Teams webhook request is + received"**. + + Ensure the trigger access level is set to **"Anyone"**. + +1. Setup the JSON Parsing Action. + + Add the **"Parse JSON"** action, linking the content to the **"Body"** of the + received webhook request. Use the following schema to parse the notification + payload: + + ```json + { + "type": "object", + "properties": { + "_version": { + "type": "string" + }, + "payload": { + "type": "object", + "properties": { + "_version": { + "type": "string" + }, + "user_email": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": ["label", "url"] + } + } + } + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + } + } + } + ``` + + This action parses the notification's title, body, and the recipient's email + address. + +1. Configure the Adaptive Card Action. + + Finally, set up the **"Post Adaptive Card in a chat or channel"** action with + the following recommended settings: + + **Post as**: Flow Bot + + **Post in**: Chat with Flow Bot + + **Recipient**: `user_email` + + Use the following _Adaptive Card_ template: + + ```json + { + "$schema": "https://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.0", + "body": [ + { + "type": "Image", + "url": "https://coder.com/coder-logo-horizontal.png", + "height": "40px", + "altText": "Coder", + "horizontalAlignment": "center" + }, + { + "type": "TextBlock", + "text": "**@{replace(body('Parse_JSON')?['title'], '"', '\"')}**" + }, + { + "type": "TextBlock", + "text": "@{replace(body('Parse_JSON')?['body'], '"', '\"')}", + "wrap": true + }, + { + "type": "ActionSet", + "actions": [@{replace(replace(join(body('Parse_JSON')?['payload']?['actions'], ','), '{', '{"type": "Action.OpenUrl",'), '"label"', '"title"')}] + } + ] + } + ``` + + _Notice_: The Coder `actions` format differs from the `ActionSet` schema, so + its properties need to be modified: include `Action.OpenUrl` type, rename + `label` to `title`. Unfortunately, there is no straightforward solution for + `for-each` pattern. + + Feel free to customize the payload to modify the logo, notification title, or + body content to suit your needs. ## Enable Webhook Integration diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index e93c83938c125..be3bf404eb7c9 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -133,7 +133,7 @@ However, Tailscale has graciously allowed us to use You can launch `coder server` with Tailscale's DERPs like so: ```bash -$ coder server --derp-config-url https://controlplane.tailscale.com/derpmap/default +coder server --derp-config-url https://controlplane.tailscale.com/derpmap/default ``` #### Custom Relays @@ -166,7 +166,7 @@ After you have custom DERP servers, you can launch Coder with them like so: ``` ```bash -$ coder server --derp-config-path derpmap.json +coder server --derp-config-path derpmap.json ``` ### Dashboard connections diff --git a/docs/admin/networking/port-forwarding.md b/docs/admin/networking/port-forwarding.md index 692f933658538..3a2ed52a83934 100644 --- a/docs/admin/networking/port-forwarding.md +++ b/docs/admin/networking/port-forwarding.md @@ -149,7 +149,7 @@ protocol configuration for each shared port individually. You can access any port on the workspace and can configure the port protocol manually by appending a `s` to the port in the URL. -``` +```text # Uses HTTP https://33295--agent--workspace--user--apps.example.com/ # Uses HTTPS From 40a94f19eda9375be1332d17dd3c36b1feb02aa9 Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Fri, 6 Dec 2024 18:48:11 +0000 Subject: [PATCH 12/81] md fixes --- docs/admin/networking/workspace-proxies.md | 8 ++++---- docs/admin/provisioners.md | 2 +- docs/admin/security/secrets.md | 10 ++++++---- .../templates/extending-templates/parameters.md | 2 +- .../templates/extending-templates/variables.md | 14 +++++++------- .../devcontainers/add-devcontainer.md | 4 ---- .../devcontainers/devcontainer-security-caching.md | 2 +- docs/changelogs/v0.25.0.md | 2 ++ 8 files changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/admin/networking/workspace-proxies.md b/docs/admin/networking/workspace-proxies.md index 03da5e142f7ce..288c9eab66f97 100644 --- a/docs/admin/networking/workspace-proxies.md +++ b/docs/admin/networking/workspace-proxies.md @@ -14,11 +14,11 @@ connecting with their workspace over SSH, a workspace app, port forwarding, etc. Dashboard connections and API calls (e.g. the workspaces list) are not served over workspace proxies. -# Deploy a workspace proxy +## Deploy a workspace proxy -Each workspace proxy should be a unique instance. At no point should 2 workspace -proxy instances share the same authentication token. They only require port 443 -to be open and are expected to have network connectivity to the coderd +Each workspace proxy should be a unique instance. At no point should two +workspace proxy instances share the same authentication token. They only require +port 443 to be open and are expected to have network connectivity to the coderd dashboard. Workspace proxies **do not** make any database connections. Workspace proxies can be used in the browser by navigating to the user diff --git a/docs/admin/provisioners.md b/docs/admin/provisioners.md index f0c8cc5186a21..0ffb6d3aa11ad 100644 --- a/docs/admin/provisioners.md +++ b/docs/admin/provisioners.md @@ -227,7 +227,7 @@ This is illustrated in the below table: > **Note to maintainers:** to generate this table, run the following command and > copy the output: > -> ``` +> ```go > go test -v -count=1 ./coderd/provisionerdserver/ -test.run='^TestAcquirer_MatchTags/GenTable$' > ``` diff --git a/docs/admin/security/secrets.md b/docs/admin/security/secrets.md index 6922e70847cf7..8a6723c380b6d 100644 --- a/docs/admin/security/secrets.md +++ b/docs/admin/security/secrets.md @@ -1,15 +1,17 @@ # Secrets -
+
+ This article explains how to use secrets in a workspace. To authenticate the -workspace provisioner, see this. +workspace provisioner, see the [provisioners](../provisioners.md) documentation. +
Coder is open-minded about how you get your secrets into your workspaces. -## Wait a minute... +## Before you begin -Your first stab at secrets with Coder should be your local method. You can do +Your first attempt at secrets with Coder should be your local method. You can do everything you can locally and more with your Coder workspace, so whatever workflow and tools you already use to manage secrets may be brought over. diff --git a/docs/admin/templates/extending-templates/parameters.md b/docs/admin/templates/extending-templates/parameters.md index 5ea82c0934b65..2c4801c08e82b 100644 --- a/docs/admin/templates/extending-templates/parameters.md +++ b/docs/admin/templates/extending-templates/parameters.md @@ -90,7 +90,7 @@ data "coder_parameter" "security_groups" { > For the above example, to override the default values of the `security_groups` > parameter, you will need to pass the following argument to `coder create`: > -> ``` +> ```shell > --parameter "\"security_groups=[\"\"DevOps Security Group\"\",\"\"Backend Security Group\"\"]\"" > ``` > diff --git a/docs/admin/templates/extending-templates/variables.md b/docs/admin/templates/extending-templates/variables.md index 69669892f6920..93910289c415a 100644 --- a/docs/admin/templates/extending-templates/variables.md +++ b/docs/admin/templates/extending-templates/variables.md @@ -53,15 +53,15 @@ variables, you can employ a straightforward solution: 1. Create a `terraform.tfvars` file in in the template directory: -```tf -coder_image = newimage:tag -``` + ```tf + coder_image = newimage:tag + ``` -2. Push the new template revision using Coder CLI: +1. Push the new template revision using Coder CLI: -``` -coder templates push my-template -y # no need to use --var -``` + ```shell + coder templates push my-template -y # no need to use --var + ``` This file serves as a mechanism to override the template settings for variables. It can be stored in the repository for easy access and reference. Coder CLI diff --git a/docs/admin/templates/managing-templates/devcontainers/add-devcontainer.md b/docs/admin/templates/managing-templates/devcontainers/add-devcontainer.md index 3d4a049b138e2..857f47d4ec66d 100644 --- a/docs/admin/templates/managing-templates/devcontainers/add-devcontainer.md +++ b/docs/admin/templates/managing-templates/devcontainers/add-devcontainer.md @@ -144,7 +144,3 @@ Lifecycle scripts are managed by project developers. ## Next steps - [Dev container security and caching](./devcontainer-security-caching.md) - -``` - -``` diff --git a/docs/admin/templates/managing-templates/devcontainers/devcontainer-security-caching.md b/docs/admin/templates/managing-templates/devcontainers/devcontainer-security-caching.md index bb56ff6a31e32..a0ae51624fc6d 100644 --- a/docs/admin/templates/managing-templates/devcontainers/devcontainer-security-caching.md +++ b/docs/admin/templates/managing-templates/devcontainers/devcontainer-security-caching.md @@ -3,7 +3,7 @@ Ensure Envbuilder can only pull pre-approved images and artifacts by configuring it with your existing HTTP proxies, firewalls, and artifact managers. -### Configure registry authentication +## Configure registry authentication You may need to authenticate to your container registry, such as Artifactory, or Git provider such as GitLab, to use Envbuilder. See the diff --git a/docs/changelogs/v0.25.0.md b/docs/changelogs/v0.25.0.md index 9aa1f6526b25d..caf51f917e342 100644 --- a/docs/changelogs/v0.25.0.md +++ b/docs/changelogs/v0.25.0.md @@ -23,9 +23,11 @@ [--block-direct-connections](https://coder.com/docs/cli/server#--block-direct-connections) (#7936) - Search for workspaces based on last activity (#2658) + ```text last_seen_before:"2023-01-14T23:59:59Z" last_seen_after:"2023-01-08T00:00:00Z" ``` + - Queue position of pending workspace builds are shown in the dashboard (#8244) Queue position - Enable Terraform debug mode via deployment configuration (#8260) From 43435a53927541b569e296079675c81314931307 Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Mon, 9 Dec 2024 21:47:11 +0000 Subject: [PATCH 13/81] add changed.yml --- .github/actions/docs/changed.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/actions/docs/changed.yml diff --git a/.github/actions/docs/changed.yml b/.github/actions/docs/changed.yml new file mode 100644 index 0000000000000..c8d309fdc47d5 --- /dev/null +++ b/.github/actions/docs/changed.yml @@ -0,0 +1,19 @@ +on: [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: tj-actions/changed-files@v45 + id: changed-files + with: + files: 'docs/**/*.md' + separator: "," + - uses: DavidAnson/markdownlint-cli2-action@v18 + if: steps.changed-files.outputs.any_changed == 'true' + with: + globs: ${{ steps.changed-files.outputs.all_changed_files }} + separator: "," From 1da5f236a128e52a97e6ec58cc50b109ccc13ddb Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Mon, 9 Dec 2024 21:57:35 +0000 Subject: [PATCH 14/81] md lint changed files --- .github/workflows/ci.yaml | 6 ------ .../{actions/docs/changed.yml => workflows/docs-pr.yaml} | 9 +++++++++ 2 files changed, 9 insertions(+), 6 deletions(-) rename .github/{actions/docs/changed.yml => workflows/docs-pr.yaml} (58%) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2bc82ca4c2ad3..6fb1ea68ed8cd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -221,12 +221,6 @@ jobs: ./scripts/check_unstaged.sh shell: bash - - name: markdownlint-cli2-action - uses: DavidAnson/markdownlint-cli2-action@v18.0.0 - with: - config: ".github/actions/docs/markdownlint-cli2/.markdownlint.json" - globs: "docs/**/*.md" - gen: timeout-minutes: 8 runs-on: ${{ github.repository_owner == 'coder' && 'depot-ubuntu-22.04-8' || 'ubuntu-latest' }} diff --git a/.github/actions/docs/changed.yml b/.github/workflows/docs-pr.yaml similarity index 58% rename from .github/actions/docs/changed.yml rename to .github/workflows/docs-pr.yaml index c8d309fdc47d5..e4ec73924b905 100644 --- a/.github/actions/docs/changed.yml +++ b/.github/workflows/docs-pr.yaml @@ -1,3 +1,7 @@ +# Filtering pull requests is much easier when we can reliably guarantee +# that the "Assignee" field is populated. +name: Docs markdown lint + on: [push, pull_request] jobs: @@ -17,3 +21,8 @@ jobs: with: globs: ${{ steps.changed-files.outputs.all_changed_files }} separator: "," + - name: markdownlint-cli2-action + uses: DavidAnson/markdownlint-cli2-action@v18.0.0 + with: + config: ".github/actions/docs/markdownlint-cli2/.markdownlint.json" + globs: "docs/**/*.md" From 59a92c9e94497a936169c913b4e446f790acc5bc Mon Sep 17 00:00:00 2001 From: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com> Date: Mon, 9 Dec 2024 22:02:19 +0000 Subject: [PATCH 15/81] remove redundancy from docs-pr.yaml --- .github/workflows/docs-pr.yaml | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/.github/workflows/docs-pr.yaml b/.github/workflows/docs-pr.yaml index e4ec73924b905..f10bb3a37d6f0 100644 --- a/.github/workflows/docs-pr.yaml +++ b/.github/workflows/docs-pr.yaml @@ -8,21 +8,17 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: tj-actions/changed-files@v45 - id: changed-files - with: - files: 'docs/**/*.md' - separator: "," - - uses: DavidAnson/markdownlint-cli2-action@v18 - if: steps.changed-files.outputs.any_changed == 'true' - with: - globs: ${{ steps.changed-files.outputs.all_changed_files }} - separator: "," - - name: markdownlint-cli2-action - uses: DavidAnson/markdownlint-cli2-action@v18.0.0 - with: - config: ".github/actions/docs/markdownlint-cli2/.markdownlint.json" - globs: "docs/**/*.md" + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: tj-actions/changed-files@v45 + id: changed-files + with: + files: "docs/**/*.md" + separator: "," + - uses: DavidAnson/markdownlint-cli2-action@v18 + if: steps.changed-files.outputs.any_changed == 'true' + with: + globs: ${{ steps.changed-files.outputs.all_changed_files }} + separator: "," + config: ".github/actions/docs/markdownlint-cli2/.markdownlint.json" From 34ca8cb667903d5679f15cd50646b42364f76027 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Tue, 10 Dec 2024 19:21:52 +0000 Subject: [PATCH 16/81] mdlinter ignore docs/reference --- .github/workflows/docs-pr.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docs-pr.yaml b/.github/workflows/docs-pr.yaml index f10bb3a37d6f0..d8bc3363b38a9 100644 --- a/.github/workflows/docs-pr.yaml +++ b/.github/workflows/docs-pr.yaml @@ -15,6 +15,7 @@ jobs: id: changed-files with: files: "docs/**/*.md" + files_ignore: "docs/reference/*.md" separator: "," - uses: DavidAnson/markdownlint-cli2-action@v18 if: steps.changed-files.outputs.any_changed == 'true' From 4dc14ea414c5881e08f3383f86b59200c4250c97 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Tue, 10 Dec 2024 19:24:41 +0000 Subject: [PATCH 17/81] fix errors --- docs/admin/monitoring/notifications/index.md | 2 +- docs/admin/networking/port-forwarding.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/admin/monitoring/notifications/index.md b/docs/admin/monitoring/notifications/index.md index 767882c2804e0..5c3e2c6074bd3 100644 --- a/docs/admin/monitoring/notifications/index.md +++ b/docs/admin/monitoring/notifications/index.md @@ -93,7 +93,7 @@ existing one. | Required | CLI | Env | Type | Description | Default | | :------: | ------------------- | ----------------------- | -------- | ----------------------------------------- | --------- | | ✔️ | `--email-from` | `CODER_EMAIL_FROM` | `string` | The sender's address to use. | | -| ✔️ | `--email-smarthost` | `CODER_EMAIL_SMARTHOST` | `string` | The SMTP relay to send messages | +| ✔️ | `--email-smarthost` | `CODER_EMAIL_SMARTHOST` | `string` | The SMTP relay to send messages | | | ✔️ | `--email-hello` | `CODER_EMAIL_HELLO` | `string` | The hostname identifying the SMTP server. | localhost | **Authentication Settings:** diff --git a/docs/admin/networking/port-forwarding.md b/docs/admin/networking/port-forwarding.md index 3a2ed52a83934..2d9a9a25d5047 100644 --- a/docs/admin/networking/port-forwarding.md +++ b/docs/admin/networking/port-forwarding.md @@ -183,7 +183,7 @@ following: Below is a list of the cross-origin headers Coder sets with example values: -``` +```text access-control-allow-credentials: true access-control-allow-methods: PUT access-control-allow-headers: X-Custom-Header From fcaa91733d51c76f007d1f508f6f0817b4f1bc70 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Wed, 11 Dec 2024 15:28:07 +0000 Subject: [PATCH 18/81] Integrate markdownlint and remove Prettier for docs - Replace Prettier with markdownlint for documentation formatting. - Rename `docs-pr.yaml` to `docs-lint.yaml` for clarity. - Adjust `Makefile` to use `fmt/biome` instead of `fmt/prettier`. - Remove `.prettierignore` and `.prettierignore.include` files. - Apply markdownlint formatting across relevant documentation files. --- .../{docs-pr.yaml => docs-lint.yaml} | 10 +- .prettierignore | 99 - .prettierignore.include | 17 - Makefile | 60 +- .../insights/testdata/insights-metrics.json | 22 +- .../testdata/agent-stats.json | 48 +- docs/changelogs/v2.1.1.md | 2 +- docs/changelogs/v2.1.5.md | 2 + docs/changelogs/v2.5.0.md | 2 +- docs/install/openshift.md | 14 +- docs/install/releases.md | 2 + docs/reference/api/agents.md | 706 +- docs/reference/api/applications.md | 20 +- docs/reference/api/audit.md | 140 +- docs/reference/api/authorization.md | 154 +- docs/reference/api/builds.md | 2680 +-- docs/reference/api/debug.md | 732 +- docs/reference/api/enterprise.md | 2937 +-- docs/reference/api/files.md | 31 +- docs/reference/api/general.md | 980 +- docs/reference/api/git.md | 130 +- docs/reference/api/index.md | 8 +- docs/reference/api/insights.md | 260 +- docs/reference/api/members.md | 1202 +- docs/reference/api/notifications.md | 178 +- docs/reference/api/organizations.md | 222 +- docs/reference/api/portsharing.md | 50 +- docs/reference/api/schemas.md | 14746 ++++++++-------- docs/reference/api/templates.md | 3552 ++-- docs/reference/api/users.md | 1042 +- docs/reference/api/workspaceproxies.md | 28 +- docs/reference/api/workspaces.md | 2658 +-- docs/reference/cli/autoupdate.md | 5 +- docs/reference/cli/completion.md | 9 +- docs/reference/cli/config-ssh.md | 59 +- docs/reference/cli/create.md | 67 +- docs/reference/cli/delete.md | 11 +- docs/reference/cli/dotfiles.md | 23 +- docs/reference/cli/external-auth.md | 5 +- .../cli/external-auth_access-token.md | 5 +- docs/reference/cli/favorite.md | 5 +- docs/reference/cli/features.md | 9 +- docs/reference/cli/features_list.md | 19 +- docs/reference/cli/groups.md | 11 +- docs/reference/cli/groups_create.md | 19 +- docs/reference/cli/groups_delete.md | 9 +- docs/reference/cli/groups_edit.md | 29 +- docs/reference/cli/groups_list.md | 23 +- docs/reference/cli/index.md | 155 +- docs/reference/cli/licenses.md | 13 +- docs/reference/cli/licenses_add.md | 13 +- docs/reference/cli/licenses_delete.md | 5 +- docs/reference/cli/licenses_list.md | 19 +- docs/reference/cli/list.md | 31 +- docs/reference/cli/login.md | 35 +- docs/reference/cli/logout.md | 5 +- docs/reference/cli/netcheck.md | 1 - docs/reference/cli/notifications.md | 9 +- docs/reference/cli/notifications_pause.md | 1 - docs/reference/cli/notifications_resume.md | 1 - docs/reference/cli/open.md | 5 +- docs/reference/cli/open_vscode.md | 7 +- docs/reference/cli/organizations.md | 27 +- docs/reference/cli/organizations_create.md | 5 +- docs/reference/cli/organizations_members.md | 15 +- .../cli/organizations_members_add.md | 1 - .../cli/organizations_members_edit-roles.md | 3 +- .../cli/organizations_members_list.md | 17 +- .../cli/organizations_members_remove.md | 3 +- docs/reference/cli/organizations_roles.md | 9 +- .../reference/cli/organizations_roles_edit.md | 29 +- .../reference/cli/organizations_roles_show.md | 17 +- docs/reference/cli/organizations_settings.md | 9 +- .../cli/organizations_settings_set.md | 9 +- .../organizations_settings_set_group-sync.md | 3 +- ...izations_settings_set_organization-sync.md | 7 +- .../organizations_settings_set_role-sync.md | 3 +- .../cli/organizations_settings_show.md | 9 +- .../organizations_settings_show_group-sync.md | 3 +- ...zations_settings_show_organization-sync.md | 7 +- .../organizations_settings_show_role-sync.md | 3 +- docs/reference/cli/organizations_show.md | 21 +- docs/reference/cli/ping.md | 21 +- docs/reference/cli/port-forward.md | 23 +- docs/reference/cli/provisioner.md | 9 +- docs/reference/cli/provisioner_keys.md | 13 +- docs/reference/cli/provisioner_keys_create.md | 13 +- docs/reference/cli/provisioner_keys_delete.md | 13 +- docs/reference/cli/provisioner_keys_list.md | 9 +- docs/reference/cli/provisioner_start.md | 107 +- docs/reference/cli/publickey.md | 11 +- docs/reference/cli/rename.md | 5 +- docs/reference/cli/reset-password.md | 7 +- docs/reference/cli/restart.md | 49 +- docs/reference/cli/schedule.md | 11 +- docs/reference/cli/schedule_override-stop.md | 1 - docs/reference/cli/schedule_show.md | 29 +- docs/reference/cli/schedule_start.md | 1 - docs/reference/cli/schedule_stop.md | 1 - docs/reference/cli/server.md | 1401 +- .../reference/cli/server_create-admin-user.md | 45 +- docs/reference/cli/server_dbcrypt.md | 11 +- docs/reference/cli/server_dbcrypt_decrypt.md | 25 +- docs/reference/cli/server_dbcrypt_delete.md | 21 +- docs/reference/cli/server_dbcrypt_rotate.md | 31 +- .../cli/server_postgres-builtin-serve.md | 5 +- .../cli/server_postgres-builtin-url.md | 5 +- docs/reference/cli/show.md | 1 - docs/reference/cli/speedtest.md | 41 +- docs/reference/cli/ssh.md | 73 +- docs/reference/cli/start.md | 49 +- docs/reference/cli/stat.md | 27 +- docs/reference/cli/stat_cpu.md | 13 +- docs/reference/cli/stat_disk.md | 25 +- docs/reference/cli/stat_mem.md | 21 +- docs/reference/cli/state.md | 7 +- docs/reference/cli/state_pull.md | 5 +- docs/reference/cli/state_push.md | 5 +- docs/reference/cli/stop.md | 5 +- docs/reference/cli/support.md | 5 +- docs/reference/cli/support_bundle.md | 17 +- docs/reference/cli/templates.md | 25 +- docs/reference/cli/templates_archive.md | 17 +- docs/reference/cli/templates_create.md | 91 +- docs/reference/cli/templates_delete.md | 13 +- docs/reference/cli/templates_edit.md | 115 +- docs/reference/cli/templates_init.md | 5 +- docs/reference/cli/templates_list.md | 19 +- docs/reference/cli/templates_pull.md | 23 +- docs/reference/cli/templates_push.md | 63 +- docs/reference/cli/templates_versions.md | 15 +- .../cli/templates_versions_archive.md | 13 +- docs/reference/cli/templates_versions_list.md | 27 +- .../cli/templates_versions_promote.md | 19 +- .../cli/templates_versions_unarchive.md | 13 +- docs/reference/cli/tokens.md | 9 +- docs/reference/cli/tokens_create.md | 19 +- docs/reference/cli/tokens_list.md | 23 +- docs/reference/cli/tokens_remove.md | 5 +- docs/reference/cli/unfavorite.md | 5 +- docs/reference/cli/update.md | 45 +- docs/reference/cli/users.md | 17 +- docs/reference/cli/users_activate.md | 13 +- docs/reference/cli/users_create.md | 27 +- docs/reference/cli/users_delete.md | 3 +- docs/reference/cli/users_list.md | 19 +- docs/reference/cli/users_show.md | 11 +- docs/reference/cli/users_suspend.md | 11 +- docs/reference/cli/version.md | 9 +- docs/reference/cli/whoami.md | 1 - docs/reference/index.md | 2 +- docs/start/screenshots.md | 2 +- docs/tutorials/cloning-git-repositories.md | 2 +- docs/tutorials/configuring-okta.md | 8 +- docs/tutorials/example-guide.md | 2 +- docs/tutorials/external-database.md | 6 +- docs/tutorials/faqs.md | 46 +- docs/tutorials/quickstart.md | 2 +- .../license/testdata/license-metrics.json | 6 +- examples/examples.gen.json | 85 +- package.json | 11 +- pnpm-lock.yaml | 17 +- .../calling-module/calling-module.tfplan.json | 515 +- .../calling-module.tfstate.json | 198 +- .../chaining-resources.tfplan.json | 410 +- .../chaining-resources.tfstate.json | 165 +- .../conflicting-resources.tfplan.json | 410 +- .../conflicting-resources.tfstate.json | 164 +- .../display-apps-disabled.tfplan.json | 406 +- .../display-apps-disabled.tfstate.json | 134 +- .../display-apps/display-apps.tfplan.json | 406 +- .../display-apps/display-apps.tfstate.json | 134 +- .../external-auth-providers.tfplan.json | 460 +- .../external-auth-providers.tfstate.json | 190 +- .../git-auth-providers.tfplan.json | 450 +- .../git-auth-providers.tfstate.json | 186 +- .../instance-id/instance-id.tfplan.json | 447 +- .../instance-id/instance-id.tfstate.json | 166 +- .../kubernetes-metadata.tfplan.json | 4117 ++--- .../kubernetes-metadata.tfstate.json | 2110 ++- .../mapped-apps/mapped-apps.tfplan.json | 642 +- .../mapped-apps/mapped-apps.tfstate.json | 254 +- .../multiple-agents-multiple-apps.tfplan.json | 1147 +- ...multiple-agents-multiple-apps.tfstate.json | 440 +- .../multiple-agents-multiple-envs.tfplan.json | 947 +- ...multiple-agents-multiple-envs.tfstate.json | 354 +- ...ltiple-agents-multiple-scripts.tfplan.json | 1049 +- ...tiple-agents-multiple-scripts.tfstate.json | 396 +- .../multiple-agents.tfplan.json | 928 +- .../multiple-agents.tfstate.json | 406 +- .../multiple-apps/multiple-apps.tfplan.json | 873 +- .../multiple-apps/multiple-apps.tfstate.json | 322 +- .../resource-metadata-duplicate.tfplan.json | 840 +- .../resource-metadata-duplicate.tfstate.json | 285 +- .../resource-metadata.tfplan.json | 749 +- .../resource-metadata.tfstate.json | 252 +- .../rich-parameters-order.tfplan.json | 542 +- .../rich-parameters-order.tfstate.json | 242 +- .../rich-parameters-validation.tfplan.json | 1096 +- .../rich-parameters-validation.tfstate.json | 568 +- .../rich-parameters.tfplan.json | 1583 +- .../rich-parameters.tfstate.json | 799 +- .../.markdownlint.json | 5 +- site/biome.json | 2 +- site/index.html | 92 +- site/package.json | 8 +- site/pnpm-lock.yaml | 133 +- site/static/error.html | 384 +- site/static/oauth2allow.html | 302 +- site/tsconfig.json | 2 +- site/tsconfig.test.json | 6 +- tailnet/testdata/tailscale_derpmap.json | 1392 +- 212 files changed, 32142 insertions(+), 32533 deletions(-) rename .github/workflows/{docs-pr.yaml => docs-lint.yaml} (69%) delete mode 100644 .prettierignore delete mode 100644 .prettierignore.include rename {.github/actions/docs/markdownlint-cli2 => site}/.markdownlint.json (75%) diff --git a/.github/workflows/docs-pr.yaml b/.github/workflows/docs-lint.yaml similarity index 69% rename from .github/workflows/docs-pr.yaml rename to .github/workflows/docs-lint.yaml index d8bc3363b38a9..9038dac39b2a0 100644 --- a/.github/workflows/docs-pr.yaml +++ b/.github/workflows/docs-lint.yaml @@ -17,9 +17,9 @@ jobs: files: "docs/**/*.md" files_ignore: "docs/reference/*.md" separator: "," - - uses: DavidAnson/markdownlint-cli2-action@v18 + - name: lint if: steps.changed-files.outputs.any_changed == 'true' - with: - globs: ${{ steps.changed-files.outputs.all_changed_files }} - separator: "," - config: ".github/actions/docs/markdownlint-cli2/.markdownlint.json" + run: | + cd site + ../scripts/pnpm_install.sh + pnpm exec markdownlint-cli2 --fix {{ steps.changed-files.outputs.all_changed_files }} diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index f829925fa2d2c..0000000000000 --- a/.prettierignore +++ /dev/null @@ -1,99 +0,0 @@ -# Code generated by Makefile (.gitignore .prettierignore.include). DO NOT EDIT. - -# .gitignore: -# Common ignore patterns, these rules applies in both root and subdirectories. -.DS_Store -.eslintcache -.gitpod.yml -.idea -**/*.swp -gotests.coverage -gotests.xml -gotests_stats.json -gotests.json -node_modules/ -vendor/ -yarn-error.log - -# VSCode settings. -**/.vscode/* -# Allow VSCode recommendations and default settings in project root. -!/.vscode/extensions.json -!/.vscode/settings.json -# Allow code snippets -!/.vscode/*.code-snippets - -# Front-end ignore patterns. -.next/ -site/build-storybook.log -site/coverage/ -site/storybook-static/ -site/test-results/* -site/e2e/test-results/* -site/e2e/states/*.json -site/e2e/.auth.json -site/playwright-report/* -site/.swc - -# Make target for updating golden files (any dir). -.gen-golden - -# Build -build/ -dist/ -out/ - -# Bundle analysis -site/stats/ - -*.tfstate -*.tfstate.backup -*.tfplan -*.lock.hcl -.terraform/ - -**/.coderv2/* -**/__debug_bin - -# direnv -.envrc -*.test - -# Loadtesting -./scaletest/terraform/.terraform -./scaletest/terraform/.terraform.lock.hcl -scaletest/terraform/secrets.tfvars -.terraform.tfstate.* - -# Nix -result - -# Data dumps from unit tests -**/*.test.sql - -# Filebrowser.db -**/filebrowser.db - -# pnpm -.pnpm-store/ - -# Zed -.zed_server -# .prettierignore.include: -# Helm templates contain variables that are invalid YAML and can't be formatted -# by Prettier. -helm/**/templates/*.yaml - -# Testdata shouldn't be formatted. -testdata/ - -# Ignore generated files -**/pnpm-lock.yaml -**/*.gen.json - -# Everything in site/ is formatted by Biome. For the rest of the repo though, we -# need broader language support. -site/ - -# Prettier messes up markdown alignment in the documentation -/docs/*.md diff --git a/.prettierignore.include b/.prettierignore.include deleted file mode 100644 index 1689645b3ed52..0000000000000 --- a/.prettierignore.include +++ /dev/null @@ -1,17 +0,0 @@ -# Helm templates contain variables that are invalid YAML and can't be formatted -# by Prettier. -helm/**/templates/*.yaml - -# Testdata shouldn't be formatted. -testdata/ - -# Ignore generated files -**/pnpm-lock.yaml -**/*.gen.json - -# Everything in site/ is formatted by Biome. For the rest of the repo though, we -# need broader language support. -site/ - -# Prettier messes up markdown alignment in the documentation -**/docs/*.md diff --git a/Makefile b/Makefile index 7a91b70d768bb..af018fadbe161 100644 --- a/Makefile +++ b/Makefile @@ -414,7 +414,7 @@ BOLD := $(shell tput bold 2>/dev/null) GREEN := $(shell tput setaf 2 2>/dev/null) RESET := $(shell tput sgr0 2>/dev/null) -fmt: fmt/ts fmt/go fmt/terraform fmt/shfmt fmt/prettier +fmt: fmt/ts fmt/go fmt/terraform fmt/shfmt fmt/biome .PHONY: fmt fmt/go: @@ -436,15 +436,16 @@ else endif .PHONY: fmt/ts -fmt/prettier: .prettierignore - echo "$(GREEN)==>$(RESET) $(BOLD)fmt/prettier$(RESET)" +fmt/biome: + echo "$(GREEN)==>$(RESET) $(BOLD)fmt/biome$(RESET)" + cd site # Avoid writing files in CI to reduce file write activity ifdef CI pnpm run format:check else pnpm run format endif -.PHONY: fmt/prettier +.PHONY: fmt/biome fmt/terraform: $(wildcard *.tf) echo "$(GREEN)==>$(RESET) $(BOLD)fmt/terraform$(RESET)" @@ -461,7 +462,7 @@ else endif .PHONY: fmt/shfmt -lint: lint/shellcheck lint/go lint/ts lint/examples lint/helm lint/site-icons +lint: lint/shellcheck lint/go lint/ts lint/examples lint/helm lint/site-icons lint/markdown .PHONY: lint lint/site-icons: @@ -495,6 +496,12 @@ lint/helm: make lint .PHONY: lint/helm +lint/markdown: + cd site + ../scripts/pnpm_install.sh + pnpm exec markdownlint-cli2 --fix ../docs/**/*.md +.PHONY: lint/markdown + # All files generated by the database should be added here, and this can be used # as a target for jobs that need to run after the database is generated. DB_GEN_FILES := \ @@ -530,8 +537,6 @@ gen: \ docs/reference/cli/index.md \ docs/admin/security/audit-logs.md \ coderd/apidoc/swagger.json \ - .prettierignore.include \ - .prettierignore \ provisioner/terraform/testdata/version \ site/e2e/provisionerGenerated.ts \ site/src/theme/icons.json \ @@ -560,8 +565,6 @@ gen/mark-fresh: docs/reference/cli/index.md \ docs/admin/security/audit-logs.md \ coderd/apidoc/swagger.json \ - .prettierignore.include \ - .prettierignore \ site/e2e/provisionerGenerated.ts \ site/src/theme/icons.json \ examples/examples.gen.json \ @@ -650,11 +653,15 @@ site/e2e/provisionerGenerated.ts: provisionerd/proto/provisionerd.pb.go provisio site/src/theme/icons.json: $(wildcard scripts/gensite/*) $(wildcard site/static/icon/*) go run ./scripts/gensite/ -icons "$@" - ./scripts/pnpm_install.sh - pnpm -C site/ exec biome format --write src/theme/icons.json + cd site + ../scripts/pnpm_install.sh + pnpm exec biome format --write src/theme/icons.json examples/examples.gen.json: scripts/examplegen/main.go examples/examples.go $(shell find ./examples/templates) go run ./scripts/examplegen/main.go > examples/examples.gen.json + cd site + ../scripts/pnpm_install.sh + pnpm exec biome format --write examples/examples.gen.json coderd/rbac/object_gen.go: scripts/typegen/rbacobject.gotmpl scripts/typegen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go go run scripts/typegen/main.go rbac object > coderd/rbac/object_gen.go @@ -673,23 +680,29 @@ site/src/api/countriesGenerated.ts: scripts/typegen/countries.tstmpl scripts/typ docs/admin/integrations/prometheus.md: scripts/metricsdocgen/main.go scripts/metricsdocgen/metrics go run scripts/metricsdocgen/main.go - ./scripts/pnpm_install.sh - pnpm exec prettier --write ./docs/admin/integrations/prometheus.md + cd site + ../scripts/pnpm_install.sh + pnpm exec markdownlint-cli2 --write ../docs/admin/integrations/prometheus.md docs/reference/cli/index.md: scripts/clidocgen/main.go examples/examples.gen.json $(GO_SRC_FILES) CI=true BASE_PATH="." go run ./scripts/clidocgen - ./scripts/pnpm_install.sh - pnpm exec prettier --write ./docs/reference/cli/index.md ./docs/reference/cli/*.md ./docs/manifest.json + cd site + ../scripts/pnpm_install.sh + pnpm exec markdownlint-cli2 --fix ../docs/reference/cli/index.md ../docs/reference/cli/*.md + pnpm exec biome format --write ../docs/manifest.json docs/admin/security/audit-logs.md: coderd/database/querier.go scripts/auditdocgen/main.go enterprise/audit/table.go coderd/rbac/object_gen.go go run scripts/auditdocgen/main.go - ./scripts/pnpm_install.sh - pnpm exec prettier --write ./docs/admin/security/audit-logs.md + cd site + ../scripts/pnpm_install.sh + pnpm exec markdownlint-cli2 --fix ../docs/admin/security/audit-logs.md coderd/apidoc/swagger.json: $(shell find ./scripts/apidocgen $(FIND_EXCLUSIONS) -type f) $(wildcard coderd/*.go) $(wildcard enterprise/coderd/*.go) $(wildcard codersdk/*.go) $(wildcard enterprise/wsproxy/wsproxysdk/*.go) $(DB_GEN_FILES) .swaggo docs/manifest.json coderd/rbac/object_gen.go ./scripts/apidocgen/generate.sh - ./scripts/pnpm_install.sh - pnpm exec prettier --write ./docs/reference/api ./docs/manifest.json ./coderd/apidoc/swagger.json + cd site + ../scripts/pnpm_install.sh + pnpm exec markdownlint-cli2 --fix ../docs/reference/api + pnpm exec biome format --write ../docs/manifest.json ../coderd/apidoc/swagger.json update-golden-files: \ cli/testdata/.gen-golden \ @@ -750,15 +763,6 @@ scripts/ci-report/testdata/.gen-golden: $(wildcard scripts/ci-report/testdata/*) go test ./scripts/ci-report -run=TestOutputMatchesGoldenFile -update touch "$@" -# Combine .gitignore with .prettierignore.include to generate .prettierignore. -.prettierignore: .gitignore .prettierignore.include - echo "# Code generated by Makefile ($^). DO NOT EDIT." > "$@" - echo "" >> "$@" - for f in $^; do - echo "# $${f}:" >> "$@" - cat "$$f" >> "$@" - done - test: $(GIT_FLAGS) gotestsum --format standard-quiet -- -v -short -count=1 ./... .PHONY: test diff --git a/coderd/prometheusmetrics/insights/testdata/insights-metrics.json b/coderd/prometheusmetrics/insights/testdata/insights-metrics.json index e672ed304ae2c..95221a6f5484a 100644 --- a/coderd/prometheusmetrics/insights/testdata/insights-metrics.json +++ b/coderd/prometheusmetrics/insights/testdata/insights-metrics.json @@ -1,13 +1,13 @@ { - "coderd_insights_applications_usage_seconds[application_name=JetBrains,slug=,template_name=golden-template]": 60, - "coderd_insights_applications_usage_seconds[application_name=Visual Studio Code,slug=,template_name=golden-template]": 60, - "coderd_insights_applications_usage_seconds[application_name=Web Terminal,slug=,template_name=golden-template]": 0, - "coderd_insights_applications_usage_seconds[application_name=SSH,slug=,template_name=golden-template]": 60, - "coderd_insights_applications_usage_seconds[application_name=Golden Slug,slug=golden-slug,template_name=golden-template]": 180, - "coderd_insights_parameters[parameter_name=first_parameter,parameter_type=string,parameter_value=Foobar,template_name=golden-template]": 1, - "coderd_insights_parameters[parameter_name=first_parameter,parameter_type=string,parameter_value=Baz,template_name=golden-template]": 1, - "coderd_insights_parameters[parameter_name=second_parameter,parameter_type=bool,parameter_value=true,template_name=golden-template]": 2, - "coderd_insights_parameters[parameter_name=third_parameter,parameter_type=number,parameter_value=789,template_name=golden-template]": 1, - "coderd_insights_parameters[parameter_name=third_parameter,parameter_type=number,parameter_value=999,template_name=golden-template]": 1, - "coderd_insights_templates_active_users[template_name=golden-template]": 1 + "coderd_insights_applications_usage_seconds[application_name=JetBrains,slug=,template_name=golden-template]": 60, + "coderd_insights_applications_usage_seconds[application_name=Visual Studio Code,slug=,template_name=golden-template]": 60, + "coderd_insights_applications_usage_seconds[application_name=Web Terminal,slug=,template_name=golden-template]": 0, + "coderd_insights_applications_usage_seconds[application_name=SSH,slug=,template_name=golden-template]": 60, + "coderd_insights_applications_usage_seconds[application_name=Golden Slug,slug=golden-slug,template_name=golden-template]": 180, + "coderd_insights_parameters[parameter_name=first_parameter,parameter_type=string,parameter_value=Foobar,template_name=golden-template]": 1, + "coderd_insights_parameters[parameter_name=first_parameter,parameter_type=string,parameter_value=Baz,template_name=golden-template]": 1, + "coderd_insights_parameters[parameter_name=second_parameter,parameter_type=bool,parameter_value=true,template_name=golden-template]": 2, + "coderd_insights_parameters[parameter_name=third_parameter,parameter_type=number,parameter_value=789,template_name=golden-template]": 1, + "coderd_insights_parameters[parameter_name=third_parameter,parameter_type=number,parameter_value=999,template_name=golden-template]": 1, + "coderd_insights_templates_active_users[template_name=golden-template]": 1 } diff --git a/coderd/prometheusmetrics/testdata/agent-stats.json b/coderd/prometheusmetrics/testdata/agent-stats.json index 92c9f80c5200b..ad93df3079919 100644 --- a/coderd/prometheusmetrics/testdata/agent-stats.json +++ b/coderd/prometheusmetrics/testdata/agent-stats.json @@ -1,26 +1,26 @@ { - "testuser:workspace-1:example:coderd_agentstats_connection_count": 9, - "testuser:workspace-1:example:coderd_agentstats_connection_median_latency_seconds": 8, - "testuser:workspace-1:example:coderd_agentstats_rx_bytes": 9, - "testuser:workspace-1:example:coderd_agentstats_session_count_jetbrains": 6, - "testuser:workspace-1:example:coderd_agentstats_session_count_reconnecting_pty": 7, - "testuser:workspace-1:example:coderd_agentstats_session_count_ssh": 8, - "testuser:workspace-1:example:coderd_agentstats_session_count_vscode": 5, - "testuser:workspace-1:example:coderd_agentstats_tx_bytes": 6, - "testuser:workspace-2:example:coderd_agentstats_connection_count": 10, - "testuser:workspace-2:example:coderd_agentstats_connection_median_latency_seconds": 10, - "testuser:workspace-2:example:coderd_agentstats_rx_bytes": 15, - "testuser:workspace-2:example:coderd_agentstats_session_count_jetbrains": 10, - "testuser:workspace-2:example:coderd_agentstats_session_count_reconnecting_pty": 12, - "testuser:workspace-2:example:coderd_agentstats_session_count_ssh": 14, - "testuser:workspace-2:example:coderd_agentstats_session_count_vscode": 8, - "testuser:workspace-2:example:coderd_agentstats_tx_bytes": 9, - "testuser:workspace-3:example:coderd_agentstats_connection_count": 11, - "testuser:workspace-3:example:coderd_agentstats_connection_median_latency_seconds": 12, - "testuser:workspace-3:example:coderd_agentstats_rx_bytes": 21, - "testuser:workspace-3:example:coderd_agentstats_session_count_jetbrains": 16, - "testuser:workspace-3:example:coderd_agentstats_session_count_reconnecting_pty": 18, - "testuser:workspace-3:example:coderd_agentstats_session_count_ssh": 20, - "testuser:workspace-3:example:coderd_agentstats_session_count_vscode": 14, - "testuser:workspace-3:example:coderd_agentstats_tx_bytes": 12 + "testuser:workspace-1:example:coderd_agentstats_connection_count": 9, + "testuser:workspace-1:example:coderd_agentstats_connection_median_latency_seconds": 8, + "testuser:workspace-1:example:coderd_agentstats_rx_bytes": 9, + "testuser:workspace-1:example:coderd_agentstats_session_count_jetbrains": 6, + "testuser:workspace-1:example:coderd_agentstats_session_count_reconnecting_pty": 7, + "testuser:workspace-1:example:coderd_agentstats_session_count_ssh": 8, + "testuser:workspace-1:example:coderd_agentstats_session_count_vscode": 5, + "testuser:workspace-1:example:coderd_agentstats_tx_bytes": 6, + "testuser:workspace-2:example:coderd_agentstats_connection_count": 10, + "testuser:workspace-2:example:coderd_agentstats_connection_median_latency_seconds": 10, + "testuser:workspace-2:example:coderd_agentstats_rx_bytes": 15, + "testuser:workspace-2:example:coderd_agentstats_session_count_jetbrains": 10, + "testuser:workspace-2:example:coderd_agentstats_session_count_reconnecting_pty": 12, + "testuser:workspace-2:example:coderd_agentstats_session_count_ssh": 14, + "testuser:workspace-2:example:coderd_agentstats_session_count_vscode": 8, + "testuser:workspace-2:example:coderd_agentstats_tx_bytes": 9, + "testuser:workspace-3:example:coderd_agentstats_connection_count": 11, + "testuser:workspace-3:example:coderd_agentstats_connection_median_latency_seconds": 12, + "testuser:workspace-3:example:coderd_agentstats_rx_bytes": 21, + "testuser:workspace-3:example:coderd_agentstats_session_count_jetbrains": 16, + "testuser:workspace-3:example:coderd_agentstats_session_count_reconnecting_pty": 18, + "testuser:workspace-3:example:coderd_agentstats_session_count_ssh": 20, + "testuser:workspace-3:example:coderd_agentstats_session_count_vscode": 14, + "testuser:workspace-3:example:coderd_agentstats_tx_bytes": 12 } diff --git a/docs/changelogs/v2.1.1.md b/docs/changelogs/v2.1.1.md index e948046bcbf24..f1b7bf2c26440 100644 --- a/docs/changelogs/v2.1.1.md +++ b/docs/changelogs/v2.1.1.md @@ -7,7 +7,7 @@ ![Last used](https://user-images.githubusercontent.com/22407953/262407146-06cded4e-684e-4cff-86b7-4388270e7d03.png) > You can use `last_used_before` and `last_used_after` in the workspaces > search with [RFC3339Nano](https://www.rfc-editor.org/rfc/rfc3339) datetime -- Add `daily_cost`` to `coder ls` to show +- Add `daily_cost`` to`coder ls` to show [quota](https://coder.com/docs/admin/quotas) consumption (#9200) (@ammario) - Added `coder_app` usage to template insights (#9138) (@mafredri) diff --git a/docs/changelogs/v2.1.5.md b/docs/changelogs/v2.1.5.md index f23eff4b67b25..1e440bd97e75a 100644 --- a/docs/changelogs/v2.1.5.md +++ b/docs/changelogs/v2.1.5.md @@ -17,11 +17,13 @@ [display apps](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent#nested-schema-for-display_apps) in your template, such as VS Code (Insiders), web terminal, SSH, etc. (#9100) (@sreya) To add VS Code insiders into your template, you can set: + ```tf display_apps { vscode_insiders = true } ``` + ![Add insiders](https://user-images.githubusercontent.com/4856196/263852602-94a5cb56-b7c3-48cb-928a-3b5e0f4e964b.png) - Create a workspace from any template version (#9471) (@aslilac) - Add DataDog Go tracer (#9411) (@ammario) diff --git a/docs/changelogs/v2.5.0.md b/docs/changelogs/v2.5.0.md index a31731b7e7cc4..75a10b34538c9 100644 --- a/docs/changelogs/v2.5.0.md +++ b/docs/changelogs/v2.5.0.md @@ -92,7 +92,7 @@ ### Documentation - Align CODER_HTTP_ADDRESS with document (#10779) (@JounQin) -- Migrate all deprecated `CODER_ADDRESS `to `CODER_HTTP_ADDRESS` (#10780) (@JounQin) +- Migrate all deprecated `CODER_ADDRESS`to `CODER_HTTP_ADDRESS` (#10780) (@JounQin) - Add documentation for template update policies (experimental) (#10804) (@sreya) - Fix typo in additional-clusters.md (#10868) (@bpmct) - Update FE guide (#10942) (@BrunoQuaresma) diff --git a/docs/install/openshift.md b/docs/install/openshift.md index 88c117d5eef30..ed58410a58cb7 100644 --- a/docs/install/openshift.md +++ b/docs/install/openshift.md @@ -46,13 +46,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' - { - "openshift.io/sa.scc.supplemental-groups": "1000680000/10000", - "openshift.io/sa.scc.uid-range": "1000680000/10000" - } - ``` + ```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/releases.md b/docs/install/releases.md index c64be7405bb32..12f687329f452 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 diff --git a/docs/reference/api/agents.md b/docs/reference/api/agents.md index 6ccffeb82305d..2440cc94fb6dc 100644 --- a/docs/reference/api/agents.md +++ b/docs/reference/api/agents.md @@ -14,9 +14,9 @@ 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 | | +|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). @@ -34,9 +34,9 @@ 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 | | +|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,16 +58,16 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.AWSInstanceIdentityToken](schemas.md#agentsdkawsinstanceidentitytoken)|true|Instance identity token| ### Example responses @@ -75,15 +75,15 @@ 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) | +|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,16 +105,16 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.AzureInstanceIdentityToken](schemas.md#agentsdkazureinstanceidentitytoken)|true|Instance identity token| ### Example responses @@ -122,15 +122,15 @@ 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) | +|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,15 +152,15 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.GoogleInstanceIdentityToken](schemas.md#agentsdkgoogleinstanceidentitytoken)|true|Instance identity token| ### Example responses @@ -168,15 +168,15 @@ 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) | +|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). @@ -195,11 +195,11 @@ 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 | +|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| ### Example responses @@ -207,20 +207,20 @@ 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) | +|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). @@ -239,11 +239,11 @@ 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 | +|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| ### Example responses @@ -251,20 +251,20 @@ 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) | +|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,16 +287,16 @@ 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) | +|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,17 +318,17 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.PostLogSourceRequest](schemas.md#agentsdkpostlogsourcerequest)|true|Log source request| ### Example responses @@ -336,19 +336,19 @@ 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) | +|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,22 +370,22 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.PatchLogs](schemas.md#agentsdkpatchlogs)|true|logs| ### Example responses @@ -393,22 +393,22 @@ 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) | +|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). @@ -427,9 +427,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| ### Example responses @@ -437,102 +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", + "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) | +|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). @@ -551,9 +555,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| ### Example responses @@ -561,75 +565,75 @@ 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) | +|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). @@ -647,15 +651,15 @@ 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 | +|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 | | +|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). @@ -674,9 +678,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| ### Example responses @@ -684,21 +688,21 @@ 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) | +|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). @@ -717,13 +721,13 @@ 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 | -| `follow` | query | boolean | false | Follow log stream | -| `no_compression` | query | boolean | false | Disable compression for WebSocket connection | +|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| +|`follow`|query|boolean|false|Follow log stream| +|`no_compression`|query|boolean|false|Disable compression for WebSocket connection| ### Example responses @@ -731,44 +735,44 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | ------------------------------------------------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» output` | string | false | | | -| `» source_id` | string(uuid) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» output`|string|false||| +|`» source_id`|string(uuid)|false||| #### Enumerated Values -| Property | Value | -| -------- | ------- | -| `level` | `trace` | -| `level` | `debug` | -| `level` | `info` | -| `level` | `warn` | -| `level` | `error` | +|Property|Value| +|---|---| +|`level`|`trace`| +|`level`|`debug`| +|`level`|`info`| +|`level`|`warn`| +|`level`|`error`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -786,15 +790,15 @@ 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 | +|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 | | +|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). @@ -813,13 +817,13 @@ 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 | -| `follow` | query | boolean | false | Follow log stream | -| `no_compression` | query | boolean | false | Disable compression for WebSocket connection | +|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| +|`follow`|query|boolean|false|Follow log stream| +|`no_compression`|query|boolean|false|Disable compression for WebSocket connection| ### Example responses @@ -827,43 +831,43 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | ------------------------------------------------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» output` | string | false | | | -| `» source_id` | string(uuid) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» output`|string|false||| +|`» source_id`|string(uuid)|false||| #### Enumerated Values -| Property | Value | -| -------- | ------- | -| `level` | `trace` | -| `level` | `debug` | -| `level` | `info` | -| `level` | `warn` | -| `level` | `error` | +|Property|Value| +|---|---| +|`level`|`trace`| +|`level`|`debug`| +|`level`|`info`| +|`level`|`warn`| +|`level`|`error`| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/applications.md b/docs/reference/api/applications.md index ce84a41438f87..789c33892047e 100644 --- a/docs/reference/api/applications.md +++ b/docs/reference/api/applications.md @@ -14,15 +14,15 @@ 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 | +|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 | | +|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) | +|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..8f770b4200627 100644 --- a/docs/reference/api/audit.md +++ b/docs/reference/api/audit.md @@ -15,11 +15,11 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`q`|query|string|false|Search query| +|`limit`|query|integer|true|Page limit| +|`offset`|query|integer|false|Page offset| ### Example responses @@ -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) | +|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..34d5cf38664ca 100644 --- a/docs/reference/api/authorization.md +++ b/docs/reference/api/authorization.md @@ -18,36 +18,36 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.AuthorizationRequest](schemas.md#codersdkauthorizationrequest)|true|Authorization request| ### Example responses @@ -55,16 +55,16 @@ 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) | +|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,16 +85,16 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.LoginWithPasswordRequest](schemas.md#codersdkloginwithpasswordrequest)|true|Login request| ### Example responses @@ -102,15 +102,15 @@ 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) | +|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,23 +128,23 @@ 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 | +|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 | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| ## Request one-time passcode @@ -162,21 +162,21 @@ 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 | +|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 | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| ## Validate user password @@ -196,15 +196,15 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.ValidateUserPasswordRequest](schemas.md#codersdkvalidateuserpasswordrequest)|true|Validate user password request| ### Example responses @@ -212,16 +212,16 @@ 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) | +|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,17 +243,17 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.ConvertLoginRequest](schemas.md#codersdkconvertloginrequest)|true|Convert request| ### Example responses @@ -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) | +|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 1cbe384df8778..f6f0a5356987f 100644 --- a/docs/reference/api/builds.md +++ b/docs/reference/api/builds.md @@ -15,11 +15,11 @@ 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 | +|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| ### Example responses @@ -27,168 +27,172 @@ 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" - }, - "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", - "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": { + "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" + }, + "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" } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) | +|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). @@ -207,9 +211,9 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild} \ ### Parameters -| Name | In | Type | Required | Description | -| ---------------- | ---- | ------ | -------- | ------------------ | -| `workspacebuild` | path | string | true | Workspace build ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| ### Example responses @@ -217,168 +221,172 @@ 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" - }, - "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", - "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": { + "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" + }, + "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" } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) | +|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). @@ -397,9 +405,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| ### Example responses @@ -407,22 +415,22 @@ 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) | +|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). @@ -441,12 +449,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 Unix timestamp| +|`after`|query|integer|false|After Unix timestamp| +|`follow`|query|boolean|false|Follow log stream| ### Example responses @@ -454,48 +462,48 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | -------------------------------------------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» log_level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» log_source` | [codersdk.LogSource](schemas.md#codersdklogsource) | false | | | -| `» output` | string | false | | | -| `» stage` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» log_level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» log_source`|[codersdk.LogSource](schemas.md#codersdklogsource)|false||| +|`» output`|string|false||| +|`» stage`|string|false||| #### Enumerated Values -| Property | Value | -| ------------ | -------------------- | -| `log_level` | `trace` | -| `log_level` | `debug` | -| `log_level` | `info` | -| `log_level` | `warn` | -| `log_level` | `error` | -| `log_source` | `provisioner_daemon` | -| `log_source` | `provisioner` | +|Property|Value| +|---|---| +|`log_level`|`trace`| +|`log_level`|`debug`| +|`log_level`|`info`| +|`log_level`|`warn`| +|`log_level`|`error`| +|`log_source`|`provisioner_daemon`| +|`log_source`|`provisioner`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -514,9 +522,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| ### Example responses @@ -524,28 +532,28 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | ------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» name` | string | false | | | -| `» value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» name`|string|false||| +|`» value`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -564,9 +572,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| ### Example responses @@ -574,245 +582,249 @@ 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", + "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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ------------------------------- | ------------------------------------------------------------------------------------------------------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» agents` | array | false | | | -| `»» api_version` | string | false | | | -| `»» apps` | array | false | | | -| `»»» 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. | -| `»»» health` | [codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth) | false | | | -| `»»» healthcheck` | [codersdk.Healthcheck](schemas.md#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `»»»» 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. | -| `»»» 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 | | | -| `»»» 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. | -| `»»» subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `»»» url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | -| `»» architecture` | string | false | | | -| `»» connection_timeout_seconds` | integer | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» directory` | string | false | | | -| `»» disconnected_at` | string(date-time) | false | | | -| `»» display_apps` | array | false | | | -| `»» environment_variables` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» expanded_directory` | string | false | | | -| `»» first_connected_at` | string(date-time) | false | | | -| `»» health` | [codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `»»» 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. | -| `»» id` | string(uuid) | false | | | -| `»» instance_id` | string | false | | | -| `»» last_connected_at` | string(date-time) | false | | | -| `»» latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| `»»» [any property]` | [codersdk.DERPRegion](schemas.md#codersdkderpregion) | false | | | -| `»»»» latency_ms` | number | false | | | -| `»»»» preferred` | boolean | false | | | -| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | | -| `»» log_sources` | array | false | | | -| `»»» created_at` | string(date-time) | false | | | -| `»»» display_name` | string | false | | | -| `»»» icon` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» workspace_agent_id` | string(uuid) | false | | | -| `»» logs_length` | integer | false | | | -| `»» logs_overflowed` | boolean | false | | | -| `»» name` | string | false | | | -| `»» operating_system` | string | false | | | -| `»» ready_at` | string(date-time) | false | | | -| `»» resource_id` | string(uuid) | false | | | -| `»» scripts` | array | false | | | -| `»»» cron` | string | false | | | -| `»»» display_name` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» log_path` | string | false | | | -| `»»» log_source_id` | string(uuid) | false | | | -| `»»» run_on_start` | boolean | false | | | -| `»»» run_on_stop` | boolean | false | | | -| `»»» script` | string | false | | | -| `»»» start_blocks_login` | boolean | false | | | -| `»»» timeout` | integer | false | | | -| `»» started_at` | string(date-time) | false | | | -| `»» startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `»» status` | [codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus) | false | | | -| `»» subsystems` | array | false | | | -| `»» troubleshooting_url` | string | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» version` | string | false | | | -| `» created_at` | string(date-time) | false | | | -| `» daily_cost` | integer | false | | | -| `» hide` | boolean | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» job_id` | string(uuid) | false | | | -| `» metadata` | array | false | | | -| `»» key` | string | false | | | -| `»» sensitive` | boolean | false | | | -| `»» value` | string | false | | | -| `» name` | string | false | | | -| `» type` | string | false | | | -| `» workspace_transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» agents`|array|false||| +|`»» api_version`|string|false||| +|`»» apps`|array|false||| +|`»»» 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.| +|`»»» health`|[codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth)|false||| +|`»»» healthcheck`|[codersdk.Healthcheck](schemas.md#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`»»»» 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.| +|`»»» 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||| +|`»»» 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.| +|`»»» subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`»»» url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| +|`»» architecture`|string|false||| +|`»» connection_timeout_seconds`|integer|false||| +|`»» created_at`|string(date-time)|false||| +|`»» directory`|string|false||| +|`»» disconnected_at`|string(date-time)|false||| +|`»» display_apps`|array|false||| +|`»» environment_variables`|object|false||| +|`»»» [any property]`|string|false||| +|`»» expanded_directory`|string|false||| +|`»» first_connected_at`|string(date-time)|false||| +|`»» health`|[codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`»»» 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.| +|`»» id`|string(uuid)|false||| +|`»» instance_id`|string|false||| +|`»» last_connected_at`|string(date-time)|false||| +|`»» latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|`»»» [any property]`|[codersdk.DERPRegion](schemas.md#codersdkderpregion)|false||| +|`»»»» latency_ms`|number|false||| +|`»»»» preferred`|boolean|false||| +|`»» lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle)|false||| +|`»» log_sources`|array|false||| +|`»»» created_at`|string(date-time)|false||| +|`»»» display_name`|string|false||| +|`»»» icon`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» workspace_agent_id`|string(uuid)|false||| +|`»» logs_length`|integer|false||| +|`»» logs_overflowed`|boolean|false||| +|`»» name`|string|false||| +|`»» operating_system`|string|false||| +|`»» ready_at`|string(date-time)|false||| +|`»» resource_id`|string(uuid)|false||| +|`»» scripts`|array|false||| +|`»»» cron`|string|false||| +|`»»» display_name`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» log_path`|string|false||| +|`»»» log_source_id`|string(uuid)|false||| +|`»»» run_on_start`|boolean|false||| +|`»»» run_on_stop`|boolean|false||| +|`»»» script`|string|false||| +|`»»» start_blocks_login`|boolean|false||| +|`»»» timeout`|integer|false||| +|`»» started_at`|string(date-time)|false||| +|`»» startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`»» status`|[codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus)|false||| +|`»» subsystems`|array|false||| +|`»» troubleshooting_url`|string|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» version`|string|false||| +|`» created_at`|string(date-time)|false||| +|`» daily_cost`|integer|false||| +|`» hide`|boolean|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» job_id`|string(uuid)|false||| +|`» metadata`|array|false||| +|`»» key`|string|false||| +|`»» sensitive`|boolean|false||| +|`»» value`|string|false||| +|`» name`|string|false||| +|`» type`|string|false||| +|`» workspace_transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| #### Enumerated Values -| Property | Value | -| ------------------------- | ------------------ | -| `health` | `disabled` | -| `health` | `initializing` | -| `health` | `healthy` | -| `health` | `unhealthy` | -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `public` | -| `lifecycle_state` | `created` | -| `lifecycle_state` | `starting` | -| `lifecycle_state` | `start_timeout` | -| `lifecycle_state` | `start_error` | -| `lifecycle_state` | `ready` | -| `lifecycle_state` | `shutting_down` | -| `lifecycle_state` | `shutdown_timeout` | -| `lifecycle_state` | `shutdown_error` | -| `lifecycle_state` | `off` | -| `startup_script_behavior` | `blocking` | -| `startup_script_behavior` | `non-blocking` | -| `status` | `connecting` | -| `status` | `connected` | -| `status` | `disconnected` | -| `status` | `timeout` | -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | +|Property|Value| +|---|---| +|`health`|`disabled`| +|`health`|`initializing`| +|`health`|`healthy`| +|`health`|`unhealthy`| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`public`| +|`lifecycle_state`|`created`| +|`lifecycle_state`|`starting`| +|`lifecycle_state`|`start_timeout`| +|`lifecycle_state`|`start_error`| +|`lifecycle_state`|`ready`| +|`lifecycle_state`|`shutting_down`| +|`lifecycle_state`|`shutdown_timeout`| +|`lifecycle_state`|`shutdown_error`| +|`lifecycle_state`|`off`| +|`startup_script_behavior`|`blocking`| +|`startup_script_behavior`|`non-blocking`| +|`status`|`connecting`| +|`status`|`connected`| +|`status`|`disconnected`| +|`status`|`timeout`| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -831,9 +843,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| ### Example responses @@ -841,168 +853,172 @@ 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" - }, - "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", - "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": { + "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" + }, + "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" } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) | +|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). @@ -1021,9 +1037,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string(uuid)|true|Workspace build ID| ### Example responses @@ -1031,46 +1047,46 @@ 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) | +|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). @@ -1089,13 +1105,13 @@ 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 | -| `offset` | query | integer | false | Page offset | -| `since` | query | string(date-time) | false | Since timestamp | +|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| +|`offset`|query|integer|false|Page offset| +|`since`|query|string(date-time)|false|Since timestamp| ### Example responses @@ -1103,353 +1119,357 @@ 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" - }, - "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", - "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": { + "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" + }, + "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" + } ] ``` ### 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------------------------- | ------------------------------------------------------------------------------------------------------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» build_number` | integer | false | | | -| `» created_at` | string(date-time) | false | | | -| `» daily_cost` | integer | false | | | -| `» deadline` | string(date-time) | false | | | -| `» id` | string(uuid) | false | | | -| `» initiator_id` | string(uuid) | false | | | -| `» initiator_name` | string | 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. | -| `» max_deadline` | string(date-time) | false | | | -| `» reason` | [codersdk.BuildReason](schemas.md#codersdkbuildreason) | false | | | -| `» resources` | array | false | | | -| `»» agents` | array | false | | | -| `»»» api_version` | string | false | | | -| `»»» apps` | array | false | | | -| `»»»» 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. | -| `»»»» health` | [codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth) | false | | | -| `»»»» healthcheck` | [codersdk.Healthcheck](schemas.md#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `»»»»» 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. | -| `»»»» 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 | | | -| `»»»» 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. | -| `»»»» subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `»»»» url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | -| `»»» architecture` | string | false | | | -| `»»» connection_timeout_seconds` | integer | false | | | -| `»»» created_at` | string(date-time) | false | | | -| `»»» directory` | string | false | | | -| `»»» disconnected_at` | string(date-time) | false | | | -| `»»» display_apps` | array | false | | | -| `»»» environment_variables` | object | false | | | -| `»»»» [any property]` | string | false | | | -| `»»» expanded_directory` | string | false | | | -| `»»» first_connected_at` | string(date-time) | false | | | -| `»»» health` | [codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `»»»» 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. | -| `»»» id` | string(uuid) | false | | | -| `»»» instance_id` | string | false | | | -| `»»» last_connected_at` | string(date-time) | false | | | -| `»»» latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| `»»»» [any property]` | [codersdk.DERPRegion](schemas.md#codersdkderpregion) | false | | | -| `»»»»» latency_ms` | number | false | | | -| `»»»»» preferred` | boolean | false | | | -| `»»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | | -| `»»» log_sources` | array | false | | | -| `»»»» created_at` | string(date-time) | false | | | -| `»»»» display_name` | string | false | | | -| `»»»» icon` | string | false | | | -| `»»»» id` | string(uuid) | false | | | -| `»»»» workspace_agent_id` | string(uuid) | false | | | -| `»»» logs_length` | integer | false | | | -| `»»» logs_overflowed` | boolean | false | | | -| `»»» name` | string | false | | | -| `»»» operating_system` | string | false | | | -| `»»» ready_at` | string(date-time) | false | | | -| `»»» resource_id` | string(uuid) | false | | | -| `»»» scripts` | array | false | | | -| `»»»» cron` | string | false | | | -| `»»»» display_name` | string | false | | | -| `»»»» id` | string(uuid) | false | | | -| `»»»» log_path` | string | false | | | -| `»»»» log_source_id` | string(uuid) | false | | | -| `»»»» run_on_start` | boolean | false | | | -| `»»»» run_on_stop` | boolean | false | | | -| `»»»» script` | string | false | | | -| `»»»» start_blocks_login` | boolean | false | | | -| `»»»» timeout` | integer | false | | | -| `»»» started_at` | string(date-time) | false | | | -| `»»» startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `»»» status` | [codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus) | false | | | -| `»»» subsystems` | array | false | | | -| `»»» troubleshooting_url` | string | false | | | -| `»»» updated_at` | string(date-time) | false | | | -| `»»» version` | string | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» daily_cost` | integer | false | | | -| `»» hide` | boolean | false | | | -| `»» icon` | string | false | | | -| `»» id` | string(uuid) | false | | | -| `»» job_id` | string(uuid) | false | | | -| `»» metadata` | array | false | | | -| `»»» key` | string | false | | | -| `»»» sensitive` | boolean | false | | | -| `»»» value` | string | false | | | -| `»» name` | string | false | | | -| `»» type` | string | false | | | -| `»» workspace_transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | -| `» status` | [codersdk.WorkspaceStatus](schemas.md#codersdkworkspacestatus) | false | | | -| `» template_version_id` | string(uuid) | false | | | -| `» template_version_name` | string | false | | | -| `» transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | -| `» updated_at` | string(date-time) | false | | | -| `» workspace_id` | string(uuid) | false | | | -| `» workspace_name` | string | false | | | -| `» workspace_owner_avatar_url` | string | false | | | -| `» workspace_owner_id` | string(uuid) | false | | | -| `» workspace_owner_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» build_number`|integer|false||| +|`» created_at`|string(date-time)|false||| +|`» daily_cost`|integer|false||| +|`» deadline`|string(date-time)|false||| +|`» id`|string(uuid)|false||| +|`» initiator_id`|string(uuid)|false||| +|`» initiator_name`|string|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.| +|`» max_deadline`|string(date-time)|false||| +|`» reason`|[codersdk.BuildReason](schemas.md#codersdkbuildreason)|false||| +|`» resources`|array|false||| +|`»» agents`|array|false||| +|`»»» api_version`|string|false||| +|`»»» apps`|array|false||| +|`»»»» 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.| +|`»»»» health`|[codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth)|false||| +|`»»»» healthcheck`|[codersdk.Healthcheck](schemas.md#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`»»»»» 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.| +|`»»»» 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||| +|`»»»» 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.| +|`»»»» subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`»»»» url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| +|`»»» architecture`|string|false||| +|`»»» connection_timeout_seconds`|integer|false||| +|`»»» created_at`|string(date-time)|false||| +|`»»» directory`|string|false||| +|`»»» disconnected_at`|string(date-time)|false||| +|`»»» display_apps`|array|false||| +|`»»» environment_variables`|object|false||| +|`»»»» [any property]`|string|false||| +|`»»» expanded_directory`|string|false||| +|`»»» first_connected_at`|string(date-time)|false||| +|`»»» health`|[codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`»»»» 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.| +|`»»» id`|string(uuid)|false||| +|`»»» instance_id`|string|false||| +|`»»» last_connected_at`|string(date-time)|false||| +|`»»» latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|`»»»» [any property]`|[codersdk.DERPRegion](schemas.md#codersdkderpregion)|false||| +|`»»»»» latency_ms`|number|false||| +|`»»»»» preferred`|boolean|false||| +|`»»» lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle)|false||| +|`»»» log_sources`|array|false||| +|`»»»» created_at`|string(date-time)|false||| +|`»»»» display_name`|string|false||| +|`»»»» icon`|string|false||| +|`»»»» id`|string(uuid)|false||| +|`»»»» workspace_agent_id`|string(uuid)|false||| +|`»»» logs_length`|integer|false||| +|`»»» logs_overflowed`|boolean|false||| +|`»»» name`|string|false||| +|`»»» operating_system`|string|false||| +|`»»» ready_at`|string(date-time)|false||| +|`»»» resource_id`|string(uuid)|false||| +|`»»» scripts`|array|false||| +|`»»»» cron`|string|false||| +|`»»»» display_name`|string|false||| +|`»»»» id`|string(uuid)|false||| +|`»»»» log_path`|string|false||| +|`»»»» log_source_id`|string(uuid)|false||| +|`»»»» run_on_start`|boolean|false||| +|`»»»» run_on_stop`|boolean|false||| +|`»»»» script`|string|false||| +|`»»»» start_blocks_login`|boolean|false||| +|`»»»» timeout`|integer|false||| +|`»»» started_at`|string(date-time)|false||| +|`»»» startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`»»» status`|[codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus)|false||| +|`»»» subsystems`|array|false||| +|`»»» troubleshooting_url`|string|false||| +|`»»» updated_at`|string(date-time)|false||| +|`»»» version`|string|false||| +|`»» created_at`|string(date-time)|false||| +|`»» daily_cost`|integer|false||| +|`»» hide`|boolean|false||| +|`»» icon`|string|false||| +|`»» id`|string(uuid)|false||| +|`»» job_id`|string(uuid)|false||| +|`»» metadata`|array|false||| +|`»»» key`|string|false||| +|`»»» sensitive`|boolean|false||| +|`»»» value`|string|false||| +|`»» name`|string|false||| +|`»» type`|string|false||| +|`»» workspace_transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| +|`» status`|[codersdk.WorkspaceStatus](schemas.md#codersdkworkspacestatus)|false||| +|`» template_version_id`|string(uuid)|false||| +|`» template_version_name`|string|false||| +|`» transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| +|`» updated_at`|string(date-time)|false||| +|`» workspace_id`|string(uuid)|false||| +|`» workspace_name`|string|false||| +|`» workspace_owner_avatar_url`|string|false||| +|`» workspace_owner_id`|string(uuid)|false||| +|`» workspace_owner_name`|string|false||| #### Enumerated Values -| Property | Value | -| ------------------------- | ----------------------------- | -| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | -| `reason` | `initiator` | -| `reason` | `autostart` | -| `reason` | `autostop` | -| `health` | `disabled` | -| `health` | `initializing` | -| `health` | `healthy` | -| `health` | `unhealthy` | -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `public` | -| `lifecycle_state` | `created` | -| `lifecycle_state` | `starting` | -| `lifecycle_state` | `start_timeout` | -| `lifecycle_state` | `start_error` | -| `lifecycle_state` | `ready` | -| `lifecycle_state` | `shutting_down` | -| `lifecycle_state` | `shutdown_timeout` | -| `lifecycle_state` | `shutdown_error` | -| `lifecycle_state` | `off` | -| `startup_script_behavior` | `blocking` | -| `startup_script_behavior` | `non-blocking` | -| `status` | `connecting` | -| `status` | `connected` | -| `status` | `disconnected` | -| `status` | `timeout` | -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | -| `status` | `pending` | -| `status` | `starting` | -| `status` | `running` | -| `status` | `stopping` | -| `status` | `stopped` | -| `status` | `failed` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `deleting` | -| `status` | `deleted` | -| `transition` | `start` | -| `transition` | `stop` | -| `transition` | `delete` | +|Property|Value| +|---|---| +|`error_code`|`REQUIRED_TEMPLATE_VARIABLES`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| +|`reason`|`initiator`| +|`reason`|`autostart`| +|`reason`|`autostop`| +|`health`|`disabled`| +|`health`|`initializing`| +|`health`|`healthy`| +|`health`|`unhealthy`| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`public`| +|`lifecycle_state`|`created`| +|`lifecycle_state`|`starting`| +|`lifecycle_state`|`start_timeout`| +|`lifecycle_state`|`start_error`| +|`lifecycle_state`|`ready`| +|`lifecycle_state`|`shutting_down`| +|`lifecycle_state`|`shutdown_timeout`| +|`lifecycle_state`|`shutdown_error`| +|`lifecycle_state`|`off`| +|`startup_script_behavior`|`blocking`| +|`startup_script_behavior`|`non-blocking`| +|`status`|`connecting`| +|`status`|`connected`| +|`status`|`disconnected`| +|`status`|`timeout`| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| +|`status`|`pending`| +|`status`|`starting`| +|`status`|`running`| +|`status`|`stopping`| +|`status`|`stopped`| +|`status`|`failed`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`deleting`| +|`status`|`deleted`| +|`transition`|`start`| +|`transition`|`stop`| +|`transition`|`delete`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1471,27 +1491,29 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.CreateWorkspaceBuildRequest](schemas.md#codersdkcreateworkspacebuildrequest)|true|Create workspace build request| ### Example responses @@ -1499,167 +1521,171 @@ 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" - }, - "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", - "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": { + "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" + }, + "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" } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) | +|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..ff08f4fcbf802 100644 --- a/docs/reference/api/debug.md +++ b/docs/reference/api/debug.md @@ -14,9 +14,9 @@ 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 | | +|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). @@ -35,9 +35,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`force`|query|boolean|false|Force a healthcheck to run| ### Example responses @@ -45,341 +45,365 @@ 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", + "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" + } + ] + } + } } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------- | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [healthsdk.HealthcheckReport](schemas.md#healthsdkhealthcheckreport) | +|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,15 +426,17 @@ 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) | +|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,15 +458,17 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[healthsdk.UpdateHealthSettings](schemas.md#healthsdkupdatehealthsettings)|true|Update health settings| ### Example responses @@ -448,15 +476,17 @@ 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) | +|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). @@ -474,8 +504,8 @@ 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 | | +|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..8ee5f21ebed80 100644 --- a/docs/reference/api/enterprise.md +++ b/docs/reference/api/enterprise.md @@ -19,36 +19,36 @@ 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) | +|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,28 +70,28 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.UpdateAppearanceConfig](schemas.md#codersdkupdateappearanceconfig)|true|Update appearance request| ### Example responses @@ -99,28 +99,28 @@ 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) | +|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,34 +143,38 @@ 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) | +|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). @@ -189,11 +193,11 @@ 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 | +|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| ### Example responses @@ -201,86 +205,86 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ----------------------------- | ------------------------------------------------------ | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» avatar_url` | string | false | | | -| `» display_name` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» members` | array | false | | | -| `»» avatar_url` | string(uri) | false | | | -| `»» created_at` | string(date-time) | true | | | -| `»» email` | string(email) | true | | | -| `»» id` | string(uuid) | true | | | -| `»» last_seen_at` | string(date-time) | false | | | -| `»» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | false | | | -| `»» name` | string | false | | | -| `»» status` | [codersdk.UserStatus](schemas.md#codersdkuserstatus) | false | | | -| `»» theme_preference` | string | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» username` | string | true | | | -| `» name` | string | false | | | -| `» organization_display_name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_name` | string | false | | | -| `» quota_allowance` | integer | false | | | -| `» source` | [codersdk.GroupSource](schemas.md#codersdkgroupsource) | false | | | -| `» total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» avatar_url`|string|false||| +|`» display_name`|string|false||| +|`» id`|string(uuid)|false||| +|`» members`|array|false||| +|`»» avatar_url`|string(uri)|false||| +|`»» created_at`|string(date-time)|true||| +|`»» email`|string(email)|true||| +|`»» id`|string(uuid)|true||| +|`»» last_seen_at`|string(date-time)|false||| +|`»» login_type`|[codersdk.LoginType](schemas.md#codersdklogintype)|false||| +|`»» name`|string|false||| +|`»» status`|[codersdk.UserStatus](schemas.md#codersdkuserstatus)|false||| +|`»» theme_preference`|string|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» username`|string|true||| +|`» name`|string|false||| +|`» organization_display_name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_name`|string|false||| +|`» quota_allowance`|integer|false||| +|`» source`|[codersdk.GroupSource](schemas.md#codersdkgroupsource)|false||| +|`» total_member_count`|integer|false||How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`.| #### Enumerated Values -| Property | Value | -| ------------ | ----------- | -| `login_type` | `` | -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `login_type` | `none` | -| `status` | `active` | -| `status` | `suspended` | -| `source` | `user` | -| `source` | `oidc` | +|Property|Value| +|---|---| +|`login_type`|``| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`login_type`|`none`| +|`status`|`active`| +|`status`|`suspended`| +|`source`|`user`| +|`source`|`oidc`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -299,9 +303,9 @@ curl -X GET http://coder-server:8080/api/v2/groups/{group} \ ### Parameters -| Name | In | Type | Required | Description | -| ------- | ---- | ------ | -------- | ----------- | -| `group` | path | string | true | Group id | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`group`|path|string|true|Group id| ### Example responses @@ -309,39 +313,39 @@ 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) | +|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). @@ -360,9 +364,9 @@ curl -X DELETE http://coder-server:8080/api/v2/groups/{group} \ ### Parameters -| Name | In | Type | Required | Description | -| ------- | ---- | ------ | -------- | ----------- | -| `group` | path | string | true | Group name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`group`|path|string|true|Group name| ### Example responses @@ -370,39 +374,39 @@ 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) | +|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,21 +428,25 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`group`|path|string|true|Group name| +|`body`|body|[codersdk.PatchGroupRequest](schemas.md#codersdkpatchgrouprequest)|true|Patch group request| ### Example responses @@ -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) | +|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 @@ -497,10 +505,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace_id`|query|string|true|Workspace ID| +|`agent_id`|query|string|true|Agent ID| ### Example responses @@ -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) | +|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,20 +551,20 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.JFrogXrayScan](schemas.md#codersdkjfrogxrayscan)|true|Post JFrog XRay scan request| ### Example responses @@ -564,22 +572,22 @@ 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) | +|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) | +|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). @@ -645,15 +653,15 @@ curl -X DELETE http://coder-server:8080/api/v2/licenses/{id} \ ### Parameters -| Name | In | Type | Required | Description | -| ---- | ---- | -------------- | -------- | ----------- | -| `id` | path | string(number) | true | License ID | +|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 | | +|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). @@ -671,20 +679,20 @@ 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 | +|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 | | +|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 @@ -699,9 +707,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user_id`|query|string|false|Filter by applications authorized for a user| ### Example responses @@ -709,45 +717,45 @@ 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) | +|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

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). | -| `»» authorization` | string | false | | | -| `»» device_authorization` | string | false | | Device authorization is optional. | -| `»» token` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» name` | string | false | | | +|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).| +|`»» authorization`|string|false||| +|`»» device_authorization`|string|false||Device authorization is optional.| +|`»» token`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» name`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). -## Create OAuth2 application. +## Create OAuth2 application ### Code samples @@ -765,17 +773,17 @@ 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. | +|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) | +|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 @@ -818,9 +826,9 @@ 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 | +|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) | +|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,18 +874,18 @@ 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. | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`app`|path|string|true|App ID| +|`body`|body|[codersdk.PutOAuth2ProviderAppRequest](schemas.md#codersdkputoauth2providerapprequest)|true|Update an OAuth2 application.| ### Example responses @@ -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) | +|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 @@ -919,19 +927,19 @@ 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 | +|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 | | +|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 @@ -946,9 +954,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`app`|path|string|true|App ID| ### Example responses @@ -956,34 +964,34 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| --------------------------- | ------------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» client_secret_truncated` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» last_used_at` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» client_secret_truncated`|string|false||| +|`» id`|string(uuid)|false||| +|`» last_used_at`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). -## Create OAuth2 application secret. +## Create OAuth2 application secret ### Code samples @@ -998,9 +1006,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`app`|path|string|true|App ID| ### Example responses @@ -1008,32 +1016,32 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ---------------------- | ------------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» client_secret_full` | string | false | | | -| `» id` | string(uuid) | false | | | +|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 @@ -1047,20 +1055,20 @@ 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 | +|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 | | +|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 @@ -1074,29 +1082,29 @@ 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 | -| `redirect_uri` | query | string | false | Redirect here after authorization | -| `scope` | query | string | false | Token scopes (currently ignored) | +|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| +|`redirect_uri`|query|string|false|Redirect here after authorization| +|`scope`|query|string|false|Token scopes (currently ignored)| #### Enumerated Values -| Parameter | Value | -| --------------- | ------ | -| `response_type` | `code` | +|Parameter|Value| +|---|---| +|`response_type`|`code`| ### Responses -| Status | Meaning | Description | Schema | -| ------ | ---------------------------------------------------------- | ----------- | ------ | -| 302 | [Found](https://tools.ietf.org/html/rfc7231#section-6.4.3) | Found | | +|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,25 +1124,26 @@ 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 | -| `» code` | body | string | false | Authorization code, required if grant_type=authorization_code | -| `» refresh_token` | body | string | false | Refresh token, required if grant_type=refresh_token | -| `» grant_type` | body | string | true | Grant type | +|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| +|`» code`|body|string|false|Authorization code, required if grant_type=authorization_code| +|`» refresh_token`|body|string|false|Refresh token, required if grant_type=refresh_token| +|`» grant_type`|body|string|true|Grant type| #### Enumerated Values -| Parameter | Value | -| -------------- | -------------------- | -| `» grant_type` | `authorization_code` | -| `» grant_type` | `refresh_token` | +|Parameter|Value| +|---|---| +|`» grant_type`|`authorization_code`| +|`» grant_type`|`refresh_token`| ### Example responses @@ -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) | +|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 @@ -1170,15 +1179,15 @@ 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 | +|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 | | +|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). @@ -1197,9 +1206,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -1207,86 +1216,86 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ----------------------------- | ------------------------------------------------------ | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» avatar_url` | string | false | | | -| `» display_name` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» members` | array | false | | | -| `»» avatar_url` | string(uri) | false | | | -| `»» created_at` | string(date-time) | true | | | -| `»» email` | string(email) | true | | | -| `»» id` | string(uuid) | true | | | -| `»» last_seen_at` | string(date-time) | false | | | -| `»» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | false | | | -| `»» name` | string | false | | | -| `»» status` | [codersdk.UserStatus](schemas.md#codersdkuserstatus) | false | | | -| `»» theme_preference` | string | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» username` | string | true | | | -| `» name` | string | false | | | -| `» organization_display_name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_name` | string | false | | | -| `» quota_allowance` | integer | false | | | -| `» source` | [codersdk.GroupSource](schemas.md#codersdkgroupsource) | false | | | -| `» total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» avatar_url`|string|false||| +|`» display_name`|string|false||| +|`» id`|string(uuid)|false||| +|`» members`|array|false||| +|`»» avatar_url`|string(uri)|false||| +|`»» created_at`|string(date-time)|true||| +|`»» email`|string(email)|true||| +|`»» id`|string(uuid)|true||| +|`»» last_seen_at`|string(date-time)|false||| +|`»» login_type`|[codersdk.LoginType](schemas.md#codersdklogintype)|false||| +|`»» name`|string|false||| +|`»» status`|[codersdk.UserStatus](schemas.md#codersdkuserstatus)|false||| +|`»» theme_preference`|string|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» username`|string|true||| +|`» name`|string|false||| +|`» organization_display_name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_name`|string|false||| +|`» quota_allowance`|integer|false||| +|`» source`|[codersdk.GroupSource](schemas.md#codersdkgroupsource)|false||| +|`» total_member_count`|integer|false||How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`.| #### Enumerated Values -| Property | Value | -| ------------ | ----------- | -| `login_type` | `` | -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `login_type` | `none` | -| `status` | `active` | -| `status` | `suspended` | -| `source` | `user` | -| `source` | `oidc` | +|Property|Value| +|---|---| +|`login_type`|``| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`login_type`|`none`| +|`status`|`active`| +|`status`|`suspended`| +|`source`|`user`| +|`source`|`oidc`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1308,19 +1317,19 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`body`|body|[codersdk.CreateGroupRequest](schemas.md#codersdkcreategrouprequest)|true|Create group request| ### Example responses @@ -1328,39 +1337,39 @@ 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) | +|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). @@ -1379,10 +1388,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`groupName`|path|string|true|Group name| ### Example responses @@ -1390,39 +1399,39 @@ 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) | +|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). @@ -1441,10 +1450,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -1452,16 +1461,16 @@ 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) | +|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). @@ -1480,10 +1489,10 @@ 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 | -| `tags` | query | object | false | Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'}) | +|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 @@ -1491,48 +1500,50 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ```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", + "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) | +|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 | | | +|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). @@ -1550,15 +1561,15 @@ 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 | +|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 | | +|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). @@ -1577,9 +1588,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Parameters -| Name | In | Type | Required | Description | -| -------------- | ---- | ------ | -------- | --------------- | -| `organization` | path | string | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| ### Example responses @@ -1587,38 +1598,38 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ------------------- | -------------------------------------------------------------------- | -------- | ------------ | ----------- | -| `[array item]` | array | 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||| +|`» 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||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1637,9 +1648,9 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/provis ### Parameters -| Name | In | Type | Required | Description | -| -------------- | ---- | ------ | -------- | --------------- | -| `organization` | path | string | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| ### Example responses @@ -1647,15 +1658,15 @@ 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) | +|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). @@ -1674,9 +1685,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Parameters -| Name | In | Type | Required | Description | -| -------------- | ---- | ------ | -------- | --------------- | -| `organization` | path | string | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| ### Example responses @@ -1684,70 +1695,72 @@ 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", + "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" + } + } + } ] ``` ### 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) | +|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||| +|`»» 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||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1765,16 +1778,16 @@ 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 | +|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 | | +|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). @@ -1793,23 +1806,25 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses > 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 | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of string|

Response Schema

@@ -1830,9 +1845,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -1840,25 +1855,29 @@ 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) | +|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,26 +1899,30 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings)|true|New settings| ### Example responses @@ -1907,25 +1930,29 @@ 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) | +|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). @@ -1944,9 +1971,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -1954,19 +1981,23 @@ 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) | +|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,20 +2019,24 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings)|true|New settings| ### Example responses @@ -2009,19 +2044,23 @@ 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) | +|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). @@ -2039,9 +2078,9 @@ curl -X GET http://coder-server:8080/api/v2/provisionerkeys/{provisionerkey} \ ### Parameters -| Name | In | Type | Required | Description | -| ---------------- | ---- | ------ | -------- | --------------- | -| `provisionerkey` | path | string | true | Provisioner Key | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`provisionerkey`|path|string|true|Provisioner Key| ### Example responses @@ -2049,22 +2088,22 @@ 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) | +|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,38 +2126,38 @@ 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) | +|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

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. | -| `» error` | string | false | | Error is the replica error. | -| `» hostname` | string | false | | Hostname is the hostname of the replica. | -| `» id` | string(uuid) | false | | ID is the unique identifier for the replica. | -| `» region_id` | integer | false | | Region ID is the region of the replica. | -| `» relay_address` | string | false | | Relay address is the accessible address to relay DERP connections. | +|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.| +|`» error`|string|false||Error is the replica error.| +|`» hostname`|string|false||Hostname is the hostname of the replica.| +|`» id`|string(uuid)|false||ID is the unique identifier for the replica.| +|`» region_id`|integer|false||Region ID is the region of the replica.| +|`» relay_address`|string|false||Relay address is the accessible address to relay DERP connections.| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2136,9 +2175,9 @@ 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 | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| ## SCIM 2.0: Get users @@ -2154,9 +2193,9 @@ 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 | | +|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,34 +2217,38 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[coderd.SCIMUser](schemas.md#coderdscimuser)|true|New user| ### Example responses @@ -2213,34 +2256,38 @@ 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) | +|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). @@ -2258,15 +2305,15 @@ 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 | +|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 | | +|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). @@ -2288,35 +2335,39 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`id`|path|string(uuid)|true|User ID| +|`body`|body|[coderd.SCIMUser](schemas.md#coderdscimuser)|true|Update user request| ### Example responses @@ -2324,33 +2375,35 @@ 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) | +|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). @@ -2369,23 +2422,25 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses > 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 | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of string|

Response Schema

@@ -2410,20 +2465,24 @@ 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) | +|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,20 +2504,24 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings)|true|New settings| ### Example responses @@ -2466,20 +2529,24 @@ 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) | +|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). @@ -2498,9 +2565,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -2508,76 +2575,78 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------------- | -------------------------------------------------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» avatar_url` | string(uri) | false | | | -| `» created_at` | string(date-time) | true | | | -| `» email` | string(email) | true | | | -| `» id` | string(uuid) | true | | | -| `» last_seen_at` | string(date-time) | false | | | -| `» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | false | | | -| `» name` | string | false | | | -| `» organization_ids` | array | false | | | -| `» role` | [codersdk.TemplateRole](schemas.md#codersdktemplaterole) | false | | | -| `» roles` | array | false | | | -| `»» display_name` | string | false | | | -| `»» name` | string | false | | | -| `»» organization_id` | string | false | | | -| `» status` | [codersdk.UserStatus](schemas.md#codersdkuserstatus) | false | | | -| `» theme_preference` | string | false | | | -| `» updated_at` | string(date-time) | false | | | -| `» username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» avatar_url`|string(uri)|false||| +|`» created_at`|string(date-time)|true||| +|`» email`|string(email)|true||| +|`» id`|string(uuid)|true||| +|`» last_seen_at`|string(date-time)|false||| +|`» login_type`|[codersdk.LoginType](schemas.md#codersdklogintype)|false||| +|`» name`|string|false||| +|`» organization_ids`|array|false||| +|`» role`|[codersdk.TemplateRole](schemas.md#codersdktemplaterole)|false||| +|`» roles`|array|false||| +|`»» display_name`|string|false||| +|`»» name`|string|false||| +|`»» organization_id`|string|false||| +|`» status`|[codersdk.UserStatus](schemas.md#codersdkuserstatus)|false||| +|`» theme_preference`|string|false||| +|`» updated_at`|string(date-time)|false||| +|`» username`|string|true||| #### Enumerated Values -| Property | Value | -| ------------ | ----------- | -| `login_type` | `` | -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `login_type` | `none` | -| `role` | `admin` | -| `role` | `use` | -| `status` | `active` | -| `status` | `suspended` | +|Property|Value| +|---|---| +|`login_type`|``| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`login_type`|`none`| +|`role`|`admin`| +|`role`|`use`| +|`status`|`active`| +|`status`|`suspended`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2599,23 +2668,23 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| +|`body`|body|[codersdk.UpdateTemplateACL](schemas.md#codersdkupdatetemplateacl)|true|Update template request| ### Example responses @@ -2623,22 +2692,22 @@ 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) | +|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). @@ -2657,9 +2726,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -2667,107 +2736,107 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ------------------------------ | ------------------------------------------------------ | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» groups` | array | false | | | -| `»» avatar_url` | string | false | | | -| `»» display_name` | string | false | | | -| `»» id` | string(uuid) | false | | | -| `»» members` | array | false | | | -| `»»» avatar_url` | string(uri) | false | | | -| `»»» created_at` | string(date-time) | true | | | -| `»»» email` | string(email) | true | | | -| `»»» id` | string(uuid) | true | | | -| `»»» last_seen_at` | string(date-time) | false | | | -| `»»» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | false | | | -| `»»» name` | string | false | | | -| `»»» status` | [codersdk.UserStatus](schemas.md#codersdkuserstatus) | false | | | -| `»»» theme_preference` | string | false | | | -| `»»» updated_at` | string(date-time) | false | | | -| `»»» username` | string | true | | | -| `»» name` | string | false | | | -| `»» organization_display_name` | string | false | | | -| `»» organization_id` | string(uuid) | false | | | -| `»» organization_name` | string | false | | | -| `»» quota_allowance` | integer | false | | | -| `»» source` | [codersdk.GroupSource](schemas.md#codersdkgroupsource) | false | | | -| `»» total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. | -| `» users` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» groups`|array|false||| +|`»» avatar_url`|string|false||| +|`»» display_name`|string|false||| +|`»» id`|string(uuid)|false||| +|`»» members`|array|false||| +|`»»» avatar_url`|string(uri)|false||| +|`»»» created_at`|string(date-time)|true||| +|`»»» email`|string(email)|true||| +|`»»» id`|string(uuid)|true||| +|`»»» last_seen_at`|string(date-time)|false||| +|`»»» login_type`|[codersdk.LoginType](schemas.md#codersdklogintype)|false||| +|`»»» name`|string|false||| +|`»»» status`|[codersdk.UserStatus](schemas.md#codersdkuserstatus)|false||| +|`»»» theme_preference`|string|false||| +|`»»» updated_at`|string(date-time)|false||| +|`»»» username`|string|true||| +|`»» name`|string|false||| +|`»» organization_display_name`|string|false||| +|`»» organization_id`|string(uuid)|false||| +|`»» organization_name`|string|false||| +|`»» quota_allowance`|integer|false||| +|`»» source`|[codersdk.GroupSource](schemas.md#codersdkgroupsource)|false||| +|`»» total_member_count`|integer|false||How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`.| +|`» users`|array|false||| #### Enumerated Values -| Property | Value | -| ------------ | ----------- | -| `login_type` | `` | -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `login_type` | `none` | -| `status` | `active` | -| `status` | `suspended` | -| `source` | `user` | -| `source` | `oidc` | +|Property|Value| +|---|---| +|`login_type`|``| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`login_type`|`none`| +|`status`|`active`| +|`status`|`suspended`| +|`source`|`user`| +|`source`|`oidc`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2786,9 +2855,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string(uuid)|true|User ID| ### Example responses @@ -2796,36 +2865,36 @@ 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) | +|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

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 | | | -| `» time` | string | false | | Time is the time of day that the quiet hours window starts in the given Timezone each day. | -| `» timezone` | string | false | | raw format from the cron expression, UTC if unspecified | -| `» user_can_set` | boolean | false | | User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used. | -| `» user_set` | boolean | false | | User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule. | +|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||| +|`» time`|string|false||Time is the time of day that the quiet hours window starts in the given Timezone each day.| +|`» timezone`|string|false||raw format from the cron expression, UTC if unspecified| +|`» user_can_set`|boolean|false||User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used.| +|`» user_set`|boolean|false||User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule.| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2847,16 +2916,16 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string(uuid)|true|User ID| +|`body`|body|[codersdk.UpdateUserQuietHoursScheduleRequest](schemas.md#codersdkupdateuserquiethoursschedulerequest)|true|Update schedule request| ### Example responses @@ -2864,36 +2933,36 @@ 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) | +|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

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 | | | -| `» time` | string | false | | Time is the time of day that the quiet hours window starts in the given Timezone each day. | -| `» timezone` | string | false | | raw format from the cron expression, UTC if unspecified | -| `» user_can_set` | boolean | false | | User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used. | -| `» user_set` | boolean | false | | User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule. | +|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||| +|`» time`|string|false||Time is the time of day that the quiet hours window starts in the given Timezone each day.| +|`» timezone`|string|false||raw format from the cron expression, UTC if unspecified| +|`» user_can_set`|boolean|false||User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used.| +|`» user_set`|boolean|false||User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule.| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2912,9 +2981,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -2922,16 +2991,16 @@ 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) | +|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,78 +3023,82 @@ 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) | +|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` | -| `status` | `unregistered` | +|Property|Value| +|---|---| +|`status`|`ok`| +|`status`|`unreachable`| +|`status`|`unhealthy`| +|`status`|`unregistered`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3047,17 +3120,17 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.CreateWorkspaceProxyRequest](schemas.md#codersdkcreateworkspaceproxyrequest)|true|Create workspace proxy request| ### Example responses @@ -3065,35 +3138,39 @@ 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) | +|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). @@ -3112,9 +3189,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceproxy`|path|string(uuid)|true|Proxy ID or name| ### Example responses @@ -3122,35 +3199,39 @@ 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) | +|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). @@ -3169,9 +3250,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceproxy`|path|string(uuid)|true|Proxy ID or name| ### Example responses @@ -3179,22 +3260,22 @@ 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) | +|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,20 +3297,20 @@ 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 | +|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| ### Example responses @@ -3237,34 +3318,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) | +|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..4c634830d4830 100644 --- a/docs/reference/api/files.md +++ b/docs/reference/api/files.md @@ -18,15 +18,16 @@ 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). | +|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).| ### Example responses @@ -34,15 +35,15 @@ 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) | +|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). @@ -60,14 +61,14 @@ curl -X GET http://coder-server:8080/api/v2/files/{fileID} \ ### Parameters -| Name | In | Type | Required | Description | -| -------- | ---- | ------------ | -------- | ----------- | -| `fileID` | path | string(uuid) | true | File ID | +|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 | | +|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..a494aee0310a9 100644 --- a/docs/reference/api/general.md +++ b/docs/reference/api/general.md @@ -18,22 +18,22 @@ 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) | +|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,23 +53,23 @@ 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) | +|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,21 +88,21 @@ 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 | +|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 | | +|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,387 +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, + "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) | +|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,19 +572,19 @@ 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) | +|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,36 +607,36 @@ 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) | +|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,22 +658,24 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | ----- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -651,22 +697,24 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | ----- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -688,17 +736,17 @@ 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) | +|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 @@ -715,9 +763,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -725,14 +773,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) | +|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..72a710ec95d7e 100644 --- a/docs/reference/api/git.md +++ b/docs/reference/api/git.md @@ -19,21 +19,21 @@ 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) | +|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). @@ -52,9 +52,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`externalauth`|path|string(string)|true|Git Provider ID| ### Example responses @@ -62,39 +62,39 @@ 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) | +|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). @@ -112,19 +112,19 @@ 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 | +|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 | | +|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 @@ -139,9 +139,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`externalauth`|path|string(string)|true|Git Provider ID| ### Example responses @@ -149,19 +149,19 @@ 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) | +|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). @@ -179,14 +179,14 @@ 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 | +|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 | | +|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..a48aecf1ccbe0 100644 --- a/docs/reference/api/index.md +++ b/docs/reference/api/index.md @@ -4,17 +4,17 @@ Get started with the Coder API: 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..6847edb457302 100644 --- a/docs/reference/api/insights.md +++ b/docs/reference/api/insights.md @@ -15,9 +15,9 @@ 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) | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`tz_offset`|query|integer|true|Time-zone offset (e.g. -2)| ### Example responses @@ -25,21 +25,21 @@ 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) | +|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). @@ -58,19 +58,19 @@ 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 | -| `template_ids` | query | array[string] | false | Template IDs | +|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| +|`template_ids`|query|array[string]|false|Template IDs| #### Enumerated Values -| Parameter | Value | -| ---------- | ------ | -| `interval` | `week` | -| `interval` | `day` | +|Parameter|Value| +|---|---| +|`interval`|`week`| +|`interval`|`day`| ### Example responses @@ -78,63 +78,71 @@ 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) | +|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). @@ -153,11 +161,11 @@ 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 | +|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| ### Example responses @@ -165,28 +173,32 @@ 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) | +|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). @@ -205,11 +217,11 @@ 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 | +|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| ### Example responses @@ -217,30 +229,34 @@ 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) | +|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). diff --git a/docs/reference/api/members.md b/docs/reference/api/members.md index 6ac07aa21fd5d..f28e71d510b63 100644 --- a/docs/reference/api/members.md +++ b/docs/reference/api/members.md @@ -15,9 +15,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members ### Parameters -| Name | In | Type | Required | Description | -| -------------- | ---- | ------ | -------- | --------------- | -| `organization` | path | string | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| ### Example responses @@ -25,59 +25,59 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------------- | ----------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» avatar_url` | string | false | | | -| `» created_at` | string(date-time) | false | | | -| `» email` | string | false | | | -| `» global_roles` | array | false | | | -| `»» display_name` | string | false | | | -| `»» name` | string | false | | | -| `»» organization_id` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» roles` | array | false | | | -| `» updated_at` | string(date-time) | false | | | -| `» user_id` | string(uuid) | false | | | -| `» username` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» avatar_url`|string|false||| +|`» created_at`|string(date-time)|false||| +|`» email`|string|false||| +|`» global_roles`|array|false||| +|`»» display_name`|string|false||| +|`»» name`|string|false||| +|`»» organization_id`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» roles`|array|false||| +|`» updated_at`|string(date-time)|false||| +|`» user_id`|string(uuid)|false||| +|`» username`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -96,9 +96,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -106,111 +106,111 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» assignable` | boolean | false | | | -| `» built_in` | boolean | false | | Built in roles are immutable | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» assignable`|boolean|false||| +|`» built_in`|boolean|false||Built in roles are immutable| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -| --------------- | ------------------------- | -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `delete` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_keys` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`delete`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_keys`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -232,38 +232,38 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.CustomRoleRequest](schemas.md#codersdkcustomrolerequest)|true|Upsert role request| ### Example responses @@ -271,107 +271,107 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -| --------------- | ------------------------- | -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `delete` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_keys` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`delete`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_keys`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -393,38 +393,38 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.CustomRoleRequest](schemas.md#codersdkcustomrolerequest)|true|Insert role request| ### Example responses @@ -432,107 +432,107 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -| --------------- | ------------------------- | -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `delete` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_keys` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`delete`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_keys`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -551,10 +551,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`roleName`|path|string|true|Role name| ### Example responses @@ -562,107 +562,107 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -| --------------- | ------------------------- | -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `delete` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_keys` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`delete`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_keys`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -681,10 +681,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -692,25 +692,25 @@ 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) | +|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). @@ -728,16 +728,16 @@ 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 | +|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 | | +|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,17 +759,19 @@ 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 | +|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| ### Example responses @@ -777,25 +779,25 @@ 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) | +|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,110 +820,110 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ---------------------------- | -------------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» assignable` | boolean | false | | | -| `» built_in` | boolean | false | | Built in roles are immutable | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» assignable`|boolean|false||| +|`» built_in`|boolean|false||Built in roles are immutable| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -| --------------- | ------------------------- | -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `delete` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_keys` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`delete`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_keys`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/notifications.md b/docs/reference/api/notifications.md index 21cad113adaa2..0151178c31311 100644 --- a/docs/reference/api/notifications.md +++ b/docs/reference/api/notifications.md @@ -19,28 +19,30 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | ------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» available` | array | false | | | -| `» default` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» available`|array|false||| +|`» default`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -63,15 +65,15 @@ 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) | +|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,15 +95,15 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings)|true|Notifications settings request| ### Example responses @@ -109,16 +111,16 @@ 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 | | +|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|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -141,40 +143,40 @@ 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", + "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) | +|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||| +|`» 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). @@ -193,9 +195,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -203,30 +205,30 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | ----------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» disabled` | boolean | false | | | -| `» id` | string(uuid) | false | | | -| `» updated_at` | string(date-time) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» disabled`|boolean|false||| +|`» id`|string(uuid)|false||| +|`» updated_at`|string(date-time)|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -248,19 +250,19 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.UpdateUserNotificationPreferences](schemas.md#codersdkupdateusernotificationpreferences)|true|Preferences| ### Example responses @@ -268,29 +270,29 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | ----------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» disabled` | boolean | false | | | -| `» id` | string(uuid) | false | | | -| `» updated_at` | string(date-time) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» disabled`|boolean|false||| +|`» id`|string(uuid)|false||| +|`» updated_at`|string(date-time)|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/organizations.md b/docs/reference/api/organizations.md index e398d8e7c0105..395f7e3ba27c2 100644 --- a/docs/reference/api/organizations.md +++ b/docs/reference/api/organizations.md @@ -18,15 +18,15 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.AddLicenseRequest](schemas.md#codersdkaddlicenserequest)|true|Add license request| ### Example responses @@ -34,18 +34,18 @@ 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) | +|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,22 +68,22 @@ 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) | +|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,40 +106,40 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ---------------- | ----------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | true | | | -| `» description` | string | false | | | -| `» display_name` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | true | | | -| `» is_default` | boolean | true | | | -| `» name` | string | false | | | -| `» updated_at` | string(date-time) | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|true||| +|`» description`|string|false||| +|`» display_name`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|true||| +|`» is_default`|boolean|true||| +|`» name`|string|false||| +|`» updated_at`|string(date-time)|true||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -161,18 +161,18 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.CreateOrganizationRequest](schemas.md#codersdkcreateorganizationrequest)|true|Create organization request| ### Example responses @@ -180,22 +180,22 @@ 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) | +|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). @@ -214,9 +214,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization} \ ### Parameters -| Name | In | Type | Required | Description | -| -------------- | ---- | ------------ | -------- | --------------- | -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -224,22 +224,22 @@ 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) | +|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). @@ -258,9 +258,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID or name| ### Example responses @@ -268,22 +268,22 @@ 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) | +|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,19 +305,19 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID or name| +|`body`|body|[codersdk.UpdateOrganizationRequest](schemas.md#codersdkupdateorganizationrequest)|true|Patch organization request| ### Example responses @@ -325,21 +325,21 @@ 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) | +|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). diff --git a/docs/reference/api/portsharing.md b/docs/reference/api/portsharing.md index dbd81cd9a2988..6354f7d187118 100644 --- a/docs/reference/api/portsharing.md +++ b/docs/reference/api/portsharing.md @@ -17,23 +17,23 @@ 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 | +|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 | | +|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,19 +55,19 @@ 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 | +|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| ### Example responses @@ -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) | +|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/schemas.md b/docs/reference/api/schemas.md index 76e1b3a0fb0ce..158654998510f 100644 --- a/docs/reference/api/schemas.md +++ b/docs/reference/api/schemas.md @@ -4,321 +4,325 @@ ```json { - "document": "string", - "signature": "string" + "document": "string", + "signature": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ----------- | ------ | -------- | ------------ | ----------- | -| `document` | string | true | | | -| `signature` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`document`|string|true||| +|`signature`|string|true||| ## agentsdk.AuthenticateResponse ```json { - "session_token": "string" + "session_token": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| --------------- | ------ | -------- | ------------ | ----------- | -| `session_token` | string | false | | | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`encoding`|string|true||| +|`signature`|string|true||| ## agentsdk.ExternalAuthResponse ```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 | | | -| `type` | string | false | | | -| `url` | string | false | | | -| `username` | string | false | | Deprecated: Only supported on `/workspaceagents/me/gitauth` for backwards compatibility. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_token`|string|false||| +|`password`|string|false||| +|`token_extra`|object|false||| +|`type`|string|false||| +|`url`|string|false||| +|`username`|string|false||Deprecated: Only supported on `/workspaceagents/me/gitauth` for backwards compatibility.| ## agentsdk.GitSSHKey ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`private_key`|string|false||| +|`public_key`|string|false||| ## agentsdk.GoogleInstanceIdentityToken ```json { - "json_web_token": "string" + "json_web_token": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ---------------- | ------ | -------- | ------------ | ----------- | -| `json_web_token` | string | true | | | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`level`|[codersdk.LogLevel](#codersdkloglevel)|false||| +|`output`|string|false||| ## agentsdk.PatchLogs ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`log_source_id`|string|false||| +|`logs`|array of [agentsdk.Log](#agentsdklog)|false||| ## agentsdk.PostLogSourceRequest ```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. | +|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.| ## coderd.SCIMUser ```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||| +|`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 | | | +|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" - } - ] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| -------- | ----------------------------------------------------- | -------- | ------------ | ----------- | -| `groups` | array of [codersdk.Group](#codersdkgroup) | false | | | -| `users` | array of [codersdk.ReducedUser](#codersdkreduceduser) | false | | | + "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||| ## codersdk.APIKey ```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 | | | -| `last_used` | string | true | | | -| `lifetime_seconds` | integer | true | | | -| `login_type` | [codersdk.LoginType](#codersdklogintype) | true | | | -| `scope` | [codersdk.APIKeyScope](#codersdkapikeyscope) | true | | | -| `token_name` | string | true | | | -| `updated_at` | string | true | | | -| `user_id` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|true||| +|`expires_at`|string|true||| +|`id`|string|true||| +|`last_used`|string|true||| +|`lifetime_seconds`|integer|true||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|true||| +|`scope`|[codersdk.APIKeyScope](#codersdkapikeyscope)|true||| +|`token_name`|string|true||| +|`updated_at`|string|true||| +|`user_id`|string|true||| #### Enumerated Values -| Property | Value | -| ------------ | --------------------- | -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `scope` | `all` | -| `scope` | `application_connect` | +|Property|Value| +|---|---| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`scope`|`all`| +|`scope`|`application_connect`| ## codersdk.APIKeyScope @@ -330,74 +334,74 @@ #### Enumerated Values -| Value | -| --------------------- | -| `all` | -| `application_connect` | +|Value| +|---| +|`all`| +|`application_connect`| ## codersdk.AddLicenseRequest ```json { - "license": "string" + "license": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| --------- | ------ | -------- | ------------ | ----------- | -| `license` | string | true | | | +|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 | | | -| `workspace_agent_id` | string | false | | | -| `workspace_agent_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`ended_at`|string|false||| +|`stage`|[codersdk.TimingStage](#codersdktimingstage)|false||| +|`started_at`|string|false||| +|`workspace_agent_id`|string|false||| +|`workspace_agent_name`|string|false||| ## codersdk.AgentScriptTiming ```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 | | | -| `stage` | [codersdk.TimingStage](#codersdktimingstage) | false | | | -| `started_at` | string | false | | | -| `status` | string | false | | | -| `workspace_agent_id` | string | false | | | -| `workspace_agent_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`ended_at`|string|false||| +|`exit_code`|integer|false||| +|`stage`|[codersdk.TimingStage](#codersdktimingstage)|false||| +|`started_at`|string|false||| +|`status`|string|false||| +|`workspace_agent_id`|string|false||| +|`workspace_agent_name`|string|false||| ## codersdk.AgentSubsystem @@ -409,125 +413,125 @@ #### Enumerated Values -| Value | -| ------------ | -| `envbox` | -| `envbuilder` | -| `exectrace` | +|Value| +|---| +|`envbox`| +|`envbuilder`| +|`exectrace`| ## codersdk.AppHostResponse ```json { - "host": "string" + "host": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------ | ------ | -------- | ------------ | ------------------------------------------------------------- | -| `host` | string | false | | Host is the externally accessible URL for the Coder instance. | +|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 | | | -| `logo_url` | string | false | | | -| `service_banner` | [codersdk.BannerConfig](#codersdkbannerconfig) | false | | Deprecated: ServiceBanner has been replaced by AnnouncementBanners. | -| `support_links` | array of [codersdk.LinkConfig](#codersdklinkconfig) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`announcement_banners`|array of [codersdk.BannerConfig](#codersdkbannerconfig)|false||| +|`application_name`|string|false||| +|`docs_url`|string|false||| +|`logo_url`|string|false||| +|`service_banner`|[codersdk.BannerConfig](#codersdkbannerconfig)|false||Deprecated: ServiceBanner has been replaced by AnnouncementBanners.| +|`support_links`|array of [codersdk.LinkConfig](#codersdklinkconfig)|false||| ## codersdk.ArchiveTemplateVersionsRequest ```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. | +|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": "*" - } - ] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| -------------------------- | --------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- | -| `assignable` | boolean | false | | | -| `built_in` | boolean | false | | Built in roles are immutable | -| `display_name` | string | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | -| `organization_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `site_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | -| `user_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | + "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||| +|`name`|string|false||| +|`organization_id`|string|false||| +|`organization_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`site_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| +|`user_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| ## codersdk.AuditAction @@ -539,273 +543,281 @@ #### Enumerated Values -| Value | -| ------------------------ | -| `create` | -| `write` | -| `delete` | -| `start` | -| `stop` | -| `login` | -| `logout` | -| `register` | -| `request_password_reset` | +|Value| +|---| +|`create`| +|`write`| +|`delete`| +|`start`| +|`stop`| +|`login`| +|`logout`| +|`register`| +|`request_password_reset`| ## codersdk.AuditDiff ```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 | | | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`new`|any|false||| +|`old`|any|false||| +|`secret`|boolean|false||| ## codersdk.AuditLog ```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" -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ------------------- | ------------------------------------------------------------ | -------- | ------------ | -------------------------------------------- | -| `action` | [codersdk.AuditAction](#codersdkauditaction) | false | | | -| `additional_fields` | array of integer | false | | | -| `description` | string | false | | | -| `diff` | [codersdk.AuditDiff](#codersdkauditdiff) | false | | | -| `id` | string | false | | | -| `ip` | string | false | | | -| `is_deleted` | boolean | false | | | -| `organization` | [codersdk.MinimalOrganization](#codersdkminimalorganization) | false | | | -| `organization_id` | string | false | | Deprecated: Use 'organization.id' instead. | -| `request_id` | string | false | | | -| `resource_icon` | string | false | | | -| `resource_id` | string | false | | | -| `resource_link` | string | false | | | -| `resource_target` | string | false | | Resource target is the name of the resource. | -| `resource_type` | [codersdk.ResourceType](#codersdkresourcetype) | false | | | -| `status_code` | integer | false | | | -| `time` | string | false | | | -| `user` | [codersdk.User](#codersdkuser) | false | | | -| `user_agent` | string | false | | | + "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||| +|`diff`|[codersdk.AuditDiff](#codersdkauditdiff)|false||| +|`id`|string|false||| +|`ip`|string|false||| +|`is_deleted`|boolean|false||| +|`organization`|[codersdk.MinimalOrganization](#codersdkminimalorganization)|false||| +|`organization_id`|string|false||Deprecated: Use 'organization.id' instead.| +|`request_id`|string|false||| +|`resource_icon`|string|false||| +|`resource_id`|string|false||| +|`resource_link`|string|false||| +|`resource_target`|string|false||Resource target is the name of the resource.| +|`resource_type`|[codersdk.ResourceType](#codersdkresourcetype)|false||| +|`status_code`|integer|false||| +|`time`|string|false||| +|`user`|[codersdk.User](#codersdkuser)|false||| +|`user_agent`|string|false||| ## codersdk.AuditLogResponse ```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 -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ------------ | ----------------------------------------------- | -------- | ------------ | ----------- | -| `audit_logs` | array of [codersdk.AuditLog](#codersdkauditlog) | false | | | -| `count` | integer | false | | | + "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||| ## codersdk.AuthMethod ```json { - "enabled": true + "enabled": true } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| --------- | ------- | -------- | ------------ | ----------- | -| `enabled` | boolean | false | | | +|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 | | | -| `terms_of_service_url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`github`|[codersdk.AuthMethod](#codersdkauthmethod)|false||| +|`oidc`|[codersdk.OIDCAuthMethod](#codersdkoidcauthmethod)|false||| +|`password`|[codersdk.AuthMethod](#codersdkauthmethod)|false||| +|`terms_of_service_url`|string|false||| ## codersdk.AuthorizationCheck ```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": "*" + } } ``` @@ -813,29 +825,29 @@ 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. | +|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` | -| `action` | `delete` | +|Property|Value| +|---|---| +|`action`|`create`| +|`action`|`read`| +|`action`|`update`| +|`action`|`delete`| ## codersdk.AuthorizationObject ```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": "*" } ``` @@ -843,64 +855,64 @@ 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. | -| `resource_id` | string | false | | Resource ID (optional) reduces the set to a singular resource. This assigns a resource ID to the resource type, eg: a single workspace. The rbac library will not fetch the resource from the database, so if you are using this option, you should also set the owner ID and organization ID if possible. Be as specific as possible using all the fields relevant. | -| `resource_type` | [codersdk.RBACResource](#codersdkrbacresource) | false | | Resource type is the name of the resource. `./coderd/rbac/object.go` has the list of valid resource types. | +|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.| +|`resource_id`|string|false||Resource ID (optional) reduces the set to a singular resource. This assigns a resource ID to the resource type, eg: a single workspace. The rbac library will not fetch the resource from the database, so if you are using this option, you should also set the owner ID and organization ID if possible. Be as specific as possible using all the fields relevant.| +|`resource_type`|[codersdk.RBACResource](#codersdkrbacresource)|false||Resource type is the name of the resource. `./coderd/rbac/object.go` has the list of valid resource types.| ## codersdk.AuthorizationRequest ```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. | +|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.| ## codersdk.AuthorizationResponse ```json { - "property1": true, - "property2": true + "property1": true, + "property2": true } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ---------------- | ------- | -------- | ------------ | ----------- | -| `[any property]` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[any property]`|boolean|false||| ## codersdk.AutomaticUpdates @@ -912,58 +924,58 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in #### Enumerated Values -| Value | -| -------- | -| `always` | -| `never` | +|Value| +|---| +|`always`| +|`never`| ## codersdk.BannerConfig ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`background_color`|string|false||| +|`enabled`|boolean|false||| +|`message`|string|false||| ## codersdk.BuildInfoResponse ```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. | -| `external_url` | string | false | | External URL references the current Coder version. For production builds, this will link directly to a release. For development builds, this will link to a commit. | -| `provisioner_api_version` | string | false | | Provisioner api version is the current version of the Provisioner API | -| `telemetry` | boolean | false | | Telemetry is a boolean that indicates whether telemetry is enabled. | -| `upgrade_message` | string | false | | Upgrade message is the message displayed to users when an outdated client is detected. | -| `version` | string | false | | Version returns the semantic version of the build. | -| `workspace_proxy` | boolean | false | | | +|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.| +|`external_url`|string|false||External URL references the current Coder version. For production builds, this will link directly to a release. For development builds, this will link to a commit.| +|`provisioner_api_version`|string|false||Provisioner api version is the current version of the Provisioner API| +|`telemetry`|boolean|false||Telemetry is a boolean that indicates whether telemetry is enabled.| +|`upgrade_message`|string|false||Upgrade message is the message displayed to users when an outdated client is detected.| +|`version`|string|false||Version returns the semantic version of the build.| +|`workspace_proxy`|boolean|false||| ## codersdk.BuildReason @@ -975,490 +987,500 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in #### Enumerated Values -| Value | -| ----------- | -| `initiator` | -| `autostart` | -| `autostop` | +|Value| +|---| +|`initiator`| +|`autostart`| +|`autostop`| ## codersdk.ChangePasswordWithOneTimePasscodeRequest ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`email`|string|true||| +|`one_time_passcode`|string|true||| +|`password`|string|true||| ## codersdk.ConnectionLatency ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`p50`|number|false||| +|`p95`|number|false||| ## codersdk.ConvertLoginRequest ```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. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`password`|string|true||| +|`to_type`|[codersdk.LoginType](#codersdklogintype)|true||To type is the login type to convert to.| ## codersdk.CreateFirstUserRequest ```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 | | | -| `trial` | boolean | false | | | -| `trial_info` | [codersdk.CreateFirstUserTrialInfo](#codersdkcreatefirstusertrialinfo) | false | | | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`email`|string|true||| +|`name`|string|false||| +|`password`|string|true||| +|`trial`|boolean|false||| +|`trial_info`|[codersdk.CreateFirstUserTrialInfo](#codersdkcreatefirstusertrialinfo)|false||| +|`username`|string|true||| ## codersdk.CreateFirstUserResponse ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`organization_id`|string|false||| +|`user_id`|string|false||| ## codersdk.CreateFirstUserTrialInfo ```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 | | | -| `first_name` | string | false | | | -| `job_title` | string | false | | | -| `last_name` | string | false | | | -| `phone_number` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`company_name`|string|false||| +|`country`|string|false||| +|`developers`|string|false||| +|`first_name`|string|false||| +|`job_title`|string|false||| +|`last_name`|string|false||| +|`phone_number`|string|false||| ## codersdk.CreateGroupRequest ```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 | | | -| `quota_allowance` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`display_name`|string|false||| +|`name`|string|true||| +|`quota_allowance`|integer|false||| ## codersdk.CreateOrganizationRequest ```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 | | | -| `name` | string | true | | | +|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||| +|`name`|string|true||| ## codersdk.CreateProvisionerKeyResponse ```json { - "key": "string" + "key": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ----- | ------ | -------- | ------------ | ----------- | -| `key` | string | false | | | +|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 | | | +|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||| ## codersdk.CreateTemplateVersionRequest ```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 | | | -| `name` | string | false | | | -| `provisioner` | string | true | | | -| `storage_method` | [codersdk.ProvisionerStorageMethod](#codersdkprovisionerstoragemethod) | true | | | -| `tags` | object | false | | | -| » `[any property]` | string | false | | | -| `template_id` | string | false | | Template ID optionally associates a version with a template. | -| `user_variable_values` | array of [codersdk.VariableValue](#codersdkvariablevalue) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`example_id`|string|false||| +|`file_id`|string|false||| +|`message`|string|false||| +|`name`|string|false||| +|`provisioner`|string|true||| +|`storage_method`|[codersdk.ProvisionerStorageMethod](#codersdkprovisionerstoragemethod)|true||| +|`tags`|object|false||| +|» `[any property]`|string|false||| +|`template_id`|string|false||Template ID optionally associates a version with a template.| +|`user_variable_values`|array of [codersdk.VariableValue](#codersdkvariablevalue)|false||| #### Enumerated Values -| Property | Value | -| ---------------- | ----------- | -| `provisioner` | `terraform` | -| `provisioner` | `echo` | -| `storage_method` | `file` | +|Property|Value| +|---|---| +|`provisioner`|`terraform`| +|`provisioner`|`echo`| +|`storage_method`|`file`| ## codersdk.CreateTestAuditLogRequest ```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 | | | -| `organization_id` | string | false | | | -| `resource_id` | string | false | | | -| `resource_type` | [codersdk.ResourceType](#codersdkresourcetype) | false | | | -| `time` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`action`|[codersdk.AuditAction](#codersdkauditaction)|false||| +|`additional_fields`|array of integer|false||| +|`build_reason`|[codersdk.BuildReason](#codersdkbuildreason)|false||| +|`organization_id`|string|false||| +|`resource_id`|string|false||| +|`resource_type`|[codersdk.ResourceType](#codersdkresourcetype)|false||| +|`time`|string|false||| #### Enumerated Values -| Property | Value | -| --------------- | ------------------ | -| `action` | `create` | -| `action` | `write` | -| `action` | `delete` | -| `action` | `start` | -| `action` | `stop` | -| `build_reason` | `autostart` | -| `build_reason` | `autostop` | -| `build_reason` | `initiator` | -| `resource_type` | `template` | -| `resource_type` | `template_version` | -| `resource_type` | `user` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_build` | -| `resource_type` | `git_ssh_key` | -| `resource_type` | `auditable_group` | +|Property|Value| +|---|---| +|`action`|`create`| +|`action`|`write`| +|`action`|`delete`| +|`action`|`start`| +|`action`|`stop`| +|`build_reason`|`autostart`| +|`build_reason`|`autostop`| +|`build_reason`|`initiator`| +|`resource_type`|`template`| +|`resource_type`|`template_version`| +|`resource_type`|`user`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_build`| +|`resource_type`|`git_ssh_key`| +|`resource_type`|`auditable_group`| ## codersdk.CreateTokenRequest ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`lifetime`|integer|false||| +|`scope`|[codersdk.APIKeyScope](#codersdkapikeyscope)|false||| +|`token_name`|string|false||| #### Enumerated Values -| Property | Value | -| -------- | --------------------- | -| `scope` | `all` | -| `scope` | `application_connect` | +|Property|Value| +|---|---| +|`scope`|`all`| +|`scope`|`application_connect`| ## codersdk.CreateUserRequestWithOrgs ```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 | | | -| `organization_ids` | array of string | false | | Organization ids is a list of organization IDs that the user should be a member of. | -| `password` | string | false | | | -| `user_status` | [codersdk.UserStatus](#codersdkuserstatus) | false | | User status defaults to UserStatusDormant. | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`email`|string|true||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|false||Login type defaults to LoginTypePassword.| +|`name`|string|false||| +|`organization_ids`|array of string|false||Organization ids is a list of organization IDs that the user should be a member of.| +|`password`|string|false||| +|`user_status`|[codersdk.UserStatus](#codersdkuserstatus)|false||User status defaults to UserStatusDormant.| +|`username`|string|true||| ## codersdk.CreateWorkspaceBuildRequest ```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. | -| `rich_parameter_values` | array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter) | false | | Rich parameter values are optional. It will write params to the 'workspace' scope. This will overwrite any existing parameters with the same name. This will not delete old params not included in this list. | -| `state` | array of integer | false | | | -| `template_version_id` | string | false | | | -| `transition` | [codersdk.WorkspaceTransition](#codersdkworkspacetransition) | true | | | +|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.| +|`rich_parameter_values`|array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter)|false||Rich parameter values are optional. It will write params to the 'workspace' scope. This will overwrite any existing parameters with the same name. This will not delete old params not included in this list.| +|`state`|array of integer|false||| +|`template_version_id`|string|false||| +|`transition`|[codersdk.WorkspaceTransition](#codersdkworkspacetransition)|true||| #### Enumerated Values -| Property | Value | -| ------------ | -------- | -| `log_level` | `debug` | -| `transition` | `start` | -| `transition` | `stop` | -| `transition` | `delete` | +|Property|Value| +|---|---| +|`log_level`|`debug`| +|`transition`|`start`| +|`transition`|`stop`| +|`transition`|`delete`| ## codersdk.CreateWorkspaceProxyRequest ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`icon`|string|false||| +|`name`|string|true||| ## codersdk.CreateWorkspaceRequest ```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 } ``` @@ -1466,37 +1488,37 @@ 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 | | | -| `rich_parameter_values` | array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter) | false | | Rich parameter values allows for additional parameters to be provided during the initial provision. | -| `template_id` | string | false | | Template ID specifies which template should be used for creating the workspace. | -| `template_version_id` | string | false | | Template version ID can be used to specify a specific version of a template for creating the workspace. | -| `ttl_ms` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`automatic_updates`|[codersdk.AutomaticUpdates](#codersdkautomaticupdates)|false||| +|`autostart_schedule`|string|false||| +|`name`|string|true||| +|`rich_parameter_values`|array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter)|false||Rich parameter values allows for additional parameters to be provided during the initial provision.| +|`template_id`|string|false||Template ID specifies which template should be used for creating the workspace.| +|`template_version_id`|string|false||Template version ID can be used to specify a specific version of a template for creating the workspace.| +|`ttl_ms`|integer|false||| ## codersdk.CryptoKey ```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 | | | -| `sequence` | integer | false | | | -| `starts_at` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`deletes_at`|string|false||| +|`feature`|[codersdk.CryptoKeyFeature](#codersdkcryptokeyfeature)|false||| +|`secret`|string|false||| +|`sequence`|integer|false||| +|`starts_at`|string|false||| ## codersdk.CryptoKeyFeature @@ -1508,1073 +1530,1163 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------------------------ | -| `workspace_apps_api_key` | -| `workspace_apps_token` | -| `oidc_convert` | -| `tailnet_resume` | +|Value| +|---| +|`workspace_apps_api_key`| +|`workspace_apps_token`| +|`oidc_convert`| +|`tailnet_resume`| ## codersdk.CustomRoleRequest ```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. | -| `site_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | -| `user_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | +|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.| +|`site_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| +|`user_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| ## codersdk.DAUEntry ```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. | +|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.| ## codersdk.DAUsResponse ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`entries`|array of [codersdk.DAUEntry](#codersdkdauentry)|false||| +|`tz_hour_offset`|integer|false||| ## codersdk.DERP ```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"] - } -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| -------- | ------------------------------------------------------ | -------- | ------------ | ----------- | -| `config` | [codersdk.DERPConfig](#codersdkderpconfig) | false | | | -| `server` | [codersdk.DERPServerConfig](#codersdkderpserverconfig) | false | | | + "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||| ## codersdk.DERPConfig ```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 | | | -| `url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`block_direct`|boolean|false||| +|`force_websockets`|boolean|false||| +|`path`|string|false||| +|`url`|string|false||| ## codersdk.DERPRegion ```json { - "latency_ms": 0, - "preferred": true + "latency_ms": 0, + "preferred": true } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------------ | ------- | -------- | ------------ | ----------- | -| `latency_ms` | number | false | | | -| `preferred` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`latency_ms`|number|false||| +|`preferred`|boolean|false||| ## codersdk.DERPServerConfig ```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 | | | -| `region_name` | string | false | | | -| `relay_url` | [serpent.URL](#serpenturl) | false | | | -| `stun_addresses` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`enable`|boolean|false||| +|`region_code`|string|false||| +|`region_id`|integer|false||| +|`region_name`|string|false||| +|`relay_url`|[serpent.URL](#serpenturl)|false||| +|`stun_addresses`|array of string|false||| ## codersdk.DangerousConfig ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`allow_all_cors`|boolean|false||| +|`allow_path_app_sharing`|boolean|false||| +|`allow_path_app_site_owner_access`|boolean|false||| ## codersdk.DeleteWorkspaceAgentPortShareRequest ```json { - "agent_name": "string", - "port": 0 + "agent_name": "string", + "port": 0 } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------------ | ------- | -------- | ------------ | ----------- | -| `agent_name` | string | false | | | -| `port` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_name`|string|false||| +|`port`|integer|false||| ## codersdk.DeploymentConfig ```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" - } - ] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| --------- | ------------------------------------------------------ | -------- | ------------ | ----------- | -| `config` | [codersdk.DeploymentValues](#codersdkdeploymentvalues) | false | | | -| `options` | array of [serpent.Option](#serpentoption) | false | | | + "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" + } + ] +} +``` + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`config`|[codersdk.DeploymentValues](#codersdkdeploymentvalues)|false||| +|`options`|array of [serpent.Option](#serpentoption)|false||| ## codersdk.DeploymentStats ```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. | -| `session_count` | [codersdk.SessionCountDeploymentStats](#codersdksessioncountdeploymentstats) | false | | | -| `workspaces` | [codersdk.WorkspaceDeploymentStats](#codersdkworkspacedeploymentstats) | false | | | +|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.| +|`session_count`|[codersdk.SessionCountDeploymentStats](#codersdksessioncountdeploymentstats)|false||| +|`workspaces`|[codersdk.WorkspaceDeploymentStats](#codersdkworkspacedeploymentstats)|false||| ## codersdk.DeploymentValues ```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 -} -``` - -### 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. | -| `agent_fallback_troubleshooting_url` | [serpent.URL](#serpenturl) | false | | | -| `agent_stat_refresh_interval` | integer | false | | | -| `allow_workspace_renames` | boolean | false | | | -| `autobuild_poll_interval` | integer | false | | | -| `browser_only` | boolean | false | | | -| `cache_directory` | string | false | | | -| `cli_upgrade_message` | string | false | | | -| `config` | string | false | | | -| `config_ssh` | [codersdk.SSHConfig](#codersdksshconfig) | false | | | -| `dangerous` | [codersdk.DangerousConfig](#codersdkdangerousconfig) | false | | | -| `derp` | [codersdk.DERP](#codersdkderp) | false | | | -| `disable_owner_workspace_exec` | boolean | false | | | -| `disable_password_auth` | boolean | false | | | -| `disable_path_apps` | boolean | false | | | -| `docs_url` | [serpent.URL](#serpenturl) | false | | | -| `enable_terraform_debug_mode` | 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 | | | -| `healthcheck` | [codersdk.HealthcheckConfig](#codersdkhealthcheckconfig) | false | | | -| `http_address` | string | false | | Http address is a string because it may be set to zero to disable. | -| `in_memory_database` | boolean | false | | | -| `job_hang_detector_interval` | integer | false | | | -| `logging` | [codersdk.LoggingConfig](#codersdkloggingconfig) | false | | | -| `metrics_cache_refresh_interval` | integer | false | | | -| `notifications` | [codersdk.NotificationsConfig](#codersdknotificationsconfig) | false | | | -| `oauth2` | [codersdk.OAuth2Config](#codersdkoauth2config) | false | | | -| `oidc` | [codersdk.OIDCConfig](#codersdkoidcconfig) | false | | | -| `pg_auth` | string | false | | | -| `pg_connection_url` | string | false | | | -| `pprof` | [codersdk.PprofConfig](#codersdkpprofconfig) | false | | | -| `prometheus` | [codersdk.PrometheusConfig](#codersdkprometheusconfig) | false | | | -| `provisioner` | [codersdk.ProvisionerConfig](#codersdkprovisionerconfig) | false | | | -| `proxy_health_status_interval` | integer | false | | | -| `proxy_trusted_headers` | array of string | false | | | -| `proxy_trusted_origins` | array of string | false | | | -| `rate_limit` | [codersdk.RateLimitConfig](#codersdkratelimitconfig) | false | | | -| `redirect_to_access_url` | boolean | false | | | -| `scim_api_key` | string | false | | | -| `secure_auth_cookie` | boolean | false | | | -| `session_lifetime` | [codersdk.SessionLifetime](#codersdksessionlifetime) | false | | | -| `ssh_keygen_algorithm` | string | false | | | -| `strict_transport_security` | integer | false | | | -| `strict_transport_security_options` | array of string | false | | | -| `support` | [codersdk.SupportConfig](#codersdksupportconfig) | false | | | -| `swagger` | [codersdk.SwaggerConfig](#codersdkswaggerconfig) | false | | | -| `telemetry` | [codersdk.TelemetryConfig](#codersdktelemetryconfig) | false | | | -| `terms_of_service_url` | string | false | | | -| `tls` | [codersdk.TLSConfig](#codersdktlsconfig) | false | | | -| `trace` | [codersdk.TraceConfig](#codersdktraceconfig) | false | | | -| `update_check` | boolean | false | | | -| `user_quiet_hours_schedule` | [codersdk.UserQuietHoursScheduleConfig](#codersdkuserquiethoursscheduleconfig) | false | | | -| `verbose` | boolean | false | | | -| `web_terminal_renderer` | string | false | | | -| `wgtunnel_host` | string | false | | | -| `wildcard_access_url` | string | false | | | -| `write_config` | boolean | false | | | + "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 +} +``` + +### 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.| +|`agent_fallback_troubleshooting_url`|[serpent.URL](#serpenturl)|false||| +|`agent_stat_refresh_interval`|integer|false||| +|`allow_workspace_renames`|boolean|false||| +|`autobuild_poll_interval`|integer|false||| +|`browser_only`|boolean|false||| +|`cache_directory`|string|false||| +|`cli_upgrade_message`|string|false||| +|`config`|string|false||| +|`config_ssh`|[codersdk.SSHConfig](#codersdksshconfig)|false||| +|`dangerous`|[codersdk.DangerousConfig](#codersdkdangerousconfig)|false||| +|`derp`|[codersdk.DERP](#codersdkderp)|false||| +|`disable_owner_workspace_exec`|boolean|false||| +|`disable_password_auth`|boolean|false||| +|`disable_path_apps`|boolean|false||| +|`docs_url`|[serpent.URL](#serpenturl)|false||| +|`enable_terraform_debug_mode`|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||| +|`healthcheck`|[codersdk.HealthcheckConfig](#codersdkhealthcheckconfig)|false||| +|`http_address`|string|false||Http address is a string because it may be set to zero to disable.| +|`in_memory_database`|boolean|false||| +|`job_hang_detector_interval`|integer|false||| +|`logging`|[codersdk.LoggingConfig](#codersdkloggingconfig)|false||| +|`metrics_cache_refresh_interval`|integer|false||| +|`notifications`|[codersdk.NotificationsConfig](#codersdknotificationsconfig)|false||| +|`oauth2`|[codersdk.OAuth2Config](#codersdkoauth2config)|false||| +|`oidc`|[codersdk.OIDCConfig](#codersdkoidcconfig)|false||| +|`pg_auth`|string|false||| +|`pg_connection_url`|string|false||| +|`pprof`|[codersdk.PprofConfig](#codersdkpprofconfig)|false||| +|`prometheus`|[codersdk.PrometheusConfig](#codersdkprometheusconfig)|false||| +|`provisioner`|[codersdk.ProvisionerConfig](#codersdkprovisionerconfig)|false||| +|`proxy_health_status_interval`|integer|false||| +|`proxy_trusted_headers`|array of string|false||| +|`proxy_trusted_origins`|array of string|false||| +|`rate_limit`|[codersdk.RateLimitConfig](#codersdkratelimitconfig)|false||| +|`redirect_to_access_url`|boolean|false||| +|`scim_api_key`|string|false||| +|`secure_auth_cookie`|boolean|false||| +|`session_lifetime`|[codersdk.SessionLifetime](#codersdksessionlifetime)|false||| +|`ssh_keygen_algorithm`|string|false||| +|`strict_transport_security`|integer|false||| +|`strict_transport_security_options`|array of string|false||| +|`support`|[codersdk.SupportConfig](#codersdksupportconfig)|false||| +|`swagger`|[codersdk.SwaggerConfig](#codersdkswaggerconfig)|false||| +|`telemetry`|[codersdk.TelemetryConfig](#codersdktelemetryconfig)|false||| +|`terms_of_service_url`|string|false||| +|`tls`|[codersdk.TLSConfig](#codersdktlsconfig)|false||| +|`trace`|[codersdk.TraceConfig](#codersdktraceconfig)|false||| +|`update_check`|boolean|false||| +|`user_quiet_hours_schedule`|[codersdk.UserQuietHoursScheduleConfig](#codersdkuserquiethoursscheduleconfig)|false||| +|`verbose`|boolean|false||| +|`web_terminal_renderer`|string|false||| +|`wgtunnel_host`|string|false||| +|`wildcard_access_url`|string|false||| +|`write_config`|boolean|false||| ## codersdk.DisplayApp @@ -2586,13 +2698,13 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------------------------ | -| `vscode` | -| `vscode_insiders` | -| `web_terminal` | -| `port_forwarding_helper` | -| `ssh_helper` | +|Value| +|---| +|`vscode`| +|`vscode_insiders`| +|`web_terminal`| +|`port_forwarding_helper`| +|`ssh_helper`| ## codersdk.Entitlement @@ -2604,51 +2716,55 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| -------------- | -| `entitled` | -| `grace_period` | -| `not_entitled` | +|Value| +|---| +|`entitled`| +|`grace_period`| +|`not_entitled`| ## codersdk.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"] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ------------------- | ------------------------------------ | -------- | ------------ | ----------- | -| `errors` | array of string | false | | | -| `features` | object | false | | | -| » `[any property]` | [codersdk.Feature](#codersdkfeature) | false | | | -| `has_license` | boolean | false | | | -| `refreshed_at` | string | false | | | -| `require_telemetry` | boolean | false | | | -| `trial` | boolean | false | | | -| `warnings` | array of string | false | | | + "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||| +|`has_license`|boolean|false||| +|`refreshed_at`|string|false||| +|`require_telemetry`|boolean|false||| +|`trial`|boolean|false||| +|`warnings`|array of string|false||| ## codersdk.Experiment @@ -2660,333 +2776,337 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ---------------------- | -| `example` | -| `auto-fill-parameters` | -| `notifications` | -| `workspace-usage` | +|Value| +|---| +|`example`| +|`auto-fill-parameters`| +|`notifications`| +|`workspace-usage`| ## codersdk.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" - } -} -``` - -### 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 | | | -| `device` | boolean | false | | | -| `display_name` | string | false | | | -| `installations` | array of [codersdk.ExternalAuthAppInstallation](#codersdkexternalauthappinstallation) | false | | Installations are the installations that the user has access to. | -| `user` | [codersdk.ExternalAuthUser](#codersdkexternalauthuser) | false | | User is the user that authenticated with the provider. | + "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||| +|`device`|boolean|false||| +|`display_name`|string|false||| +|`installations`|array of [codersdk.ExternalAuthAppInstallation](#codersdkexternalauthappinstallation)|false||Installations are the installations that the user has access to.| +|`user`|[codersdk.ExternalAuthUser](#codersdkexternalauthuser)|false||User is the user that authenticated with the provider.| ## codersdk.ExternalAuthAppInstallation ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`account`|[codersdk.ExternalAuthUser](#codersdkexternalauthuser)|false||| +|`configure_url`|string|false||| +|`id`|integer|false||| ## codersdk.ExternalAuthConfig ```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 | | | -| `user_code` | string | false | | | -| `verification_uri` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`device_code`|string|false||| +|`expires_in`|integer|false||| +|`interval`|integer|false||| +|`user_code`|string|false||| +|`verification_uri`|string|false||| ## codersdk.ExternalAuthLink ```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 | | | -| `has_refresh_token` | boolean | false | | | -| `provider_id` | string | false | | | -| `updated_at` | string | false | | | -| `validate_error` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`authenticated`|boolean|false||| +|`created_at`|string|false||| +|`expires`|string|false||| +|`has_refresh_token`|boolean|false||| +|`provider_id`|string|false||| +|`updated_at`|string|false||| +|`validate_error`|string|false||| ## codersdk.ExternalAuthUser ```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 | | | -| `name` | string | false | | | -| `profile_url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`id`|integer|false||| +|`login`|string|false||| +|`name`|string|false||| +|`profile_url`|string|false||| ## codersdk.Feature ```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 | | | -| `limit` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`actual`|integer|false||| +|`enabled`|boolean|false||| +|`entitlement`|[codersdk.Entitlement](#codersdkentitlement)|false||| +|`limit`|integer|false||| ## codersdk.GenerateAPIKeyResponse ```json { - "key": "string" + "key": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ----- | ------ | -------- | ------------ | ----------- | -| `key` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`key`|string|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`count`|integer|false||| +|`users`|array of [codersdk.User](#codersdkuser)|false||| ## codersdk.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" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------------ | ------ | -------- | ------------ | ----------- | -| `created_at` | string | false | | | -| `public_key` | string | false | | | -| `updated_at` | string | false | | | -| `user_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`public_key`|string|false||| +|`updated_at`|string|false||| +|`user_id`|string|false||| ## codersdk.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 -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| --------------------------- | ----------------------------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `avatar_url` | string | false | | | -| `display_name` | string | false | | | -| `id` | string | false | | | -| `members` | array of [codersdk.ReducedUser](#codersdkreduceduser) | false | | | -| `name` | string | false | | | -| `organization_display_name` | string | false | | | -| `organization_id` | string | false | | | -| `organization_name` | string | false | | | -| `quota_allowance` | integer | false | | | -| `source` | [codersdk.GroupSource](#codersdkgroupsource) | false | | | -| `total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. | + "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||| +|`members`|array of [codersdk.ReducedUser](#codersdkreduceduser)|false||| +|`name`|string|false||| +|`organization_display_name`|string|false||| +|`organization_id`|string|false||| +|`organization_name`|string|false||| +|`quota_allowance`|integer|false||| +|`source`|[codersdk.GroupSource](#codersdkgroupsource)|false||| +|`total_member_count`|integer|false||How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`.| ## codersdk.GroupSource @@ -2998,74 +3118,78 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------ | -| `user` | -| `oidc` | +|Value| +|---| +|`user`| +|`oidc`| ## codersdk.GroupSyncSettings ```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 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 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. | +|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 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 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.| ## codersdk.Healthcheck ```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. | +|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.| ## codersdk.HealthcheckConfig ```json { - "refresh": 0, - "threshold_database": 0 + "refresh": 0, + "threshold_database": 0 } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| -------------------- | ------- | -------- | ------------ | ----------- | -| `refresh` | integer | false | | | -| `threshold_database` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`refresh`|integer|false||| +|`threshold_database`|integer|false||| ## codersdk.InsightsReportInterval @@ -3077,64 +3201,64 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------ | -| `day` | -| `week` | +|Value| +|---| +|`day`| +|`week`| ## codersdk.IssueReconnectingPTYSignedTokenRequest ```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. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agentID`|string|true||| +|`url`|string|true||URL is the URL of the reconnecting-pty endpoint you are connecting to.| ## codersdk.IssueReconnectingPTYSignedTokenResponse ```json { - "signed_token": "string" + "signed_token": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| -------------- | ------ | -------- | ------------ | ----------- | -| `signed_token` | string | false | | | +|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 | | | -| `medium` | integer | false | | | -| `results_url` | string | false | | | -| `workspace_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_id`|string|false||| +|`critical`|integer|false||| +|`high`|integer|false||| +|`medium`|integer|false||| +|`results_url`|string|false||| +|`workspace_id`|string|false||| ## codersdk.JobErrorCode @@ -3146,55 +3270,55 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ----------------------------- | -| `REQUIRED_TEMPLATE_VARIABLES` | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`icon`|string|false||| +|`name`|string|false||| +|`target`|string|false||| #### Enumerated Values -| Property | Value | -| -------- | ------ | -| `icon` | `bug` | -| `icon` | `chat` | -| `icon` | `docs` | +|Property|Value| +|---|---| +|`icon`|`bug`| +|`icon`|`chat`| +|`icon`|`docs`| ## codersdk.LogLevel @@ -3206,13 +3330,13 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------- | -| `trace` | -| `debug` | -| `info` | -| `warn` | -| `error` | +|Value| +|---| +|`trace`| +|`debug`| +|`info`| +|`warn`| +|`error`| ## codersdk.LogSource @@ -3224,30 +3348,32 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| -------------------- | -| `provisioner_daemon` | -| `provisioner` | +|Value| +|---| +|`provisioner_daemon`| +|`provisioner`| ## codersdk.LoggingConfig ```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 | | | -| `stackdriver` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`human`|string|false||| +|`json`|string|false||| +|`log_filter`|array of string|false||| +|`stackdriver`|string|false||| ## codersdk.LoginType @@ -3259,1023 +3385,1055 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ---------- | -| `` | -| `password` | -| `github` | -| `oidc` | -| `token` | -| `none` | +|Value| +|---| +|``| +|`password`| +|`github`| +|`oidc`| +|`token`| +|`none`| ## codersdk.LoginWithPasswordRequest ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`email`|string|true||| +|`password`|string|true||| ## codersdk.LoginWithPasswordResponse ```json { - "session_token": "string" + "session_token": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| --------------- | ------ | -------- | ------------ | ----------- | -| `session_token` | string | true | | | +|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. | +|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.| ## codersdk.MinimalOrganization ```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 | | | -| `name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`icon`|string|false||| +|`id`|string|true||| +|`name`|string|false||| ## codersdk.MinimalUser ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`id`|string|true||| +|`username`|string|true||| ## codersdk.NotificationMethodsResponse ```json { - "available": ["string"], - "default": "string" + "available": [ + "string" + ], + "default": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ----------- | --------------- | -------- | ------------ | ----------- | -| `available` | array of string | false | | | -| `default` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`available`|array of string|false||| +|`default`|string|false||| ## codersdk.NotificationPreference ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`disabled`|boolean|false||| +|`id`|string|false||| +|`updated_at`|string|false||| ## codersdk.NotificationTemplate ```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", + "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||| +|`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": {} - } - } -} -``` - -### 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. | -| `lease_count` | integer | false | | How many notifications a notifier should lease per fetch interval. | -| `lease_period` | integer | false | | How long a notifier should lease a message. This is effectively how long a notification is 'owned' by a notifier, and once this period expires it will be available for lease by another notifier. Leasing is important in order for multiple running notifiers to not pick the same messages to deliver concurrently. This lease period will only expire if a notifier shuts down ungracefully; a dispatch of the notification releases the lease. | -| `max_send_attempts` | integer | false | | The upper limit of attempts to send a notification. | -| `method` | string | false | | Which delivery method to use (available options: 'smtp', 'webhook'). | -| `retry_interval` | integer | false | | The minimum time between retries. | -| `sync_buffer_size` | integer | false | | The notifications system buffers message updates in memory to ease pressure on the database. This option controls how many updates are kept in memory. The lower this value the lower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the database. It is recommended to keep this option at its default value. | -| `sync_interval` | integer | false | | The notifications system buffers message updates in memory to ease pressure on the database. This option controls how often it synchronizes its state with the database. The shorter this value the lower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the database. It is recommended to keep this option at its default value. | -| `webhook` | [codersdk.NotificationsWebhookConfig](#codersdknotificationswebhookconfig) | false | | Webhook settings. | + "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.| +|`lease_count`|integer|false||How many notifications a notifier should lease per fetch interval.| +|`lease_period`|integer|false||How long a notifier should lease a message. This is effectively how long a notification is 'owned' by a notifier, and once this period expires it will be available for lease by another notifier. Leasing is important in order for multiple running notifiers to not pick the same messages to deliver concurrently. This lease period will only expire if a notifier shuts down ungracefully; a dispatch of the notification releases the lease.| +|`max_send_attempts`|integer|false||The upper limit of attempts to send a notification.| +|`method`|string|false||Which delivery method to use (available options: 'smtp', 'webhook').| +|`retry_interval`|integer|false||The minimum time between retries.| +|`sync_buffer_size`|integer|false||The notifications system buffers message updates in memory to ease pressure on the database. This option controls how many updates are kept in memory. The lower this value the lower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the database. It is recommended to keep this option at its default value.| +|`sync_interval`|integer|false||The notifications system buffers message updates in memory to ease pressure on the database. This option controls how often it synchronizes its state with the database. The shorter this value the lower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the database. It is recommended to keep this option at its default value.| +|`webhook`|[codersdk.NotificationsWebhookConfig](#codersdknotificationswebhookconfig)|false||Webhook settings.| ## codersdk.NotificationsEmailAuthConfig ```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. | -| `username` | string | false | | Username for LOGIN/PLAIN auth. | +|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.| +|`username`|string|false||Username for LOGIN/PLAIN auth.| ## codersdk.NotificationsEmailConfig ```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. | -| `hello` | string | false | | The hostname identifying the SMTP server. | -| `smarthost` | string | false | | The intermediary SMTP host through which emails are sent (host:port). | -| `tls` | [codersdk.NotificationsEmailTLSConfig](#codersdknotificationsemailtlsconfig) | false | | Tls details. | +|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.| +|`hello`|string|false||The hostname identifying the SMTP server.| +|`smarthost`|string|false||The intermediary SMTP host through which emails are sent (host:port).| +|`tls`|[codersdk.NotificationsEmailTLSConfig](#codersdknotificationsemailtlsconfig)|false||Tls details.| ## codersdk.NotificationsEmailTLSConfig ```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. | -| `key_file` | string | false | | Key file specifies the location of the key to use. | -| `server_name` | string | false | | Server name to verify the hostname for the targets. | -| `start_tls` | boolean | false | | Start tls attempts to upgrade plain connections to TLS. | +|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.| +|`key_file`|string|false||Key file specifies the location of the key to use.| +|`server_name`|string|false||Server name to verify the hostname for the targets.| +|`start_tls`|boolean|false||Start tls attempts to upgrade plain connections to TLS.| ## codersdk.NotificationsSettings ```json { - "notifier_paused": true + "notifier_paused": true } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ----------------- | ------- | -------- | ------------ | ----------- | -| `notifier_paused` | boolean | false | | | +|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. | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`authorization`|string|false||| +|`device_authorization`|string|false||Device authorization is optional.| +|`token`|string|false||| ## codersdk.OAuth2Config ```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 | | | +|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 | | | -| `allowed_teams` | array of string | false | | | -| `client_id` | string | false | | | -| `client_secret` | string | false | | | -| `enterprise_base_url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`allow_everyone`|boolean|false||| +|`allow_signups`|boolean|false||| +|`allowed_orgs`|array of string|false||| +|`allowed_teams`|array of string|false||| +|`client_id`|string|false||| +|`client_secret`|string|false||| +|`enterprise_base_url`|string|false||| ## codersdk.OAuth2ProviderApp ```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 | | | -| `id` | string | false | | | -| `name` | string | false | | | +|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||| +|`id`|string|false||| +|`name`|string|false||| ## codersdk.OAuth2ProviderAppSecret ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`client_secret_truncated`|string|false||| +|`id`|string|false||| +|`last_used_at`|string|false||| ## codersdk.OAuth2ProviderAppSecretFull ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`client_secret_full`|string|false||| +|`id`|string|false||| ## codersdk.OAuthConversionResponse ```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 | | | -| `user_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`expires_at`|string|false||| +|`state_string`|string|false||| +|`to_type`|[codersdk.LoginType](#codersdklogintype)|false||| +|`user_id`|string|false||| ## codersdk.OIDCAuthMethod ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`enabled`|boolean|false||| +|`iconUrl`|string|false||| +|`signInText`|string|false||| ## codersdk.OIDCConfig ```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" -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ----------------------------- | -------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------- | -| `allow_signups` | boolean | false | | | -| `auth_url_params` | object | false | | | -| `client_cert_file` | string | false | | | -| `client_id` | string | false | | | -| `client_key_file` | string | false | | Client key file & ClientCertFile are used in place of ClientSecret for PKI auth. | -| `client_secret` | string | false | | | -| `email_domain` | array of string | false | | | -| `email_field` | string | false | | | -| `group_allow_list` | array of string | false | | | -| `group_auto_create` | boolean | false | | | -| `group_mapping` | object | false | | | -| `group_regex_filter` | [serpent.Regexp](#serpentregexp) | false | | | -| `groups_field` | string | false | | | -| `icon_url` | [serpent.URL](#serpenturl) | false | | | -| `ignore_email_verified` | boolean | false | | | -| `ignore_user_info` | boolean | false | | | -| `issuer_url` | string | false | | | -| `name_field` | string | false | | | -| `organization_assign_default` | boolean | false | | | -| `organization_field` | string | false | | | -| `organization_mapping` | object | false | | | -| `scopes` | array of string | false | | | -| `sign_in_text` | string | false | | | -| `signups_disabled_text` | string | false | | | -| `skip_issuer_checks` | boolean | false | | | -| `user_role_field` | string | false | | | -| `user_role_mapping` | object | false | | | -| `user_roles_default` | array of string | false | | | -| `username_field` | string | false | | | + "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||| +|`client_id`|string|false||| +|`client_key_file`|string|false||Client key file & ClientCertFile are used in place of ClientSecret for PKI auth.| +|`client_secret`|string|false||| +|`email_domain`|array of string|false||| +|`email_field`|string|false||| +|`group_allow_list`|array of string|false||| +|`group_auto_create`|boolean|false||| +|`group_mapping`|object|false||| +|`group_regex_filter`|[serpent.Regexp](#serpentregexp)|false||| +|`groups_field`|string|false||| +|`icon_url`|[serpent.URL](#serpenturl)|false||| +|`ignore_email_verified`|boolean|false||| +|`ignore_user_info`|boolean|false||| +|`issuer_url`|string|false||| +|`name_field`|string|false||| +|`organization_assign_default`|boolean|false||| +|`organization_field`|string|false||| +|`organization_mapping`|object|false||| +|`scopes`|array of string|false||| +|`sign_in_text`|string|false||| +|`signups_disabled_text`|string|false||| +|`skip_issuer_checks`|boolean|false||| +|`user_role_field`|string|false||| +|`user_role_mapping`|object|false||| +|`user_roles_default`|array of string|false||| +|`username_field`|string|false||| ## codersdk.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" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| -------------- | ------- | -------- | ------------ | ----------- | -| `created_at` | string | true | | | -| `description` | string | false | | | -| `display_name` | string | false | | | -| `icon` | string | false | | | -| `id` | string | true | | | -| `is_default` | boolean | true | | | -| `name` | string | false | | | -| `updated_at` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|true||| +|`description`|string|false||| +|`display_name`|string|false||| +|`icon`|string|false||| +|`id`|string|true||| +|`is_default`|boolean|true||| +|`name`|string|false||| +|`updated_at`|string|true||| ## codersdk.OrganizationMember ```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 | | | -| `updated_at` | string | false | | | -| `user_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`organization_id`|string|false||| +|`roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`updated_at`|string|false||| +|`user_id`|string|false||| ## codersdk.OrganizationMemberWithUserData ```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" -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ----------------- | ----------------------------------------------- | -------- | ------------ | ----------- | -| `avatar_url` | string | false | | | -| `created_at` | string | false | | | -| `email` | string | false | | | -| `global_roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | -| `roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | | -| `updated_at` | string | false | | | -| `user_id` | string | false | | | -| `username` | string | false | | | + "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||| +|`global_roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`name`|string|false||| +|`organization_id`|string|false||| +|`roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`updated_at`|string|false||| +|`user_id`|string|false||| +|`username`|string|false||| ## codersdk.OrganizationSyncSettings ```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. | +|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.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 | | | -| `name` | string | false | | | -| `quota_allowance` | integer | false | | | -| `remove_users` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`add_users`|array of string|false||| +|`avatar_url`|string|false||| +|`display_name`|string|false||| +|`name`|string|false||| +|`quota_allowance`|integer|false||| +|`remove_users`|array of string|false||| ## codersdk.PatchTemplateVersionRequest ```json { - "message": "string", - "name": "string" + "message": "string", + "name": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| --------- | ------ | -------- | ------------ | ----------- | -| `message` | string | false | | | -| `name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`message`|string|false||| +|`name`|string|false||| ## codersdk.PatchWorkspaceProxy ```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 | | | -| `name` | string | true | | | -| `regenerate_token` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|true||| +|`icon`|string|true||| +|`id`|string|true||| +|`name`|string|true||| +|`regenerate_token`|boolean|false||| ## codersdk.Permission ```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 | | | +|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||| ## codersdk.PostOAuth2ProviderAppRequest ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`callback_url`|string|true||| +|`icon`|string|false||| +|`name`|string|true||| ## codersdk.PostWorkspaceUsageRequest ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_id`|string|false||| +|`app_name`|[codersdk.UsageAppName](#codersdkusageappname)|false||| ## codersdk.PprofConfig ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`address`|[serpent.HostPort](#serpenthostport)|false||| +|`enable`|boolean|false||| ## codersdk.PrometheusConfig ```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 | | | -| `collect_db_metrics` | boolean | false | | | -| `enable` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`address`|[serpent.HostPort](#serpenthostport)|false||| +|`aggregate_agent_stats_by`|array of string|false||| +|`collect_agent_stats`|boolean|false||| +|`collect_db_metrics`|boolean|false||| +|`enable`|boolean|false||| ## codersdk.ProvisionerConfig ```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 | | | -| `daemon_types` | array of string | false | | | -| `daemons` | integer | false | | Daemons is the number of built-in terraform provisioners. | -| `force_cancel_interval` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`daemon_poll_interval`|integer|false||| +|`daemon_poll_jitter`|integer|false||| +|`daemon_psk`|string|false||| +|`daemon_types`|array of string|false||| +|`daemons`|integer|false||Daemons is the number of built-in terraform provisioners.| +|`force_cancel_interval`|integer|false||| ## codersdk.ProvisionerDaemon ```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", + "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" } ``` ### 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| +|---|---|---|---|---| +|`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||| ## 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 | | | + "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||| #### Enumerated Values -| Property | Value | -| ------------ | ----------------------------- | -| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | +|Property|Value| +|---|---| +|`error_code`|`REQUIRED_TEMPLATE_VARIABLES`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| ## 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 | | | -| `log_source` | [codersdk.LogSource](#codersdklogsource) | false | | | -| `output` | string | false | | | -| `stage` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`id`|integer|false||| +|`log_level`|[codersdk.LogLevel](#codersdkloglevel)|false||| +|`log_source`|[codersdk.LogSource](#codersdklogsource)|false||| +|`output`|string|false||| +|`stage`|string|false||| #### Enumerated Values -| Property | Value | -| ----------- | ------- | -| `log_level` | `trace` | -| `log_level` | `debug` | -| `log_level` | `info` | -| `log_level` | `warn` | -| `log_level` | `error` | +|Property|Value| +|---|---| +|`log_level`|`trace`| +|`log_level`|`debug`| +|`log_level`|`info`| +|`log_level`|`warn`| +|`log_level`|`error`| ## codersdk.ProvisionerJobStatus @@ -4287,96 +4445,98 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ----------- | -| `pending` | -| `running` | -| `succeeded` | -| `canceling` | -| `canceled` | -| `failed` | -| `unknown` | +|Value| +|---| +|`pending`| +|`running`| +|`succeeded`| +|`canceling`| +|`canceled`| +|`failed`| +|`unknown`| ## 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 | | | -| `organization` | string | false | | | -| `tags` | [codersdk.ProvisionerKeyTags](#codersdkprovisionerkeytags) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`id`|string|false||| +|`name`|string|false||| +|`organization`|string|false||| +|`tags`|[codersdk.ProvisionerKeyTags](#codersdkprovisionerkeytags)|false||| ## codersdk.ProvisionerKeyDaemons ```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" - } - } -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| --------- | ----------------------------------------------------------------- | -------- | ------------ | ----------- | -| `daemons` | array of [codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon) | false | | | -| `key` | [codersdk.ProvisionerKey](#codersdkprovisionerkey) | false | | | + "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" + } + } +} +``` + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`daemons`|array of [codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon)|false||| +|`key`|[codersdk.ProvisionerKey](#codersdkprovisionerkey)|false||| ## codersdk.ProvisionerKeyTags ```json { - "property1": "string", - "property2": "string" + "property1": "string", + "property2": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ---------------- | ------ | -------- | ------------ | ----------- | -| `[any property]` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[any property]`|string|false||| ## codersdk.ProvisionerLogLevel @@ -4388,9 +4548,9 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------- | -| `debug` | +|Value| +|---| +|`debug`| ## codersdk.ProvisionerStorageMethod @@ -4402,51 +4562,55 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------ | -| `file` | +|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 | | | -| `resource` | string | false | | | -| `source` | string | false | | | -| `stage` | [codersdk.TimingStage](#codersdktimingstage) | false | | | -| `started_at` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`action`|string|false||| +|`ended_at`|string|false||| +|`job_id`|string|false||| +|`resource`|string|false||| +|`source`|string|false||| +|`stage`|[codersdk.TimingStage](#codersdktimingstage)|false||| +|`started_at`|string|false||| ## codersdk.ProxyHealthReport ```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. | +|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.| ## codersdk.ProxyHealthStatus @@ -4458,44 +4622,44 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| -------------- | -| `ok` | -| `unreachable` | -| `unhealthy` | -| `unregistered` | +|Value| +|---| +|`ok`| +|`unreachable`| +|`unhealthy`| +|`unregistered`| ## codersdk.PutExtendWorkspaceRequest ```json { - "deadline": "2019-08-24T14:15:22Z" + "deadline": "2019-08-24T14:15:22Z" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ---------- | ------ | -------- | ------------ | ----------- | -| `deadline` | string | true | | | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`callback_url`|string|true||| +|`icon`|string|false||| +|`name`|string|true||| ## codersdk.RBACAction @@ -4507,21 +4671,21 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| --------------------- | -| `application_connect` | -| `assign` | -| `create` | -| `delete` | -| `read` | -| `read_personal` | -| `ssh` | -| `update` | -| `update_personal` | -| `use` | -| `view_insights` | -| `start` | -| `stop` | +|Value| +|---| +|`application_connect`| +|`assign`| +|`create`| +|`delete`| +|`read`| +|`read_personal`| +|`ssh`| +|`update`| +|`update_personal`| +|`use`| +|`view_insights`| +|`start`| +|`stop`| ## codersdk.RBACResource @@ -4533,239 +4697,243 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------------------------- | -| `*` | -| `api_key` | -| `assign_org_role` | -| `assign_role` | -| `audit_log` | -| `crypto_key` | -| `debug_info` | -| `deployment_config` | -| `deployment_stats` | -| `file` | -| `group` | -| `group_member` | -| `idpsync_settings` | -| `license` | -| `notification_message` | -| `notification_preference` | -| `notification_template` | -| `oauth2_app` | -| `oauth2_app_code_token` | -| `oauth2_app_secret` | -| `organization` | -| `organization_member` | -| `provisioner_daemon` | -| `provisioner_keys` | -| `replicas` | -| `system` | -| `tailnet_coordinator` | -| `template` | -| `user` | -| `workspace` | -| `workspace_dormant` | -| `workspace_proxy` | +|Value| +|---| +|`*`| +|`api_key`| +|`assign_org_role`| +|`assign_role`| +|`audit_log`| +|`crypto_key`| +|`debug_info`| +|`deployment_config`| +|`deployment_stats`| +|`file`| +|`group`| +|`group_member`| +|`idpsync_settings`| +|`license`| +|`notification_message`| +|`notification_preference`| +|`notification_template`| +|`oauth2_app`| +|`oauth2_app_code_token`| +|`oauth2_app_secret`| +|`organization`| +|`organization_member`| +|`provisioner_daemon`| +|`provisioner_keys`| +|`replicas`| +|`system`| +|`tailnet_coordinator`| +|`template`| +|`user`| +|`workspace`| +|`workspace_dormant`| +|`workspace_proxy`| ## codersdk.RateLimitConfig ```json { - "api": 0, - "disable_all": true + "api": 0, + "disable_all": true } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------------- | ------- | -------- | ------------ | ----------- | -| `api` | integer | false | | | -| `disable_all` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`api`|integer|false||| +|`disable_all`|boolean|false||| ## codersdk.ReducedUser ```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 | | | -| `id` | string | true | | | -| `last_seen_at` | string | false | | | -| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | | -| `name` | string | false | | | -| `status` | [codersdk.UserStatus](#codersdkuserstatus) | false | | | -| `theme_preference` | string | false | | | -| `updated_at` | string | false | | | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`created_at`|string|true||| +|`email`|string|true||| +|`id`|string|true||| +|`last_seen_at`|string|false||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|false||| +|`name`|string|false||| +|`status`|[codersdk.UserStatus](#codersdkuserstatus)|false||| +|`theme_preference`|string|false||| +|`updated_at`|string|false||| +|`username`|string|true||| #### Enumerated Values -| Property | Value | -| -------- | ----------- | -| `status` | `active` | -| `status` | `suspended` | +|Property|Value| +|---|---| +|`status`|`active`| +|`status`|`suspended`| ## codersdk.Region ```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 | | | +|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" - } - ] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| --------- | ----------------------------------------------------------- | -------- | ------------ | ----------- | -| `regions` | array of [codersdk.WorkspaceProxy](#codersdkworkspaceproxy) | false | | | + "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. | -| `hostname` | string | false | | Hostname is the hostname of the replica. | -| `id` | string | false | | ID is the unique identifier for the replica. | -| `region_id` | integer | false | | Region ID is the region of the replica. | -| `relay_address` | string | false | | Relay address is the accessible address to relay DERP connections. | +|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.| +|`hostname`|string|false||Hostname is the hostname of the replica.| +|`id`|string|false||ID is the unique identifier for the replica.| +|`region_id`|integer|false||Region ID is the region of the replica.| +|`relay_address`|string|false||Relay address is the accessible address to relay DERP connections.| ## codersdk.RequestOneTimePasscodeRequest ```json { - "email": "user@example.com" + "email": "user@example.com" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------- | ------ | -------- | ------------ | ----------- | -| `email` | string | true | | | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`parameter_mismatch`|boolean|false||| ## codersdk.ResourceType @@ -4777,429 +4945,447 @@ 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`| ## 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'. | +|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'.| ## codersdk.Role ```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": "*" - } - ] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| -------------------------- | --------------------------------------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------- | -| `display_name` | string | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | -| `organization_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `site_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | -| `user_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | + "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||| +|`organization_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`site_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| +|`user_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| ## codersdk.RoleSyncSettings ```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 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 | | | +|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. | +|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.| ## codersdk.SSHConfigResponse ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`hostname_prefix`|string|false||| +|`ssh_config_options`|object|false||| +|» `[any property]`|string|false||| ## codersdk.SessionCountDeploymentStats ```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 | | | -| `vscode` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`jetbrains`|integer|false||| +|`reconnecting_pty`|integer|false||| +|`ssh`|integer|false||| +|`vscode`|integer|false||| ## codersdk.SessionLifetime ```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. | -| `max_token_lifetime` | integer | false | | | +|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.| +|`max_token_lifetime`|integer|false||| ## codersdk.SlimRole ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`name`|string|false||| +|`organization_id`|string|false||| ## codersdk.SupportConfig ```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 | | | +|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 | | | +|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"] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ------------------------ | ------------------------------------ | -------- | ------------ | ----------- | -| `address` | [serpent.HostPort](#serpenthostport) | false | | | -| `allow_insecure_ciphers` | boolean | false | | | -| `cert_file` | array of string | false | | | -| `client_auth` | string | false | | | -| `client_ca_file` | string | false | | | -| `client_cert_file` | string | false | | | -| `client_key_file` | string | false | | | -| `enable` | boolean | false | | | -| `key_file` | array of string | false | | | -| `min_version` | string | false | | | -| `redirect_http` | boolean | false | | | -| `supported_ciphers` | array of string | false | | | + "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||| +|`client_auth`|string|false||| +|`client_ca_file`|string|false||| +|`client_cert_file`|string|false||| +|`client_key_file`|string|false||| +|`enable`|boolean|false||| +|`key_file`|array of string|false||| +|`min_version`|string|false||| +|`redirect_http`|boolean|false||| +|`supported_ciphers`|array of string|false||| ## codersdk.TelemetryConfig ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`enable`|boolean|false||| +|`trace`|boolean|false||| +|`url`|[serpent.URL](#serpenturl)|false||| ## codersdk.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" -} -``` - -### 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 | | | -| `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](#codersdktemplateautostartrequirement) | false | | | -| `autostop_requirement` | [codersdk.TemplateAutostopRequirement](#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. | -| `build_time_stats` | [codersdk.TemplateBuildTimeStats](#codersdktemplatebuildtimestats) | false | | | -| `created_at` | string | false | | | -| `created_by_id` | string | 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 | false | | | -| `max_port_share_level` | [codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel) | false | | | -| `name` | string | false | | | -| `organization_display_name` | string | false | | | -| `organization_icon` | string | false | | | -| `organization_id` | string | false | | | -| `organization_name` | string | 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 | false | | | + "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||| +|`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](#codersdktemplateautostartrequirement)|false||| +|`autostop_requirement`|[codersdk.TemplateAutostopRequirement](#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.| +|`build_time_stats`|[codersdk.TemplateBuildTimeStats](#codersdktemplatebuildtimestats)|false||| +|`created_at`|string|false||| +|`created_by_id`|string|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|false||| +|`max_port_share_level`|[codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel)|false||| +|`name`|string|false||| +|`organization_display_name`|string|false||| +|`organization_icon`|string|false||| +|`organization_id`|string|false||| +|`organization_name`|string|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|false||| #### Enumerated Values -| Property | Value | -| ------------- | ----------- | -| `provisioner` | `terraform` | +|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 | | | -| `slug` | string | false | | | -| `template_ids` | array of string | false | | | -| `times_used` | integer | false | | | -| `type` | [codersdk.TemplateAppsType](#codersdktemplateappstype) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`icon`|string|false||| +|`seconds`|integer|false||| +|`slug`|string|false||| +|`template_ids`|array of string|false||| +|`times_used`|integer|false||| +|`type`|[codersdk.TemplateAppsType](#codersdktemplateappstype)|false||| ## codersdk.TemplateAppsType @@ -5211,283 +5397,307 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| --------- | -| `builtin` | -| `app` | +|Value| +|---| +|`builtin`| +|`app`| ## codersdk.TemplateAutostartRequirement ```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. | +|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 | | | +|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 | | | -| `markdown` | string | false | | | -| `name` | string | false | | | -| `tags` | array of string | false | | | -| `url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`icon`|string|false||| +|`id`|string|false||| +|`markdown`|string|false||| +|`name`|string|false||| +|`tags`|array of string|false||| +|`url`|string|false||| ## codersdk.TemplateInsightsIntervalReport ```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 | | | -| `start_time` | string | false | | | -| `template_ids` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`active_users`|integer|false||| +|`end_time`|string|false||| +|`interval`|[codersdk.InsightsReportInterval](#codersdkinsightsreportinterval)|false||| +|`start_time`|string|false||| +|`template_ids`|array of string|false||| ## codersdk.TemplateInsightsReport ```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"] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ------------------ | --------------------------------------------------------------------------- | -------- | ------------ | ----------- | -| `active_users` | integer | false | | | -| `apps_usage` | array of [codersdk.TemplateAppUsage](#codersdktemplateappusage) | false | | | -| `end_time` | string | false | | | -| `parameters_usage` | array of [codersdk.TemplateParameterUsage](#codersdktemplateparameterusage) | false | | | -| `start_time` | string | false | | | -| `template_ids` | array of string | false | | | + "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||| +|`parameters_usage`|array of [codersdk.TemplateParameterUsage](#codersdktemplateparameterusage)|false||| +|`start_time`|string|false||| +|`template_ids`|array of string|false||| ## codersdk.TemplateInsightsResponse ```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"] - } -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ------------------ | ------------------------------------------------------------------------------------------- | -------- | ------------ | ----------- | -| `interval_reports` | array of [codersdk.TemplateInsightsIntervalReport](#codersdktemplateinsightsintervalreport) | false | | | -| `report` | [codersdk.TemplateInsightsReport](#codersdktemplateinsightsreport) | false | | | + "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||| ## codersdk.TemplateParameterUsage ```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 | | | -| `options` | array of [codersdk.TemplateVersionParameterOption](#codersdktemplateversionparameteroption) | false | | | -| `template_ids` | array of string | false | | | -| `type` | string | false | | | -| `values` | array of [codersdk.TemplateParameterValue](#codersdktemplateparametervalue) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`display_name`|string|false||| +|`name`|string|false||| +|`options`|array of [codersdk.TemplateVersionParameterOption](#codersdktemplateversionparameteroption)|false||| +|`template_ids`|array of string|false||| +|`type`|string|false||| +|`values`|array of [codersdk.TemplateParameterValue](#codersdktemplateparametervalue)|false||| ## codersdk.TemplateParameterValue ```json { - "count": 0, - "value": "string" + "count": 0, + "value": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------- | ------- | -------- | ------------ | ----------- | -| `count` | integer | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`count`|integer|false||| +|`value`|string|false||| ## codersdk.TemplateRole @@ -5499,271 +5709,275 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------- | -| `admin` | -| `use` | -| `` | +|Value| +|---| +|`admin`| +|`use`| +|``| ## codersdk.TemplateUser ```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" -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ------------------ | ----------------------------------------------- | -------- | ------------ | ----------- | -| `avatar_url` | string | false | | | -| `created_at` | string | true | | | -| `email` | string | true | | | -| `id` | string | true | | | -| `last_seen_at` | string | false | | | -| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | | -| `name` | string | false | | | -| `organization_ids` | array of string | false | | | -| `role` | [codersdk.TemplateRole](#codersdktemplaterole) | false | | | -| `roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | | -| `status` | [codersdk.UserStatus](#codersdkuserstatus) | false | | | -| `theme_preference` | string | false | | | -| `updated_at` | string | false | | | -| `username` | string | true | | | + "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||| +|`id`|string|true||| +|`last_seen_at`|string|false||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|false||| +|`name`|string|false||| +|`organization_ids`|array of string|false||| +|`role`|[codersdk.TemplateRole](#codersdktemplaterole)|false||| +|`roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`status`|[codersdk.UserStatus](#codersdkuserstatus)|false||| +|`theme_preference`|string|false||| +|`updated_at`|string|false||| +|`username`|string|true||| #### Enumerated Values -| Property | Value | -| -------- | ----------- | -| `role` | `admin` | -| `role` | `use` | -| `status` | `active` | -| `status` | `suspended` | +|Property|Value| +|---|---| +|`role`|`admin`| +|`role`|`use`| +|`status`|`active`| +|`status`|`suspended`| ## codersdk.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"] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ---------------------- | --------------------------------------------------------------------------- | -------- | ------------ | ----------- | -| `archived` | boolean | false | | | -| `created_at` | string | false | | | -| `created_by` | [codersdk.MinimalUser](#codersdkminimaluser) | false | | | -| `id` | string | false | | | -| `job` | [codersdk.ProvisionerJob](#codersdkprovisionerjob) | false | | | -| `matched_provisioners` | [codersdk.MatchedProvisioners](#codersdkmatchedprovisioners) | false | | | -| `message` | string | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | -| `readme` | string | false | | | -| `template_id` | string | false | | | -| `updated_at` | string | false | | | -| `warnings` | array of [codersdk.TemplateVersionWarning](#codersdktemplateversionwarning) | false | | | + "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" + ] +} +``` + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`archived`|boolean|false||| +|`created_at`|string|false||| +|`created_by`|[codersdk.MinimalUser](#codersdkminimaluser)|false||| +|`id`|string|false||| +|`job`|[codersdk.ProvisionerJob](#codersdkprovisionerjob)|false||| +|`matched_provisioners`|[codersdk.MatchedProvisioners](#codersdkmatchedprovisioners)|false||| +|`message`|string|false||| +|`name`|string|false||| +|`organization_id`|string|false||| +|`readme`|string|false||| +|`template_id`|string|false||| +|`updated_at`|string|false||| +|`warnings`|array of [codersdk.TemplateVersionWarning](#codersdktemplateversionwarning)|false||| ## codersdk.TemplateVersionExternalAuth ```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 | | | -| `display_name` | string | false | | | -| `id` | string | false | | | -| `optional` | boolean | false | | | -| `type` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`authenticate_url`|string|false||| +|`authenticated`|boolean|false||| +|`display_icon`|string|false||| +|`display_name`|string|false||| +|`id`|string|false||| +|`optional`|boolean|false||| +|`type`|string|false||| ## codersdk.TemplateVersionParameter ```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" -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ----------------------- | ------------------------------------------------------------------------------------------- | -------- | ------------ | ----------- | -| `default_value` | string | false | | | -| `description` | string | false | | | -| `description_plaintext` | string | false | | | -| `display_name` | string | false | | | -| `ephemeral` | boolean | false | | | -| `icon` | string | false | | | -| `mutable` | boolean | false | | | -| `name` | string | false | | | -| `options` | array of [codersdk.TemplateVersionParameterOption](#codersdktemplateversionparameteroption) | false | | | -| `required` | boolean | false | | | -| `type` | string | false | | | -| `validation_error` | string | false | | | -| `validation_max` | integer | false | | | -| `validation_min` | integer | false | | | -| `validation_monotonic` | [codersdk.ValidationMonotonicOrder](#codersdkvalidationmonotonicorder) | false | | | -| `validation_regex` | string | false | | | + "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||| +|`display_name`|string|false||| +|`ephemeral`|boolean|false||| +|`icon`|string|false||| +|`mutable`|boolean|false||| +|`name`|string|false||| +|`options`|array of [codersdk.TemplateVersionParameterOption](#codersdktemplateversionparameteroption)|false||| +|`required`|boolean|false||| +|`type`|string|false||| +|`validation_error`|string|false||| +|`validation_max`|integer|false||| +|`validation_min`|integer|false||| +|`validation_monotonic`|[codersdk.ValidationMonotonicOrder](#codersdkvalidationmonotonicorder)|false||| +|`validation_regex`|string|false||| #### Enumerated Values -| Property | Value | -| ---------------------- | -------------- | -| `type` | `string` | -| `type` | `number` | -| `type` | `bool` | -| `type` | `list(string)` | -| `validation_monotonic` | `increasing` | -| `validation_monotonic` | `decreasing` | +|Property|Value| +|---|---| +|`type`|`string`| +|`type`|`number`| +|`type`|`bool`| +|`type`|`list(string)`| +|`validation_monotonic`|`increasing`| +|`validation_monotonic`|`decreasing`| ## codersdk.TemplateVersionParameterOption ```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 | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`icon`|string|false||| +|`name`|string|false||| +|`value`|string|false||| ## codersdk.TemplateVersionVariable ```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 | | | -| `required` | boolean | false | | | -| `sensitive` | boolean | false | | | -| `type` | string | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`default_value`|string|false||| +|`description`|string|false||| +|`name`|string|false||| +|`required`|boolean|false||| +|`sensitive`|boolean|false||| +|`type`|string|false||| +|`value`|string|false||| #### Enumerated Values -| Property | Value | -| -------- | -------- | -| `type` | `string` | -| `type` | `number` | -| `type` | `bool` | +|Property|Value| +|---|---| +|`type`|`string`| +|`type`|`number`| +|`type`|`bool`| ## codersdk.TemplateVersionWarning @@ -5775,9 +5989,9 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| ------------------------ | -| `UNSUPPORTED_WORKSPACES` | +|Value| +|---| +|`UNSUPPORTED_WORKSPACES`| ## codersdk.TimingStage @@ -5789,265 +6003,266 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -| --------- | -| `init` | -| `plan` | -| `graph` | -| `apply` | -| `start` | -| `stop` | -| `cron` | -| `connect` | +|Value| +|---| +|`init`| +|`plan`| +|`graph`| +|`apply`| +|`start`| +|`stop`| +|`cron`| +|`connect`| ## codersdk.TokenConfig ```json { - "max_token_lifetime": 0 + "max_token_lifetime": 0 } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| -------------------- | ------- | -------- | ------------ | ----------- | -| `max_token_lifetime` | integer | false | | | +|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 | | | -| `honeycomb_api_key` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`capture_logs`|boolean|false||| +|`data_dog`|boolean|false||| +|`enable`|boolean|false||| +|`honeycomb_api_key`|string|false||| ## codersdk.TransitionStats ```json { - "p50": 123, - "p95": 146 + "p50": 123, + "p95": 146 } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ----- | ------- | -------- | ------------ | ----------- | -| `p50` | integer | false | | | -| `p95` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`p50`|integer|false||| +|`p95`|integer|false||| ## codersdk.UpdateActiveTemplateVersion ```json { - "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" + "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ---- | ------ | -------- | ------------ | ----------- | -| `id` | string | true | | | +|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 | | | -| `service_banner` | [codersdk.BannerConfig](#codersdkbannerconfig) | false | | Deprecated: ServiceBanner has been replaced by AnnouncementBanners. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`announcement_banners`|array of [codersdk.BannerConfig](#codersdkbannerconfig)|false||| +|`application_name`|string|false||| +|`logo_url`|string|false||| +|`service_banner`|[codersdk.BannerConfig](#codersdkbannerconfig)|false||Deprecated: ServiceBanner has been replaced by AnnouncementBanners.| ## codersdk.UpdateCheckResponse ```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. | +|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.| ## codersdk.UpdateOrganizationRequest ```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 | | | -| `name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`display_name`|string|false||| +|`icon`|string|false||| +|`name`|string|false||| ## codersdk.UpdateRoles ```json { - "roles": ["string"] + "roles": [ + "string" + ] } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------- | --------------- | -------- | ------------ | ----------- | -| `roles` | array of string | false | | | +|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. | -| » `[any property]` | [codersdk.TemplateRole](#codersdktemplaterole) | false | | | +|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.| +|» `[any property]`|[codersdk.TemplateRole](#codersdktemplaterole)|false||| ## codersdk.UpdateUserAppearanceSettingsRequest ```json { - "theme_preference": "string" + "theme_preference": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------------------ | ------ | -------- | ------------ | ----------- | -| `theme_preference` | string | true | | | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`template_disabled_map`|object|false||| +|» `[any property]`|boolean|false||| ## codersdk.UpdateUserPasswordRequest ```json { - "old_password": "string", - "password": "string" + "old_password": "string", + "password": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| -------------- | ------ | -------- | ------------ | ----------- | -| `old_password` | string | false | | | -| `password` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`old_password`|string|false||| +|`password`|string|true||| ## codersdk.UpdateUserProfileRequest ```json { - "name": "string", - "username": "string" + "name": "string", + "username": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ---------- | ------ | -------- | ------------ | ----------- | -| `name` | string | false | | | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| +|`username`|string|true||| ## codersdk.UpdateUserQuietHoursScheduleRequest ```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,115 +6270,115 @@ 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 | | | +|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. | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dormant`|boolean|false||| ## codersdk.UpdateWorkspaceRequest ```json { - "name": "string" + "name": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------ | ------ | -------- | ------------ | ----------- | -| `name` | string | false | | | +|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 | | | +|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 | | | +|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 | | | -| `share_level` | [codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_name`|string|false||| +|`port`|integer|false||| +|`protocol`|[codersdk.WorkspaceAgentPortShareProtocol](#codersdkworkspaceagentportshareprotocol)|false||| +|`share_level`|[codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel)|false||| #### Enumerated Values -| Property | Value | -| ------------- | --------------- | -| `protocol` | `http` | -| `protocol` | `https` | -| `share_level` | `owner` | -| `share_level` | `authenticated` | -| `share_level` | `public` | +|Property|Value| +|---|---| +|`protocol`|`http`| +|`protocol`|`https`| +|`share_level`|`owner`| +|`share_level`|`authenticated`| +|`share_level`|`public`| ## codersdk.UsageAppName @@ -6175,296 +6390,318 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| ------------------ | -| `vscode` | -| `jetbrains` | -| `reconnecting-pty` | -| `ssh` | +|Value| +|---| +|`vscode`| +|`jetbrains`| +|`reconnecting-pty`| +|`ssh`| ## codersdk.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" -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ------------------ | ----------------------------------------------- | -------- | ------------ | ----------- | -| `avatar_url` | string | false | | | -| `created_at` | string | true | | | -| `email` | string | true | | | -| `id` | string | true | | | -| `last_seen_at` | string | false | | | -| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | | -| `name` | string | false | | | -| `organization_ids` | array of string | false | | | -| `roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | | -| `status` | [codersdk.UserStatus](#codersdkuserstatus) | false | | | -| `theme_preference` | string | false | | | -| `updated_at` | string | false | | | -| `username` | string | true | | | + "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||| +|`id`|string|true||| +|`last_seen_at`|string|false||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|false||| +|`name`|string|false||| +|`organization_ids`|array of string|false||| +|`roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`status`|[codersdk.UserStatus](#codersdkuserstatus)|false||| +|`theme_preference`|string|false||| +|`updated_at`|string|false||| +|`username`|string|true||| #### Enumerated Values -| Property | Value | -| -------- | ----------- | -| `status` | `active` | -| `status` | `suspended` | +|Property|Value| +|---|---| +|`status`|`active`| +|`status`|`suspended`| ## codersdk.UserActivity ```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 | | | -| `user_id` | string | false | | | -| `username` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`seconds`|integer|false||| +|`template_ids`|array of string|false||| +|`user_id`|string|false||| +|`username`|string|false||| ## codersdk.UserActivityInsightsReport ```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 | | | -| `users` | array of [codersdk.UserActivity](#codersdkuseractivity) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`end_time`|string|false||| +|`start_time`|string|false||| +|`template_ids`|array of string|false||| +|`users`|array of [codersdk.UserActivity](#codersdkuseractivity)|false||| ## codersdk.UserActivityInsightsResponse ```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 | | | +|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 | | | -| `user_id` | string | false | | | -| `username` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`latency_ms`|[codersdk.ConnectionLatency](#codersdkconnectionlatency)|false||| +|`template_ids`|array of string|false||| +|`user_id`|string|false||| +|`username`|string|false||| ## codersdk.UserLatencyInsightsReport ```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 | | | -| `users` | array of [codersdk.UserLatency](#codersdkuserlatency) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`end_time`|string|false||| +|`start_time`|string|false||| +|`template_ids`|array of string|false||| +|`users`|array of [codersdk.UserLatency](#codersdkuserlatency)|false||| ## codersdk.UserLatencyInsightsResponse ```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 | | | +|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 | | | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| +|`value`|string|false||| ## codersdk.UserQuietHoursScheduleConfig ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`allow_user_custom`|boolean|false||| +|`default_schedule`|string|false||| ## codersdk.UserQuietHoursScheduleResponse ```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. | -| `timezone` | string | false | | raw format from the cron expression, UTC if unspecified | -| `user_can_set` | boolean | false | | User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used. | -| `user_set` | boolean | false | | User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule. | +|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.| +|`timezone`|string|false||raw format from the cron expression, UTC if unspecified| +|`user_can_set`|boolean|false||User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used.| +|`user_set`|boolean|false||User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule.| ## codersdk.UserStatus @@ -6476,57 +6713,57 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| ----------- | -| `active` | -| `dormant` | -| `suspended` | +|Value| +|---| +|`active`| +|`dormant`| +|`suspended`| ## codersdk.ValidateUserPasswordRequest ```json { - "password": "string" + "password": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ---------- | ------ | -------- | ------------ | ----------- | -| `password` | string | true | | | +|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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`details`|string|false||| +|`valid`|boolean|false||| ## codersdk.ValidationError ```json { - "detail": "string", - "field": "string" + "detail": "string", + "field": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| -------- | ------ | -------- | ------------ | ----------- | -| `detail` | string | true | | | -| `field` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`detail`|string|true||| +|`field`|string|true||| ## codersdk.ValidationMonotonicOrder @@ -6538,409 +6775,419 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| ------------ | -| `increasing` | -| `decreasing` | +|Value| +|---| +|`increasing`| +|`decreasing`| ## codersdk.VariableValue ```json { - "name": "string", - "value": "string" + "name": "string", + "value": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------- | ------ | -------- | ------------ | ----------- | -| `name` | string | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| +|`value`|string|false||| ## codersdk.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" - }, - "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", - "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. | -| `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 | | | -| `owner_avatar_url` | string | false | | | -| `owner_id` | string | false | | | -| `owner_name` | string | false | | | -| `template_active_version_id` | string | false | | | -| `template_allow_user_cancel_workspace_jobs` | boolean | false | | | -| `template_display_name` | string | false | | | -| `template_icon` | string | false | | | -| `template_id` | string | false | | | -| `template_name` | string | false | | | -| `template_require_active_version` | boolean | false | | | -| `ttl_ms` | integer | false | | | -| `updated_at` | string | false | | | + "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" + }, + "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", + "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.| +|`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||| +|`owner_avatar_url`|string|false||| +|`owner_id`|string|false||| +|`owner_name`|string|false||| +|`template_active_version_id`|string|false||| +|`template_allow_user_cancel_workspace_jobs`|boolean|false||| +|`template_display_name`|string|false||| +|`template_icon`|string|false||| +|`template_id`|string|false||| +|`template_name`|string|false||| +|`template_require_active_version`|boolean|false||| +|`ttl_ms`|integer|false||| +|`updated_at`|string|false||| #### Enumerated Values -| Property | Value | -| ------------------- | -------- | -| `automatic_updates` | `always` | -| `automatic_updates` | `never` | +|Property|Value| +|---|---| +|`automatic_updates`|`always`| +|`automatic_updates`|`never`| ## codersdk.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" -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ---------------------------- | -------------------------------------------------------------------------------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `api_version` | string | false | | | -| `apps` | array of [codersdk.WorkspaceApp](#codersdkworkspaceapp) | false | | | -| `architecture` | string | false | | | -| `connection_timeout_seconds` | integer | false | | | -| `created_at` | string | false | | | -| `directory` | string | false | | | -| `disconnected_at` | string | false | | | -| `display_apps` | array of [codersdk.DisplayApp](#codersdkdisplayapp) | false | | | -| `environment_variables` | object | false | | | -| » `[any property]` | string | false | | | -| `expanded_directory` | string | false | | | -| `first_connected_at` | string | false | | | -| `health` | [codersdk.WorkspaceAgentHealth](#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `id` | string | false | | | -| `instance_id` | string | false | | | -| `last_connected_at` | string | false | | | -| `latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| » `[any property]` | [codersdk.DERPRegion](#codersdkderpregion) | false | | | -| `lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](#codersdkworkspaceagentlifecycle) | false | | | -| `log_sources` | array of [codersdk.WorkspaceAgentLogSource](#codersdkworkspaceagentlogsource) | false | | | -| `logs_length` | integer | false | | | -| `logs_overflowed` | boolean | false | | | -| `name` | string | false | | | -| `operating_system` | string | false | | | -| `ready_at` | string | false | | | -| `resource_id` | string | false | | | -| `scripts` | array of [codersdk.WorkspaceAgentScript](#codersdkworkspaceagentscript) | false | | | -| `started_at` | string | false | | | -| `startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `status` | [codersdk.WorkspaceAgentStatus](#codersdkworkspaceagentstatus) | false | | | -| `subsystems` | array of [codersdk.AgentSubsystem](#codersdkagentsubsystem) | false | | | -| `troubleshooting_url` | string | false | | | -| `updated_at` | string | false | | | -| `version` | string | false | | | + "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" +} +``` + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`api_version`|string|false||| +|`apps`|array of [codersdk.WorkspaceApp](#codersdkworkspaceapp)|false||| +|`architecture`|string|false||| +|`connection_timeout_seconds`|integer|false||| +|`created_at`|string|false||| +|`directory`|string|false||| +|`disconnected_at`|string|false||| +|`display_apps`|array of [codersdk.DisplayApp](#codersdkdisplayapp)|false||| +|`environment_variables`|object|false||| +|» `[any property]`|string|false||| +|`expanded_directory`|string|false||| +|`first_connected_at`|string|false||| +|`health`|[codersdk.WorkspaceAgentHealth](#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`id`|string|false||| +|`instance_id`|string|false||| +|`last_connected_at`|string|false||| +|`latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|» `[any property]`|[codersdk.DERPRegion](#codersdkderpregion)|false||| +|`lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](#codersdkworkspaceagentlifecycle)|false||| +|`log_sources`|array of [codersdk.WorkspaceAgentLogSource](#codersdkworkspaceagentlogsource)|false||| +|`logs_length`|integer|false||| +|`logs_overflowed`|boolean|false||| +|`name`|string|false||| +|`operating_system`|string|false||| +|`ready_at`|string|false||| +|`resource_id`|string|false||| +|`scripts`|array of [codersdk.WorkspaceAgentScript](#codersdkworkspaceagentscript)|false||| +|`started_at`|string|false||| +|`startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`status`|[codersdk.WorkspaceAgentStatus](#codersdkworkspaceagentstatus)|false||| +|`subsystems`|array of [codersdk.AgentSubsystem](#codersdkagentsubsystem)|false||| +|`troubleshooting_url`|string|false||| +|`updated_at`|string|false||| +|`version`|string|false||| ## codersdk.WorkspaceAgentHealth ```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. | +|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.| ## codersdk.WorkspaceAgentLifecycle @@ -6952,131 +7199,131 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| ------------------ | -| `created` | -| `starting` | -| `start_timeout` | -| `start_error` | -| `ready` | -| `shutting_down` | -| `shutdown_timeout` | -| `shutdown_error` | -| `off` | +|Value| +|---| +|`created`| +|`starting`| +|`start_timeout`| +|`start_error`| +|`ready`| +|`shutting_down`| +|`shutdown_timeout`| +|`shutdown_error`| +|`off`| ## codersdk.WorkspaceAgentListeningPort ```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 | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`network`|string|false||only "tcp" at the moment| +|`port`|integer|false||| +|`process_name`|string|false||may be empty| ## codersdk.WorkspaceAgentListeningPortsResponse ```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. | +|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 | | | -| `output` | string | false | | | -| `source_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`id`|integer|false||| +|`level`|[codersdk.LogLevel](#codersdkloglevel)|false||| +|`output`|string|false||| +|`source_id`|string|false||| ## codersdk.WorkspaceAgentLogSource ```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 | | | -| `id` | string | false | | | -| `workspace_agent_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`display_name`|string|false||| +|`icon`|string|false||| +|`id`|string|false||| +|`workspace_agent_id`|string|false||| ## codersdk.WorkspaceAgentPortShare ```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 | | | -| `share_level` | [codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel) | false | | | -| `workspace_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_name`|string|false||| +|`port`|integer|false||| +|`protocol`|[codersdk.WorkspaceAgentPortShareProtocol](#codersdkworkspaceagentportshareprotocol)|false||| +|`share_level`|[codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel)|false||| +|`workspace_id`|string|false||| #### Enumerated Values -| Property | Value | -| ------------- | --------------- | -| `protocol` | `http` | -| `protocol` | `https` | -| `share_level` | `owner` | -| `share_level` | `authenticated` | -| `share_level` | `public` | +|Property|Value| +|---|---| +|`protocol`|`http`| +|`protocol`|`https`| +|`share_level`|`owner`| +|`share_level`|`authenticated`| +|`share_level`|`public`| ## codersdk.WorkspaceAgentPortShareLevel @@ -7088,11 +7335,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| --------------- | -| `owner` | -| `authenticated` | -| `public` | +|Value| +|---| +|`owner`| +|`authenticated`| +|`public`| ## codersdk.WorkspaceAgentPortShareProtocol @@ -7104,64 +7351,64 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| ------- | -| `http` | -| `https` | +|Value| +|---| +|`http`| +|`https`| ## codersdk.WorkspaceAgentPortShares ```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 | | | +|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 | | | -| `log_path` | string | false | | | -| `log_source_id` | string | false | | | -| `run_on_start` | boolean | false | | | -| `run_on_stop` | boolean | false | | | -| `script` | string | false | | | -| `start_blocks_login` | boolean | false | | | -| `timeout` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`cron`|string|false||| +|`display_name`|string|false||| +|`id`|string|false||| +|`log_path`|string|false||| +|`log_source_id`|string|false||| +|`run_on_start`|boolean|false||| +|`run_on_stop`|boolean|false||| +|`script`|string|false||| +|`start_blocks_login`|boolean|false||| +|`timeout`|integer|false||| ## codersdk.WorkspaceAgentStartupScriptBehavior @@ -7173,10 +7420,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| -------------- | -| `blocking` | -| `non-blocking` | +|Value| +|---| +|`blocking`| +|`non-blocking`| ## codersdk.WorkspaceAgentStatus @@ -7188,62 +7435,62 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| -------------- | -| `connecting` | -| `connected` | -| `disconnected` | -| `timeout` | +|Value| +|---| +|`connecting`| +|`connected`| +|`disconnected`| +|`timeout`| ## codersdk.WorkspaceApp ```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" -} -``` - -### 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. | -| `health` | [codersdk.WorkspaceAppHealth](#codersdkworkspaceapphealth) | false | | | -| `healthcheck` | [codersdk.Healthcheck](#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `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 | | | -| `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. | -| `subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | + "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" +} +``` + +### 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.| +|`health`|[codersdk.WorkspaceAppHealth](#codersdkworkspaceapphealth)|false||| +|`healthcheck`|[codersdk.Healthcheck](#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`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||| +|`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.| +|`subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| #### Enumerated Values -| Property | Value | -| --------------- | --------------- | -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `public` | +|Property|Value| +|---|---| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`public`| ## codersdk.WorkspaceAppHealth @@ -7255,12 +7502,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| -------------- | -| `disabled` | -| `initializing` | -| `healthy` | -| `unhealthy` | +|Value| +|---| +|`disabled`| +|`initializing`| +|`healthy`| +|`unhealthy`| ## codersdk.WorkspaceAppSharingLevel @@ -7272,587 +7519,605 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| --------------- | -| `owner` | -| `authenticated` | -| `public` | +|Value| +|---| +|`owner`| +|`authenticated`| +|`public`| ## codersdk.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" - }, - "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", - "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 | | | -| `deadline` | string | false | | | -| `id` | string | false | | | -| `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 | | | -| `status` | [codersdk.WorkspaceStatus](#codersdkworkspacestatus) | false | | | -| `template_version_id` | string | false | | | -| `template_version_name` | string | false | | | -| `transition` | [codersdk.WorkspaceTransition](#codersdkworkspacetransition) | false | | | -| `updated_at` | string | false | | | -| `workspace_id` | string | false | | | -| `workspace_name` | string | false | | | -| `workspace_owner_avatar_url` | string | false | | | -| `workspace_owner_id` | string | false | | | -| `workspace_owner_name` | string | false | | | + "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" + }, + "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", + "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||| +|`deadline`|string|false||| +|`id`|string|false||| +|`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||| +|`status`|[codersdk.WorkspaceStatus](#codersdkworkspacestatus)|false||| +|`template_version_id`|string|false||| +|`template_version_name`|string|false||| +|`transition`|[codersdk.WorkspaceTransition](#codersdkworkspacetransition)|false||| +|`updated_at`|string|false||| +|`workspace_id`|string|false||| +|`workspace_name`|string|false||| +|`workspace_owner_avatar_url`|string|false||| +|`workspace_owner_id`|string|false||| +|`workspace_owner_name`|string|false||| #### Enumerated Values -| Property | Value | -| ------------ | ----------- | -| `reason` | `initiator` | -| `reason` | `autostart` | -| `reason` | `autostop` | -| `status` | `pending` | -| `status` | `starting` | -| `status` | `running` | -| `status` | `stopping` | -| `status` | `stopped` | -| `status` | `failed` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `deleting` | -| `status` | `deleted` | -| `transition` | `start` | -| `transition` | `stop` | -| `transition` | `delete` | +|Property|Value| +|---|---| +|`reason`|`initiator`| +|`reason`|`autostart`| +|`reason`|`autostop`| +|`status`|`pending`| +|`status`|`starting`| +|`status`|`running`| +|`status`|`stopping`| +|`status`|`stopped`| +|`status`|`failed`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`deleting`| +|`status`|`deleted`| +|`transition`|`start`| +|`transition`|`stop`| +|`transition`|`delete`| ## codersdk.WorkspaceBuildParameter ```json { - "name": "string", - "value": "string" + "name": "string", + "value": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------- | ------ | -------- | ------------ | ----------- | -| `name` | string | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| +|`value`|string|false||| ## codersdk.WorkspaceBuildTimings ```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" - } - ] -} -``` - -### 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 | | | + "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||| ## codersdk.WorkspaceConnectionLatencyMS ```json { - "p50": 0, - "p95": 0 + "p50": 0, + "p95": 0 } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ----- | ------ | -------- | ------------ | ----------- | -| `p50` | number | false | | | -| `p95` | number | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`p50`|number|false||| +|`p95`|number|false||| ## codersdk.WorkspaceDeploymentStats ```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 | | | -| `pending` | integer | false | | | -| `running` | integer | false | | | -| `rx_bytes` | integer | false | | | -| `stopped` | integer | false | | | -| `tx_bytes` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`building`|integer|false||| +|`connection_latency_ms`|[codersdk.WorkspaceConnectionLatencyMS](#codersdkworkspaceconnectionlatencyms)|false||| +|`failed`|integer|false||| +|`pending`|integer|false||| +|`running`|integer|false||| +|`rx_bytes`|integer|false||| +|`stopped`|integer|false||| +|`tx_bytes`|integer|false||| ## codersdk.WorkspaceHealth ```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. | +|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.| ## codersdk.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" -} -``` - -### 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 | | | +|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||| ## codersdk.WorkspaceQuota ```json { - "budget": 0, - "credits_consumed": 0 + "budget": 0, + "credits_consumed": 0 } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------------------ | ------- | -------- | ------------ | ----------- | -| `budget` | integer | false | | | -| `credits_consumed` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`budget`|integer|false||| +|`credits_consumed`|integer|false||| ## codersdk.WorkspaceResource ```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" -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ---------------------- | --------------------------------------------------------------------------------- | -------- | ------------ | ----------- | -| `agents` | array of [codersdk.WorkspaceAgent](#codersdkworkspaceagent) | false | | | -| `created_at` | string | false | | | -| `daily_cost` | integer | false | | | -| `hide` | boolean | false | | | -| `icon` | string | false | | | -| `id` | string | false | | | -| `job_id` | string | false | | | -| `metadata` | array of [codersdk.WorkspaceResourceMetadata](#codersdkworkspaceresourcemetadata) | false | | | -| `name` | string | false | | | -| `type` | string | false | | | -| `workspace_transition` | [codersdk.WorkspaceTransition](#codersdkworkspacetransition) | false | | | + "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" +} +``` + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agents`|array of [codersdk.WorkspaceAgent](#codersdkworkspaceagent)|false||| +|`created_at`|string|false||| +|`daily_cost`|integer|false||| +|`hide`|boolean|false||| +|`icon`|string|false||| +|`id`|string|false||| +|`job_id`|string|false||| +|`metadata`|array of [codersdk.WorkspaceResourceMetadata](#codersdkworkspaceresourcemetadata)|false||| +|`name`|string|false||| +|`type`|string|false||| +|`workspace_transition`|[codersdk.WorkspaceTransition](#codersdkworkspacetransition)|false||| #### Enumerated Values -| Property | Value | -| ---------------------- | -------- | -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | +|Property|Value| +|---|---| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| ## codersdk.WorkspaceResourceMetadata ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`key`|string|false||| +|`sensitive`|boolean|false||| +|`value`|string|false||| ## codersdk.WorkspaceStatus @@ -7864,18 +8129,18 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| ----------- | -| `pending` | -| `starting` | -| `running` | -| `stopping` | -| `stopped` | -| `failed` | -| `canceling` | -| `canceled` | -| `deleting` | -| `deleted` | +|Value| +|---| +|`pending`| +|`starting`| +|`running`| +|`stopping`| +|`stopped`| +|`failed`| +|`canceling`| +|`canceled`| +|`deleting`| +|`deleted`| ## codersdk.WorkspaceTransition @@ -7887,248 +8152,254 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| -------- | -| `start` | -| `stop` | -| `delete` | +|Value| +|---| +|`start`| +|`stop`| +|`delete`| ## codersdk.WorkspacesResponse ```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" - }, - "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", - "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 | | | + "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" + }, + "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", + "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||| ## derp.BytesSentRecv ```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 | | | +|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||| ## derp.ServerInfoMessage ```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 @@ -8140,42 +8411,42 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| ---------- | -| `EUNKNOWN` | -| `EWP01` | -| `EWP02` | -| `EWP04` | -| `EDB01` | -| `EDB02` | -| `EWS01` | -| `EWS02` | -| `EWS03` | -| `EACS01` | -| `EACS02` | -| `EACS03` | -| `EACS04` | -| `EDERP01` | -| `EDERP02` | -| `EPD01` | -| `EPD02` | -| `EPD03` | +|Value| +|---| +|`EUNKNOWN`| +|`EWP01`| +|`EWP02`| +|`EWP04`| +|`EDB01`| +|`EDB02`| +|`EWS01`| +|`EWS02`| +|`EWS03`| +|`EACS01`| +|`EACS02`| +|`EACS03`| +|`EACS04`| +|`EDERP01`| +|`EDERP02`| +|`EPD01`| +|`EPD02`| +|`EPD03`| ## health.Message ```json { - "code": "EUNKNOWN", - "message": "string" + "code": "EUNKNOWN", + "message": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| --------- | -------------------------- | -------- | ------------ | ----------- | -| `code` | [health.Code](#healthcode) | false | | | -| `message` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`code`|[health.Code](#healthcode)|false||| +|`message`|string|false||| ## health.Severity @@ -8187,501 +8458,535 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| --------- | -| `ok` | -| `warning` | -| `error` | +|Value| +|---| +|`ok`| +|`warning`| +|`error`| ## healthsdk.AccessURLReport ```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 | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `healthz_response` | string | false | | | -| `reachable` | boolean | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `status_code` | integer | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_url`|string|false||| +|`dismissed`|boolean|false||| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`healthz_response`|string|false||| +|`reachable`|boolean|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`status_code`|integer|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -| ---------- | --------- | -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.DERPHealthReport ```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" - } - ] -} -``` - -### 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. | -| `netcheck` | [netcheck.Report](#netcheckreport) | false | | | -| `netcheck_err` | string | false | | | -| `netcheck_logs` | array of string | false | | | -| `regions` | object | false | | | -| » `[any property]` | [healthsdk.DERPRegionReport](#healthsdkderpregionreport) | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | + "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.| +|`netcheck`|[netcheck.Report](#netcheckreport)|false||| +|`netcheck_err`|string|false||| +|`netcheck_logs`|array of string|false||| +|`regions`|object|false||| +|» `[any property]`|[healthsdk.DERPRegionReport](#healthsdkderpregionreport)|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -| ---------- | --------- | -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.DERPNodeReport ```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" - } - ] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ----------------------- | ------------------------------------------------ | -------- | ------------ | ------------------------------------------------------------------------------------------- | -| `can_exchange_messages` | boolean | false | | | -| `client_errs` | array of array | false | | | -| `client_logs` | array of array | false | | | -| `error` | string | false | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `node` | [tailcfg.DERPNode](#tailcfgderpnode) | false | | | -| `node_info` | [derp.ServerInfoMessage](#derpserverinfomessage) | false | | | -| `round_trip_ping` | string | false | | | -| `round_trip_ping_ms` | integer | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `stun` | [healthsdk.STUNReport](#healthsdkstunreport) | false | | | -| `uses_websocket` | boolean | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | + "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||| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`node`|[tailcfg.DERPNode](#tailcfgderpnode)|false||| +|`node_info`|[derp.ServerInfoMessage](#derpserverinfomessage)|false||| +|`round_trip_ping`|string|false||| +|`round_trip_ping_ms`|integer|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`stun`|[healthsdk.STUNReport](#healthsdkstunreport)|false||| +|`uses_websocket`|boolean|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -| ---------- | --------- | -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.DERPRegionReport ```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" - } - ] -} -``` - -### 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 | | | -| `region` | [tailcfg.DERPRegion](#tailcfgderpregion) | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | + "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||| +|`region`|[tailcfg.DERPRegion](#tailcfgderpregion)|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -| ---------- | --------- | -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.DatabaseReport ```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. | -| `latency` | string | false | | | -| `latency_ms` | integer | false | | | -| `reachable` | boolean | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `threshold_ms` | integer | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|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.| +|`latency`|string|false||| +|`latency_ms`|integer|false||| +|`reachable`|boolean|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`threshold_ms`|integer|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -| ---------- | --------- | -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.HealthSection @@ -8693,613 +8998,649 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -| -------------------- | -| `DERP` | -| `AccessURL` | -| `Websocket` | -| `Database` | -| `WorkspaceProxy` | -| `ProvisionerDaemons` | +|Value| +|---| +|`DERP`| +|`AccessURL`| +|`Websocket`| +|`Database`| +|`WorkspaceProxy`| +|`ProvisionerDaemons`| ## healthsdk.HealthSettings ```json { - "dismissed_healthchecks": ["DERP"] + "dismissed_healthchecks": [ + "DERP" + ] } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------------------------ | ----------------------------------------------------------- | -------- | ------------ | ----------- | -| `dismissed_healthchecks` | array of [healthsdk.HealthSection](#healthsdkhealthsection) | false | | | +|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" - } - ] - } - } -} -``` - -### 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 | | | -| `derp` | [healthsdk.DERPHealthReport](#healthsdkderphealthreport) | false | | | -| `healthy` | boolean | false | | Healthy is true if the report returns no errors. Deprecated: use `Severity` instead | -| `provisioner_daemons` | [healthsdk.ProvisionerDaemonsReport](#healthsdkprovisionerdaemonsreport) | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | Severity indicates the status of Coder health. | -| `time` | string | false | | Time is the time the report was generated at. | -| `websocket` | [healthsdk.WebsocketReport](#healthsdkwebsocketreport) | false | | | -| `workspace_proxy` | [healthsdk.WorkspaceProxyReport](#healthsdkworkspaceproxyreport) | false | | | + "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" + } + ] + } + } +} +``` + +### 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||| +|`derp`|[healthsdk.DERPHealthReport](#healthsdkderphealthreport)|false||| +|`healthy`|boolean|false||Healthy is true if the report returns no errors. Deprecated: use `Severity` instead| +|`provisioner_daemons`|[healthsdk.ProvisionerDaemonsReport](#healthsdkprovisionerdaemonsreport)|false||| +|`severity`|[health.Severity](#healthseverity)|false||Severity indicates the status of Coder health.| +|`time`|string|false||Time is the time the report was generated at.| +|`websocket`|[healthsdk.WebsocketReport](#healthsdkwebsocketreport)|false||| +|`workspace_proxy`|[healthsdk.WorkspaceProxyReport](#healthsdkworkspaceproxyreport)|false||| #### Enumerated Values -| Property | Value | -| ---------- | --------- | -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.ProvisionerDaemonsReport ```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" - } - ] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ----------- | ----------------------------------------------------------------------------------------- | -------- | ------------ | ----------- | -| `dismissed` | boolean | false | | | -| `error` | string | false | | | -| `items` | array of [healthsdk.ProvisionerDaemonsReportItem](#healthsdkprovisionerdaemonsreportitem) | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | + "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" + } + ] +} +``` + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dismissed`|boolean|false||| +|`error`|string|false||| +|`items`|array of [healthsdk.ProvisionerDaemonsReportItem](#healthsdkprovisionerdaemonsreportitem)|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -| ---------- | --------- | -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.ProvisionerDaemonsReportItem ```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", + "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" + } + ] } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| -------------------- | -------------------------------------------------------- | -------- | ------------ | ----------- | -| `provisioner_daemon` | [codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`provisioner_daemon`|[codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| ## healthsdk.STUNReport ```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 | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`canSTUN`|boolean|false||| +|`enabled`|boolean|false||| +|`error`|string|false||| ## healthsdk.UpdateHealthSettings ```json { - "dismissed_healthchecks": ["DERP"] + "dismissed_healthchecks": [ + "DERP" + ] } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------------------------ | ----------------------------------------------------------- | -------- | ------------ | ----------- | -| `dismissed_healthchecks` | array of [healthsdk.HealthSection](#healthsdkhealthsection) | false | | | +|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 | | | -| `error` | string | false | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`body`|string|false||| +|`code`|integer|false||| +|`dismissed`|boolean|false||| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -| ---------- | --------- | -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.WorkspaceProxyReport ```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" - } - ] - } -} -``` - -### 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. | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | -| `workspace_proxies` | [codersdk.RegionsResponse-codersdk_WorkspaceProxy](#codersdkregionsresponse-codersdk_workspaceproxy) | false | | | + "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.| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| +|`workspace_proxies`|[codersdk.RegionsResponse-codersdk_WorkspaceProxy](#codersdkregionsresponse-codersdk_workspaceproxy)|false||| #### Enumerated Values -| Property | Value | -| ---------- | --------- | -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## key.NodePublic @@ -9309,92 +9650,92 @@ 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" -} -``` - -### 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 | -| `hairPinning` | string | false | | Hairpinning is whether the router supports communicating between two local devices through the NATted public IP address (on IPv4). | -| `icmpv4` | boolean | false | | an ICMPv4 round trip completed | -| `ipv4` | boolean | false | | an IPv4 STUN round trip completed | -| `ipv4CanSend` | boolean | false | | an IPv4 packet was able to be sent | -| `ipv6` | boolean | false | | an IPv6 STUN round trip completed | -| `ipv6CanSend` | boolean | false | | an IPv6 packet was able to be sent | -| `mappingVariesByDestIP` | string | false | | Mappingvariesbydestip is whether STUN results depend which STUN server you're talking to (on IPv4). | -| `oshasIPv6` | boolean | false | | could bind a socket to ::1 | -| `pcp` | string | false | | Pcp is whether PCP appears present on the LAN. Empty means not checked. | -| `pmp` | string | false | | Pmp is whether NAT-PMP appears present on the LAN. Empty means not checked. | -| `preferredDERP` | integer | false | | or 0 for unknown | -| `regionLatency` | object | false | | keyed by DERP Region ID | -| » `[any property]` | integer | false | | | -| `regionV4Latency` | object | false | | keyed by DERP Region ID | -| » `[any property]` | integer | false | | | -| `regionV6Latency` | object | false | | keyed by DERP Region ID | -| » `[any property]` | integer | false | | | -| `udp` | boolean | false | | a UDP STUN round trip completed | -| `upnP` | string | false | | Upnp is whether UPnP appears present on the LAN. Empty means not checked. | + "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| +|`hairPinning`|string|false||Hairpinning is whether the router supports communicating between two local devices through the NATted public IP address (on IPv4).| +|`icmpv4`|boolean|false||an ICMPv4 round trip completed| +|`ipv4`|boolean|false||an IPv4 STUN round trip completed| +|`ipv4CanSend`|boolean|false||an IPv4 packet was able to be sent| +|`ipv6`|boolean|false||an IPv6 STUN round trip completed| +|`ipv6CanSend`|boolean|false||an IPv6 packet was able to be sent| +|`mappingVariesByDestIP`|string|false||Mappingvariesbydestip is whether STUN results depend which STUN server you're talking to (on IPv4).| +|`oshasIPv6`|boolean|false||could bind a socket to ::1| +|`pcp`|string|false||Pcp is whether PCP appears present on the LAN. Empty means not checked.| +|`pmp`|string|false||Pmp is whether NAT-PMP appears present on the LAN. Empty means not checked.| +|`preferredDERP`|integer|false||or 0 for unknown| +|`regionLatency`|object|false||keyed by DERP Region ID| +|» `[any property]`|integer|false||| +|`regionV4Latency`|object|false||keyed by DERP Region ID| +|» `[any property]`|integer|false||| +|`regionV6Latency`|object|false||keyed by DERP Region ID| +|» `[any property]`|integer|false||| +|`udp`|boolean|false||a UDP STUN round trip completed| +|`upnP`|string|false||Upnp is whether UPnP appears present on the LAN. Empty means not checked.| ## oauth2.Token ```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 @@ -9404,146 +9745,146 @@ _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 | | | +|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 | | | -| `yaml` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`name`|string|false||| +|`parent`|[serpent.Group](#serpentgroup)|false||| +|`yaml`|string|false||| ## serpent.HostPort ```json { - "host": "string", - "port": "string" + "host": "string", + "port": "string" } ``` ### Properties -| Name | Type | Required | Restrictions | Description | -| ------ | ------ | -------- | ------------ | ----------- | -| `host` | string | false | | | -| `port` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`host`|string|false||| +|`port`|string|false||| ## serpent.Option ```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" -} -``` - -### 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 | | | -| `env` | string | false | | Env is the environment variable used to configure this option. If unset, environment configuring is disabled. | -| `flag` | string | false | | Flag is the long name of the flag used to configure this option. If unset, flag configuring is disabled. | -| `flag_shorthand` | string | false | | Flag shorthand is the one-character shorthand for the flag. If unset, no shorthand is used. | -| `group` | [serpent.Group](#serpentgroup) | false | | Group is a group hierarchy that helps organize this option in help, configs and other documentation. | -| `hidden` | boolean | false | | | -| `name` | string | false | | | -| `required` | boolean | false | | Required means this value must be set by some means. It requires `ValueSource != ValueSourceNone` If `Default` is set, then `Required` is ignored. | -| `use_instead` | array of [serpent.Option](#serpentoption) | false | | Use instead is a list of options that should be used instead of this one. The field is used to generate a deprecation warning. | -| `value` | any | false | | Value includes the types listed in values.go. | -| `value_source` | [serpent.ValueSource](#serpentvaluesource) | false | | | -| `yaml` | string | false | | Yaml is the YAML key used to configure this option. If unset, YAML configuring is disabled. | + "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||| +|`env`|string|false||Env is the environment variable used to configure this option. If unset, environment configuring is disabled.| +|`flag`|string|false||Flag is the long name of the flag used to configure this option. If unset, flag configuring is disabled.| +|`flag_shorthand`|string|false||Flag shorthand is the one-character shorthand for the flag. If unset, no shorthand is used.| +|`group`|[serpent.Group](#serpentgroup)|false||Group is a group hierarchy that helps organize this option in help, configs and other documentation.| +|`hidden`|boolean|false||| +|`name`|string|false||| +|`required`|boolean|false||Required means this value must be set by some means. It requires `ValueSource != ValueSourceNone` If `Default` is set, then `Required` is ignored.| +|`use_instead`|array of [serpent.Option](#serpentoption)|false||Use instead is a list of options that should be used instead of this one. The field is used to generate a deprecation warning.| +|`value`|any|false||Value includes the types listed in values.go.| +|`value_source`|[serpent.ValueSource](#serpentvaluesource)|false||| +|`yaml`|string|false||Yaml is the YAML key used to configure this option. If unset, YAML configuring is disabled.| ## serpent.Regexp @@ -9553,93 +9894,95 @@ _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 | | | +|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 | | | +|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) | -| `omitHost` | boolean | false | | do not emit empty host (authority) | -| `opaque` | string | false | | encoded opaque data | -| `path` | string | false | | path (relative paths may omit leading slash) | -| `rawFragment` | string | false | | encoded fragment hint (see EscapedFragment method) | -| `rawPath` | string | false | | encoded path hint (see EscapedPath method) | -| `rawQuery` | string | false | | encoded query values, without '?' | -| `scheme` | string | false | | | -| `user` | [url.Userinfo](#urluserinfo) | false | | username and password information | +|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)| +|`omitHost`|boolean|false||do not emit empty host (authority)| +|`opaque`|string|false||encoded opaque data| +|`path`|string|false||path (relative paths may omit leading slash)| +|`rawFragment`|string|false||encoded fragment hint (see EscapedFragment method)| +|`rawPath`|string|false||encoded path hint (see EscapedPath method)| +|`rawQuery`|string|false||encoded query values, without '?'| +|`scheme`|string|false||| +|`user`|[url.Userinfo](#urluserinfo)|false||username and password information| ## serpent.ValueSource @@ -9651,31 +9994,30 @@ _None_ #### Enumerated Values -| Value | -| --------- | -| `` | -| `flag` | -| `env` | -| `yaml` | -| `default` | +|Value| +|---| +|``| +|`flag`| +|`env`| +|`yaml`| +|`default`| ## tailcfg.DERPHomeParams ```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.| @@ -9685,76 +10027,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||| @@ -9763,82 +10104,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.| @@ -9852,7 +10192,7 @@ RegionIDs in range 900-999 are reserved for end users to run their own DERP node ### Properties -_None_ +*None* ## workspaceapps.AccessMethod @@ -9864,369 +10204,369 @@ _None_ #### Enumerated Values -| Value | -| ----------- | -| `path` | -| `subdomain` | -| `terminal` | +|Value| +|---| +|`path`| +|`subdomain`| +|`terminal`| ## workspaceapps.IssueTokenRequest ```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. | -| `app_request` | [workspaceapps.Request](#workspaceappsrequest) | false | | | -| `path_app_base_url` | string | false | | Path app base URL is required. | -| `session_token` | string | false | | Session token is the session token provided by the user. | +|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.| +|`app_request`|[workspaceapps.Request](#workspaceappsrequest)|false||| +|`path_app_base_url`|string|false||Path app base URL is required.| +|`session_token`|string|false||Session token is the session token provided by the user.| ## workspaceapps.Request ```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. | -| `app_slug_or_port` | string | false | | | -| `base_path` | string | false | | Base path of the app. For path apps, this is the path prefix in the router for this particular app. For subdomain apps, this should be "/". This is used for setting the cookie path. | -| `username_or_id` | string | false | | For the following fields, if the AccessMethod is AccessMethodTerminal, then only AgentNameOrID may be set and it must be a UUID. The other fields must be left blank. | -| `workspace_name_or_id` | string | false | | | +|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.| +|`app_slug_or_port`|string|false||| +|`base_path`|string|false||Base path of the app. For path apps, this is the path prefix in the router for this particular app. For subdomain apps, this should be "/". This is used for setting the cookie path.| +|`username_or_id`|string|false||For the following fields, if the AccessMethod is AccessMethodTerminal, then only AgentNameOrID may be set and it must be a UUID. The other fields must be left blank.| +|`workspace_name_or_id`|string|false||| ## workspaceapps.StatsReport ```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 | | | -| `session_ended_at` | string | false | | Updated periodically while app is in use active and when the last connection is closed. | -| `session_id` | string | false | | | -| `session_started_at` | string | false | | | -| `slug_or_port` | string | false | | | -| `user_id` | string | false | | | -| `workspace_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_method`|[workspaceapps.AccessMethod](#workspaceappsaccessmethod)|false||| +|`agent_id`|string|false||| +|`requests`|integer|false||| +|`session_ended_at`|string|false||Updated periodically while app is in use active and when the last connection is closed.| +|`session_id`|string|false||| +|`session_started_at`|string|false||| +|`slug_or_port`|string|false||| +|`user_id`|string|false||| +|`workspace_id`|string|false||| ## workspacesdk.AgentConnectionInfo ```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 -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ---------------------------- | ---------------------------------- | -------- | ------------ | ----------- | -| `derp_force_websockets` | boolean | false | | | -| `derp_map` | [tailcfg.DERPMap](#tailcfgderpmap) | false | | | -| `disable_direct_connections` | boolean | false | | | + "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||| ## wsproxysdk.CryptoKeysResponse ```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 | | | +|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. | +|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. | +|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" - } - ] -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -| ----------------------- | --------------------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------------- | -| `derp_force_websockets` | boolean | false | | | -| `derp_map` | [tailcfg.DERPMap](#tailcfgderpmap) | false | | | -| `derp_mesh_key` | string | false | | | -| `derp_region_id` | integer | false | | | -| `sibling_replicas` | array of [codersdk.Replica](#codersdkreplica) | false | | Sibling replicas is a list of all other replicas of the proxy that have not timed out. | + "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||| +|`derp_region_id`|integer|false||| +|`sibling_replicas`|array of [codersdk.Replica](#codersdkreplica)|false||Sibling replicas is a list of all other replicas of the proxy that have not timed out.| ## wsproxysdk.ReportAppStatsRequest ```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 | | | +|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 b4f642625dcde..d5b92bd64b45e 100644 --- a/docs/reference/api/templates.md +++ b/docs/reference/api/templates.md @@ -15,9 +15,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -25,116 +25,120 @@ 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) | +|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` | -| `provisioner` | `terraform` | +|Property|Value| +|---|---| +|`max_port_share_level`|`owner`| +|`max_port_share_level`|`authenticated`| +|`max_port_share_level`|`public`| +|`provisioner`|`terraform`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -156,38 +160,42 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`body`|body|[codersdk.CreateTemplateRequest](schemas.md#codersdkcreatetemplaterequest)|true|Request body| ### Example responses @@ -195,59 +203,63 @@ 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) | +|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). @@ -266,9 +278,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -276,38 +288,40 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| --------------- | ------------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» description` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» markdown` | string | false | | | -| `» name` | string | false | | | -| `» tags` | array | false | | | -| `» url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» description`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» markdown`|string|false||| +|`» name`|string|false||| +|`» tags`|array|false||| +|`» url`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -326,10 +340,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`templatename`|path|string|true|Template name| ### Example responses @@ -337,59 +351,63 @@ 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) | +|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). @@ -408,11 +426,11 @@ 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 | +|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| ### Example responses @@ -420,52 +438,54 @@ 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": { + "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" + ] } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|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). @@ -484,11 +504,11 @@ 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 | +|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| ### Example responses @@ -496,52 +516,54 @@ 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": { + "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" + ] } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|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,32 +585,32 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.CreateTemplateVersionRequest](schemas.md#codersdkcreatetemplateversionrequest)|true|Create template version request| ### Example responses @@ -596,52 +618,54 @@ 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": { + "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" + ] } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------------ | ----------- | -------------------------------------------------------------- | -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|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,116 +688,120 @@ 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) | +|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` | -| `provisioner` | `terraform` | +|Property|Value| +|---|---| +|`max_port_share_level`|`owner`| +|`max_port_share_level`|`authenticated`| +|`max_port_share_level`|`public`| +|`provisioner`|`terraform`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -796,38 +824,40 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| --------------- | ------------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» description` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» markdown` | string | false | | | -| `» name` | string | false | | | -| `» tags` | array | false | | | -| `» url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» description`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» markdown`|string|false||| +|`» name`|string|false||| +|`» tags`|array|false||| +|`» url`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -846,9 +876,9 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template} \ ### Parameters -| Name | In | Type | Required | Description | -| ---------- | ---- | ------------ | -------- | ----------- | -| `template` | path | string(uuid) | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -856,59 +886,63 @@ 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) | +|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). @@ -927,9 +961,9 @@ curl -X DELETE http://coder-server:8080/api/v2/templates/{template} \ ### Parameters -| Name | In | Type | Required | Description | -| ---------- | ---- | ------------ | -------- | ----------- | -| `template` | path | string(uuid) | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -937,22 +971,22 @@ 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) | +|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). @@ -971,9 +1005,9 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template} \ ### Parameters -| Name | In | Type | Required | Description | -| ---------- | ---- | ------------ | -------- | ----------- | -| `template` | path | string(uuid) | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -981,59 +1015,63 @@ 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) | +|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). @@ -1052,9 +1090,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -1062,21 +1100,21 @@ 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) | +|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). @@ -1095,13 +1133,13 @@ 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 | -| `limit` | query | integer | false | Page limit | -| `offset` | query | integer | false | Page offset | +|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| +|`limit`|query|integer|false|Page limit| +|`offset`|query|integer|false|Page offset| ### Example responses @@ -1109,107 +1147,109 @@ 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": { + "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" + ] + } ] ``` ### 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) | +|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||| +|`»» 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||| #### Enumerated Values -| Property | Value | -| ------------ | ----------------------------- | -| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | +|Property|Value| +|---|---| +|`error_code`|`REQUIRED_TEMPLATE_VARIABLES`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1231,16 +1271,16 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| +|`body`|body|[codersdk.UpdateActiveTemplateVersion](schemas.md#codersdkupdateactivetemplateversion)|true|Modified template version| ### Example responses @@ -1248,22 +1288,22 @@ 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) | +|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,16 +1325,16 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| +|`body`|body|[codersdk.ArchiveTemplateVersionsRequest](schemas.md#codersdkarchivetemplateversionsrequest)|true|Archive request| ### Example responses @@ -1302,22 +1342,22 @@ 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) | +|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). @@ -1336,10 +1376,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| +|`templateversionname`|path|string|true|Template version name| ### Example responses @@ -1347,107 +1387,109 @@ 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": { + "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" + ] + } ] ``` ### 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) | +|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||| +|`»» 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||| #### Enumerated Values -| Property | Value | -| ------------ | ----------------------------- | -| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | +|Property|Value| +|---|---| +|`error_code`|`REQUIRED_TEMPLATE_VARIABLES`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1466,9 +1508,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -1476,52 +1518,54 @@ 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": { + "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" + ] } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|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,17 +1587,17 @@ 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 | +|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| ### Example responses @@ -1561,52 +1605,54 @@ 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": { + "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" + ] } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------- | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|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). @@ -1625,9 +1671,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -1635,22 +1681,22 @@ 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) | +|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). @@ -1669,9 +1715,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -1679,22 +1725,22 @@ 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) | +|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,28 +1762,28 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`body`|body|[codersdk.CreateTemplateVersionDryRunRequest](schemas.md#codersdkcreatetemplateversiondryrunrequest)|true|Dry-run request| ### Example responses @@ -1745,30 +1791,30 @@ 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" + "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" } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------------ | ----------- | ------------------------------------------------------------ | -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | +|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). @@ -1787,10 +1833,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`jobID`|path|string(uuid)|true|Job ID| ### Example responses @@ -1798,30 +1844,30 @@ 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" + "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" } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | +|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). @@ -1840,10 +1886,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`jobID`|path|string(uuid)|true|Job ID| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -1851,22 +1897,22 @@ 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) | +|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). @@ -1885,13 +1931,13 @@ 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 | -| `after` | query | integer | false | After Unix timestamp | -| `follow` | query | boolean | false | Follow log stream | +|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| +|`after`|query|integer|false|After Unix timestamp| +|`follow`|query|boolean|false|Follow log stream| ### Example responses @@ -1899,48 +1945,48 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | -------------------------------------------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» log_level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» log_source` | [codersdk.LogSource](schemas.md#codersdklogsource) | false | | | -| `» output` | string | false | | | -| `» stage` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» log_level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» log_source`|[codersdk.LogSource](schemas.md#codersdklogsource)|false||| +|`» output`|string|false||| +|`» stage`|string|false||| #### Enumerated Values -| Property | Value | -| ------------ | -------------------- | -| `log_level` | `trace` | -| `log_level` | `debug` | -| `log_level` | `info` | -| `log_level` | `warn` | -| `log_level` | `error` | -| `log_source` | `provisioner_daemon` | -| `log_source` | `provisioner` | +|Property|Value| +|---|---| +|`log_level`|`trace`| +|`log_level`|`debug`| +|`log_level`|`info`| +|`log_level`|`warn`| +|`log_level`|`error`| +|`log_source`|`provisioner_daemon`| +|`log_source`|`provisioner`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1959,10 +2005,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`jobID`|path|string(uuid)|true|Job ID| ### Example responses @@ -1970,17 +2016,17 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ```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" } ``` ### Responses -| Status | Meaning | Description | Schema | -| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------- | -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | +|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). @@ -1999,10 +2045,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`jobID`|path|string(uuid)|true|Job ID| ### Example responses @@ -2010,245 +2056,249 @@ 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", + "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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ------------------------------- | ------------------------------------------------------------------------------------------------------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» agents` | array | false | | | -| `»» api_version` | string | false | | | -| `»» apps` | array | false | | | -| `»»» 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. | -| `»»» health` | [codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth) | false | | | -| `»»» healthcheck` | [codersdk.Healthcheck](schemas.md#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `»»»» 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. | -| `»»» 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 | | | -| `»»» 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. | -| `»»» subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `»»» url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | -| `»» architecture` | string | false | | | -| `»» connection_timeout_seconds` | integer | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» directory` | string | false | | | -| `»» disconnected_at` | string(date-time) | false | | | -| `»» display_apps` | array | false | | | -| `»» environment_variables` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» expanded_directory` | string | false | | | -| `»» first_connected_at` | string(date-time) | false | | | -| `»» health` | [codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `»»» 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. | -| `»» id` | string(uuid) | false | | | -| `»» instance_id` | string | false | | | -| `»» last_connected_at` | string(date-time) | false | | | -| `»» latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| `»»» [any property]` | [codersdk.DERPRegion](schemas.md#codersdkderpregion) | false | | | -| `»»»» latency_ms` | number | false | | | -| `»»»» preferred` | boolean | false | | | -| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | | -| `»» log_sources` | array | false | | | -| `»»» created_at` | string(date-time) | false | | | -| `»»» display_name` | string | false | | | -| `»»» icon` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» workspace_agent_id` | string(uuid) | false | | | -| `»» logs_length` | integer | false | | | -| `»» logs_overflowed` | boolean | false | | | -| `»» name` | string | false | | | -| `»» operating_system` | string | false | | | -| `»» ready_at` | string(date-time) | false | | | -| `»» resource_id` | string(uuid) | false | | | -| `»» scripts` | array | false | | | -| `»»» cron` | string | false | | | -| `»»» display_name` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» log_path` | string | false | | | -| `»»» log_source_id` | string(uuid) | false | | | -| `»»» run_on_start` | boolean | false | | | -| `»»» run_on_stop` | boolean | false | | | -| `»»» script` | string | false | | | -| `»»» start_blocks_login` | boolean | false | | | -| `»»» timeout` | integer | false | | | -| `»» started_at` | string(date-time) | false | | | -| `»» startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `»» status` | [codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus) | false | | | -| `»» subsystems` | array | false | | | -| `»» troubleshooting_url` | string | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» version` | string | false | | | -| `» created_at` | string(date-time) | false | | | -| `» daily_cost` | integer | false | | | -| `» hide` | boolean | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» job_id` | string(uuid) | false | | | -| `» metadata` | array | false | | | -| `»» key` | string | false | | | -| `»» sensitive` | boolean | false | | | -| `»» value` | string | false | | | -| `» name` | string | false | | | -| `» type` | string | false | | | -| `» workspace_transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» agents`|array|false||| +|`»» api_version`|string|false||| +|`»» apps`|array|false||| +|`»»» 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.| +|`»»» health`|[codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth)|false||| +|`»»» healthcheck`|[codersdk.Healthcheck](schemas.md#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`»»»» 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.| +|`»»» 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||| +|`»»» 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.| +|`»»» subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`»»» url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| +|`»» architecture`|string|false||| +|`»» connection_timeout_seconds`|integer|false||| +|`»» created_at`|string(date-time)|false||| +|`»» directory`|string|false||| +|`»» disconnected_at`|string(date-time)|false||| +|`»» display_apps`|array|false||| +|`»» environment_variables`|object|false||| +|`»»» [any property]`|string|false||| +|`»» expanded_directory`|string|false||| +|`»» first_connected_at`|string(date-time)|false||| +|`»» health`|[codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`»»» 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.| +|`»» id`|string(uuid)|false||| +|`»» instance_id`|string|false||| +|`»» last_connected_at`|string(date-time)|false||| +|`»» latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|`»»» [any property]`|[codersdk.DERPRegion](schemas.md#codersdkderpregion)|false||| +|`»»»» latency_ms`|number|false||| +|`»»»» preferred`|boolean|false||| +|`»» lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle)|false||| +|`»» log_sources`|array|false||| +|`»»» created_at`|string(date-time)|false||| +|`»»» display_name`|string|false||| +|`»»» icon`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» workspace_agent_id`|string(uuid)|false||| +|`»» logs_length`|integer|false||| +|`»» logs_overflowed`|boolean|false||| +|`»» name`|string|false||| +|`»» operating_system`|string|false||| +|`»» ready_at`|string(date-time)|false||| +|`»» resource_id`|string(uuid)|false||| +|`»» scripts`|array|false||| +|`»»» cron`|string|false||| +|`»»» display_name`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» log_path`|string|false||| +|`»»» log_source_id`|string(uuid)|false||| +|`»»» run_on_start`|boolean|false||| +|`»»» run_on_stop`|boolean|false||| +|`»»» script`|string|false||| +|`»»» start_blocks_login`|boolean|false||| +|`»»» timeout`|integer|false||| +|`»» started_at`|string(date-time)|false||| +|`»» startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`»» status`|[codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus)|false||| +|`»» subsystems`|array|false||| +|`»» troubleshooting_url`|string|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» version`|string|false||| +|`» created_at`|string(date-time)|false||| +|`» daily_cost`|integer|false||| +|`» hide`|boolean|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» job_id`|string(uuid)|false||| +|`» metadata`|array|false||| +|`»» key`|string|false||| +|`»» sensitive`|boolean|false||| +|`»» value`|string|false||| +|`» name`|string|false||| +|`» type`|string|false||| +|`» workspace_transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| #### Enumerated Values -| Property | Value | -| ------------------------- | ------------------ | -| `health` | `disabled` | -| `health` | `initializing` | -| `health` | `healthy` | -| `health` | `unhealthy` | -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `public` | -| `lifecycle_state` | `created` | -| `lifecycle_state` | `starting` | -| `lifecycle_state` | `start_timeout` | -| `lifecycle_state` | `start_error` | -| `lifecycle_state` | `ready` | -| `lifecycle_state` | `shutting_down` | -| `lifecycle_state` | `shutdown_timeout` | -| `lifecycle_state` | `shutdown_error` | -| `lifecycle_state` | `off` | -| `startup_script_behavior` | `blocking` | -| `startup_script_behavior` | `non-blocking` | -| `status` | `connecting` | -| `status` | `connected` | -| `status` | `disconnected` | -| `status` | `timeout` | -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | +|Property|Value| +|---|---| +|`health`|`disabled`| +|`health`|`initializing`| +|`health`|`healthy`| +|`health`|`unhealthy`| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`public`| +|`lifecycle_state`|`created`| +|`lifecycle_state`|`starting`| +|`lifecycle_state`|`start_timeout`| +|`lifecycle_state`|`start_error`| +|`lifecycle_state`|`ready`| +|`lifecycle_state`|`shutting_down`| +|`lifecycle_state`|`shutdown_timeout`| +|`lifecycle_state`|`shutdown_error`| +|`lifecycle_state`|`off`| +|`startup_script_behavior`|`blocking`| +|`startup_script_behavior`|`non-blocking`| +|`status`|`connecting`| +|`status`|`connected`| +|`status`|`disconnected`| +|`status`|`timeout`| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2267,9 +2317,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -2277,38 +2327,38 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------------- | ------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» authenticate_url` | string | false | | | -| `» authenticated` | boolean | false | | | -| `» display_icon` | string | false | | | -| `» display_name` | string | false | | | -| `» id` | string | false | | | -| `» optional` | boolean | false | | | -| `» type` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» authenticate_url`|string|false||| +|`» authenticated`|boolean|false||| +|`» display_icon`|string|false||| +|`» display_name`|string|false||| +|`» id`|string|false||| +|`» optional`|boolean|false||| +|`» type`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2327,12 +2377,12 @@ 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 | -| `follow` | query | boolean | false | Follow log stream | +|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| +|`follow`|query|boolean|false|Follow log stream| ### Example responses @@ -2340,48 +2390,48 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | -------------------------------------------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» log_level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» log_source` | [codersdk.LogSource](schemas.md#codersdklogsource) | false | | | -| `» output` | string | false | | | -| `» stage` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» log_level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» log_source`|[codersdk.LogSource](schemas.md#codersdklogsource)|false||| +|`» output`|string|false||| +|`» stage`|string|false||| #### Enumerated Values -| Property | Value | -| ------------ | -------------------- | -| `log_level` | `trace` | -| `log_level` | `debug` | -| `log_level` | `info` | -| `log_level` | `warn` | -| `log_level` | `error` | -| `log_source` | `provisioner_daemon` | -| `log_source` | `provisioner` | +|Property|Value| +|---|---| +|`log_level`|`trace`| +|`log_level`|`debug`| +|`log_level`|`info`| +|`log_level`|`warn`| +|`log_level`|`error`| +|`log_source`|`provisioner_daemon`| +|`log_source`|`provisioner`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2399,15 +2449,15 @@ 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 | +|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 | | +|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). @@ -2426,9 +2476,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -2436,245 +2486,249 @@ 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", + "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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ------------------------------- | ------------------------------------------------------------------------------------------------------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `[array item]` | array | false | | | -| `» agents` | array | false | | | -| `»» api_version` | string | false | | | -| `»» apps` | array | false | | | -| `»»» 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. | -| `»»» health` | [codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth) | false | | | -| `»»» healthcheck` | [codersdk.Healthcheck](schemas.md#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `»»»» 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. | -| `»»» 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 | | | -| `»»» 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. | -| `»»» subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `»»» url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | -| `»» architecture` | string | false | | | -| `»» connection_timeout_seconds` | integer | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» directory` | string | false | | | -| `»» disconnected_at` | string(date-time) | false | | | -| `»» display_apps` | array | false | | | -| `»» environment_variables` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» expanded_directory` | string | false | | | -| `»» first_connected_at` | string(date-time) | false | | | -| `»» health` | [codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `»»» 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. | -| `»» id` | string(uuid) | false | | | -| `»» instance_id` | string | false | | | -| `»» last_connected_at` | string(date-time) | false | | | -| `»» latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| `»»» [any property]` | [codersdk.DERPRegion](schemas.md#codersdkderpregion) | false | | | -| `»»»» latency_ms` | number | false | | | -| `»»»» preferred` | boolean | false | | | -| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | | -| `»» log_sources` | array | false | | | -| `»»» created_at` | string(date-time) | false | | | -| `»»» display_name` | string | false | | | -| `»»» icon` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» workspace_agent_id` | string(uuid) | false | | | -| `»» logs_length` | integer | false | | | -| `»» logs_overflowed` | boolean | false | | | -| `»» name` | string | false | | | -| `»» operating_system` | string | false | | | -| `»» ready_at` | string(date-time) | false | | | -| `»» resource_id` | string(uuid) | false | | | -| `»» scripts` | array | false | | | -| `»»» cron` | string | false | | | -| `»»» display_name` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» log_path` | string | false | | | -| `»»» log_source_id` | string(uuid) | false | | | -| `»»» run_on_start` | boolean | false | | | -| `»»» run_on_stop` | boolean | false | | | -| `»»» script` | string | false | | | -| `»»» start_blocks_login` | boolean | false | | | -| `»»» timeout` | integer | false | | | -| `»» started_at` | string(date-time) | false | | | -| `»» startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `»» status` | [codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus) | false | | | -| `»» subsystems` | array | false | | | -| `»» troubleshooting_url` | string | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» version` | string | false | | | -| `» created_at` | string(date-time) | false | | | -| `» daily_cost` | integer | false | | | -| `» hide` | boolean | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» job_id` | string(uuid) | false | | | -| `» metadata` | array | false | | | -| `»» key` | string | false | | | -| `»» sensitive` | boolean | false | | | -| `»» value` | string | false | | | -| `» name` | string | false | | | -| `» type` | string | false | | | -| `» workspace_transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» agents`|array|false||| +|`»» api_version`|string|false||| +|`»» apps`|array|false||| +|`»»» 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.| +|`»»» health`|[codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth)|false||| +|`»»» healthcheck`|[codersdk.Healthcheck](schemas.md#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`»»»» 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.| +|`»»» 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||| +|`»»» 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.| +|`»»» subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`»»» url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| +|`»» architecture`|string|false||| +|`»» connection_timeout_seconds`|integer|false||| +|`»» created_at`|string(date-time)|false||| +|`»» directory`|string|false||| +|`»» disconnected_at`|string(date-time)|false||| +|`»» display_apps`|array|false||| +|`»» environment_variables`|object|false||| +|`»»» [any property]`|string|false||| +|`»» expanded_directory`|string|false||| +|`»» first_connected_at`|string(date-time)|false||| +|`»» health`|[codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`»»» 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.| +|`»» id`|string(uuid)|false||| +|`»» instance_id`|string|false||| +|`»» last_connected_at`|string(date-time)|false||| +|`»» latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|`»»» [any property]`|[codersdk.DERPRegion](schemas.md#codersdkderpregion)|false||| +|`»»»» latency_ms`|number|false||| +|`»»»» preferred`|boolean|false||| +|`»» lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle)|false||| +|`»» log_sources`|array|false||| +|`»»» created_at`|string(date-time)|false||| +|`»»» display_name`|string|false||| +|`»»» icon`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» workspace_agent_id`|string(uuid)|false||| +|`»» logs_length`|integer|false||| +|`»» logs_overflowed`|boolean|false||| +|`»» name`|string|false||| +|`»» operating_system`|string|false||| +|`»» ready_at`|string(date-time)|false||| +|`»» resource_id`|string(uuid)|false||| +|`»» scripts`|array|false||| +|`»»» cron`|string|false||| +|`»»» display_name`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» log_path`|string|false||| +|`»»» log_source_id`|string(uuid)|false||| +|`»»» run_on_start`|boolean|false||| +|`»»» run_on_stop`|boolean|false||| +|`»»» script`|string|false||| +|`»»» start_blocks_login`|boolean|false||| +|`»»» timeout`|integer|false||| +|`»» started_at`|string(date-time)|false||| +|`»» startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`»» status`|[codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus)|false||| +|`»» subsystems`|array|false||| +|`»» troubleshooting_url`|string|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» version`|string|false||| +|`» created_at`|string(date-time)|false||| +|`» daily_cost`|integer|false||| +|`» hide`|boolean|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» job_id`|string(uuid)|false||| +|`» metadata`|array|false||| +|`»» key`|string|false||| +|`»» sensitive`|boolean|false||| +|`»» value`|string|false||| +|`» name`|string|false||| +|`» type`|string|false||| +|`» workspace_transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| #### Enumerated Values -| Property | Value | -| ------------------------- | ------------------ | -| `health` | `disabled` | -| `health` | `initializing` | -| `health` | `healthy` | -| `health` | `unhealthy` | -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `public` | -| `lifecycle_state` | `created` | -| `lifecycle_state` | `starting` | -| `lifecycle_state` | `start_timeout` | -| `lifecycle_state` | `start_error` | -| `lifecycle_state` | `ready` | -| `lifecycle_state` | `shutting_down` | -| `lifecycle_state` | `shutdown_timeout` | -| `lifecycle_state` | `shutdown_error` | -| `lifecycle_state` | `off` | -| `startup_script_behavior` | `blocking` | -| `startup_script_behavior` | `non-blocking` | -| `status` | `connecting` | -| `status` | `connected` | -| `status` | `disconnected` | -| `status` | `timeout` | -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | +|Property|Value| +|---|---| +|`health`|`disabled`| +|`health`|`initializing`| +|`health`|`healthy`| +|`health`|`unhealthy`| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`public`| +|`lifecycle_state`|`created`| +|`lifecycle_state`|`starting`| +|`lifecycle_state`|`start_timeout`| +|`lifecycle_state`|`start_error`| +|`lifecycle_state`|`ready`| +|`lifecycle_state`|`shutting_down`| +|`lifecycle_state`|`shutdown_timeout`| +|`lifecycle_state`|`shutdown_error`| +|`lifecycle_state`|`off`| +|`startup_script_behavior`|`blocking`| +|`startup_script_behavior`|`non-blocking`| +|`status`|`connecting`| +|`status`|`connected`| +|`status`|`disconnected`| +|`status`|`timeout`| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2693,9 +2747,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -2703,78 +2757,78 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ------------------------- | -------------------------------------------------------------------------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» default_value` | string | false | | | -| `» description` | string | false | | | -| `» description_plaintext` | string | false | | | -| `» display_name` | string | false | | | -| `» ephemeral` | boolean | false | | | -| `» icon` | string | false | | | -| `» mutable` | boolean | false | | | -| `» name` | string | false | | | -| `» options` | array | false | | | -| `»» description` | string | false | | | -| `»» icon` | string | false | | | -| `»» name` | string | false | | | -| `»» value` | string | false | | | -| `» required` | boolean | false | | | -| `» type` | string | false | | | -| `» validation_error` | string | false | | | -| `» validation_max` | integer | false | | | -| `» validation_min` | integer | false | | | -| `» validation_monotonic` | [codersdk.ValidationMonotonicOrder](schemas.md#codersdkvalidationmonotonicorder) | false | | | -| `» validation_regex` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» default_value`|string|false||| +|`» description`|string|false||| +|`» description_plaintext`|string|false||| +|`» display_name`|string|false||| +|`» ephemeral`|boolean|false||| +|`» icon`|string|false||| +|`» mutable`|boolean|false||| +|`» name`|string|false||| +|`» options`|array|false||| +|`»» description`|string|false||| +|`»» icon`|string|false||| +|`»» name`|string|false||| +|`»» value`|string|false||| +|`» required`|boolean|false||| +|`» type`|string|false||| +|`» validation_error`|string|false||| +|`» validation_max`|integer|false||| +|`» validation_min`|integer|false||| +|`» validation_monotonic`|[codersdk.ValidationMonotonicOrder](schemas.md#codersdkvalidationmonotonicorder)|false||| +|`» validation_regex`|string|false||| #### Enumerated Values -| Property | Value | -| ---------------------- | -------------- | -| `type` | `string` | -| `type` | `number` | -| `type` | `bool` | -| `type` | `list(string)` | -| `validation_monotonic` | `increasing` | -| `validation_monotonic` | `decreasing` | +|Property|Value| +|---|---| +|`type`|`string`| +|`type`|`number`| +|`type`|`bool`| +|`type`|`list(string)`| +|`validation_monotonic`|`increasing`| +|`validation_monotonic`|`decreasing`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2792,15 +2846,15 @@ 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 | +|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 | | +|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). @@ -2819,9 +2873,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -2829,22 +2883,22 @@ 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) | +|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). @@ -2863,9 +2917,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -2873,45 +2927,45 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ----------------- | ------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» default_value` | string | false | | | -| `» description` | string | false | | | -| `» name` | string | false | | | -| `» required` | boolean | false | | | -| `» sensitive` | boolean | false | | | -| `» type` | string | false | | | -| `» value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» default_value`|string|false||| +|`» description`|string|false||| +|`» name`|string|false||| +|`» required`|boolean|false||| +|`» sensitive`|boolean|false||| +|`» type`|string|false||| +|`» value`|string|false||| #### Enumerated Values -| Property | Value | -| -------- | -------- | -| `type` | `string` | -| `type` | `number` | -| `type` | `bool` | +|Property|Value| +|---|---| +|`type`|`string`| +|`type`|`number`| +|`type`|`bool`| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/users.md b/docs/reference/api/users.md index 5e0ae3c239c04..a346eede93013 100644 --- a/docs/reference/api/users.md +++ b/docs/reference/api/users.md @@ -15,12 +15,12 @@ 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 | -| `offset` | query | integer | false | Page offset | +|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| +|`offset`|query|integer|false|Page offset| ### Example responses @@ -28,38 +28,40 @@ 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) | +|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,21 +83,23 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.CreateUserRequestWithOrgs](schemas.md#codersdkcreateuserrequestwithorgs)|true|Create user request| ### Example responses @@ -103,33 +107,35 @@ 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) | +|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,26 +158,26 @@ 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) | +|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,22 +200,22 @@ 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) | +|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,28 +237,28 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.CreateFirstUserRequest](schemas.md#codersdkcreatefirstuserrequest)|true|First user request| ### Example responses @@ -260,16 +266,16 @@ 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) | +|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,22 +298,22 @@ 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) | +|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). @@ -325,9 +331,9 @@ 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 | | +|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). @@ -345,9 +351,9 @@ 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 | | +|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). @@ -366,9 +372,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, username, or me| ### Example responses @@ -376,33 +382,35 @@ 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) | +|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). @@ -420,15 +428,15 @@ 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 | +|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 | | +|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,16 +458,16 @@ 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 | +|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| ### Example responses @@ -467,33 +475,35 @@ 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) | +|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). @@ -512,10 +522,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, username, or me| +|`template_id`|query|string|true|Template ID| ### Example responses @@ -523,28 +533,28 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------- | ------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» name` | string | false | | | -| `» value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» name`|string|false||| +|`» value`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -563,9 +573,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -573,18 +583,18 @@ 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) | +|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). @@ -603,9 +613,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -613,18 +623,18 @@ 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) | +|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). @@ -643,9 +653,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -653,15 +663,15 @@ 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) | +|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). @@ -680,9 +690,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -690,55 +700,55 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| -------------------- | ------------------------------------------------------ | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | true | | | -| `» expires_at` | string(date-time) | true | | | -| `» id` | string | true | | | -| `» last_used` | string(date-time) | true | | | -| `» lifetime_seconds` | integer | true | | | -| `» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | true | | | -| `» scope` | [codersdk.APIKeyScope](schemas.md#codersdkapikeyscope) | true | | | -| `» token_name` | string | true | | | -| `» updated_at` | string(date-time) | true | | | -| `» user_id` | string(uuid) | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|true||| +|`» expires_at`|string(date-time)|true||| +|`» id`|string|true||| +|`» last_used`|string(date-time)|true||| +|`» lifetime_seconds`|integer|true||| +|`» login_type`|[codersdk.LoginType](schemas.md#codersdklogintype)|true||| +|`» scope`|[codersdk.APIKeyScope](schemas.md#codersdkapikeyscope)|true||| +|`» token_name`|string|true||| +|`» updated_at`|string(date-time)|true||| +|`» user_id`|string(uuid)|true||| #### Enumerated Values -| Property | Value | -| ------------ | --------------------- | -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `scope` | `all` | -| `scope` | `application_connect` | +|Property|Value| +|---|---| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`scope`|`all`| +|`scope`|`application_connect`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -760,18 +770,18 @@ 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 | +|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| ### Example responses @@ -779,15 +789,15 @@ 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) | +|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). @@ -806,10 +816,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`keyname`|path|string(string)|true|Key Name| ### Example responses @@ -817,24 +827,24 @@ 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) | +|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). @@ -853,10 +863,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`keyid`|path|string(uuid)|true|Key ID| ### Example responses @@ -864,24 +874,24 @@ 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) | +|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). @@ -899,16 +909,16 @@ 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 | +|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 | | +|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). @@ -927,9 +937,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -937,15 +947,15 @@ 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) | +|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). @@ -964,9 +974,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -974,40 +984,40 @@ 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) | +|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

Status Code **200** -| Name | Type | Required | Restrictions | Description | -| ---------------- | ----------------- | -------- | ------------ | ----------- | -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | true | | | -| `» description` | string | false | | | -| `» display_name` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | true | | | -| `» is_default` | boolean | true | | | -| `» name` | string | false | | | -| `» updated_at` | string(date-time) | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|true||| +|`» description`|string|false||| +|`» display_name`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|true||| +|`» is_default`|boolean|true||| +|`» name`|string|false||| +|`» updated_at`|string(date-time)|true||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1026,10 +1036,10 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`organizationname`|path|string|true|Organization name| ### Example responses @@ -1037,22 +1047,22 @@ 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) | +|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,23 +1083,23 @@ 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 | +|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 | | +|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,17 +1121,17 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.UpdateUserProfileRequest](schemas.md#codersdkupdateuserprofilerequest)|true|Updated profile| ### Example responses @@ -1129,33 +1139,35 @@ 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) | +|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). @@ -1174,9 +1186,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -1184,33 +1196,35 @@ 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) | +|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,16 +1246,18 @@ 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 | +|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| ### Example responses @@ -1249,33 +1265,35 @@ 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) | +|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). @@ -1294,9 +1312,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -1304,33 +1322,35 @@ 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) | +|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). @@ -1349,9 +1369,9 @@ 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 | +|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) | +|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..f89d93ba488af 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) | +|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 b855615336c45..b3ea8eadac147 100644 --- a/docs/reference/api/workspaces.md +++ b/docs/reference/api/workspaces.md @@ -23,28 +23,28 @@ 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 | +|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| ### Example responses @@ -52,200 +52,206 @@ 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" - }, - "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", - "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" + "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" + }, + "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", + "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) | +|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). @@ -264,11 +270,11 @@ 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 | +|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| ### Example responses @@ -276,200 +282,206 @@ 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" - }, - "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", - "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" + "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" + }, + "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", + "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) | +|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). @@ -496,27 +508,27 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|Username, UUID, or me| +|`body`|body|[codersdk.CreateWorkspaceRequest](schemas.md#codersdkcreateworkspacerequest)|true|Create workspace request| ### Example responses @@ -524,200 +536,206 @@ 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" - }, - "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", - "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" + "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" + }, + "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", + "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) | +|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). @@ -736,11 +754,11 @@ 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 | +|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| ### Example responses @@ -748,201 +766,207 @@ 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" - }, - "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", - "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" - } - ] + "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" + }, + "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", + "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) | +|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). @@ -961,10 +985,10 @@ 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 | +|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| ### Example responses @@ -972,200 +996,206 @@ 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" - }, - "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", - "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" + "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" + }, + "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", + "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) | +|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). @@ -1186,22 +1216,22 @@ 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 | +|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 | | +|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). @@ -1222,22 +1252,22 @@ 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 | +|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 | | +|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). @@ -1258,26 +1288,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 | +|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 | | +|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 @@ -1295,16 +1325,16 @@ 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 | +|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| ### Example responses @@ -1312,200 +1342,206 @@ 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" - }, - "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", - "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" + "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" + }, + "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", + "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) | +|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). @@ -1527,16 +1563,16 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.PutExtendWorkspaceRequest](schemas.md#codersdkputextendworkspacerequest)|true|Extend deadline update request| ### Example responses @@ -1544,26 +1580,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) | +|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 @@ -1577,19 +1613,19 @@ 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 | +|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 | | +|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 @@ -1603,19 +1639,19 @@ 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 | +|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 | | +|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 @@ -1630,9 +1666,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Example responses @@ -1640,15 +1676,15 @@ 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) | +|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). @@ -1667,9 +1703,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Example responses @@ -1677,46 +1713,46 @@ 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) | +|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). @@ -1737,22 +1773,22 @@ 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 | +|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 | | +|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,23 +1809,23 @@ 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 | +|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 | | +|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). @@ -1808,9 +1844,9 @@ 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 | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Example responses @@ -1818,8 +1854,8 @@ 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) | +|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..59c27de88f751 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 @@ -14,8 +13,8 @@ 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..a42f93d0834bf 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. @@ -14,16 +13,16 @@ coder completion [flags] ### -s, --shell -| | | -| ---- | ---------------------------------------- | +| | | +| --- | --- | | Type | bash\|fish\|zsh\|powershell | 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..e0b4b9c0a2a03 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" @@ -27,83 +26,83 @@ workspaces: ### --ssh-config-file -| | | -| ----------- | ----------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SSH_CONFIG_FILE | -| Default | ~/.ssh/config | +| Default |~/.ssh/config | Specifies the path to an SSH config. ### --coder-binary-path -| | | -| ----------- | ------------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SSH_CONFIG_BINARY_PATH | Optionally specify the absolute path to the coder binary used in ProxyCommand. By default, the binary invoking this command ('config ssh') is used. ### -o, --ssh-option -| | | -| ----------- | ----------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_SSH_CONFIG_OPTS | Specifies additional SSH options to embed in each host stanza. ### -n, --dry-run -| | | -| ----------- | ------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_SSH_DRY_RUN | Perform a trial run with no changes made, showing a diff at the end. ### --use-previous-options -| | | -| ----------- | -------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_SSH_USE_PREVIOUS_OPTIONS | Specifies whether or not to keep options from previous run of config-ssh. ### --ssh-host-prefix -| | | -| ----------- | --------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_CONFIGSSH_SSH_HOST_PREFIX | Override the default host prefix. ### --wait -| | | -| ----------- | ---------------------------------- | -| Type | yes\|no\|auto | +| | | +| --- | --- | +| Type | yes\|no\|auto | | Environment | $CODER_CONFIGSSH_WAIT | -| Default | auto | +| Default |auto | Specifies whether or not to wait for the startup script to finish executing. Auto means that the agent startup script behavior configured in the workspace template is used. ### --disable-autostart -| | | -| ----------- | ----------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_CONFIGSSH_DISABLE_AUTOSTART | -| Default | false | +| Default |false | 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 377dda14189e4..0908dccdac74b 100644 --- a/docs/reference/cli/create.md +++ b/docs/reference/cli/create.md @@ -1,5 +1,4 @@ - # create Create a workspace @@ -22,99 +21,99 @@ coder create [flags] [workspace] ### -t, --template -| | | -| ----------- | --------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_TEMPLATE_NAME | Specify a template name. ### --template-version -| | | -| ----------- | ------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_TEMPLATE_VERSION | Specify a template version name. ### --start-at -| | | -| ----------- | -------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_WORKSPACE_START_AT | Specify the workspace autostart schedule. Check coder schedule start --help for the syntax. ### --stop-after -| | | -| ----------- | ---------------------------------------- | -| Type | duration | +| | | +| --- | --- | +| Type | duration | | Environment | $CODER_WORKSPACE_STOP_AFTER | Specify a duration after which the workspace should shut down (e.g. 8h). ### --automatic-updates -| | | -| ----------- | ----------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_WORKSPACE_AUTOMATIC_UPDATES | -| Default | never | +| Default |never | Specify automatic updates setting for the workspace (accepts 'always' or 'never'). ### --copy-parameters-from -| | | -| ----------- | -------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_WORKSPACE_COPY_PARAMETERS_FROM | Specify the source workspace name to copy parameters from. ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. ### --parameter -| | | -| ----------- | ---------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_RICH_PARAMETER | Rich parameter value in the format "name=value". ### --rich-parameter-file -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_RICH_PARAMETER_FILE | Specify a file path with values for rich parameters defined in the template. The file should be in YAML format, containing key-value pairs for the parameters. ### --parameter-default -| | | -| ----------- | ------------------------------------------ | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_RICH_PARAMETER_DEFAULT | Rich parameter default values in the format "name=value". ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/delete.md b/docs/reference/cli/delete.md index b5093efa63f0a..f3cb46e99a6ed 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 @@ -26,16 +25,16 @@ coder delete [flags] ### --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. ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. diff --git a/docs/reference/cli/dotfiles.md b/docs/reference/cli/dotfiles.md index 709aab6dd70b0..66b92dba12619 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 @@ -22,35 +21,35 @@ coder dotfiles [flags] ### --symlink-dir -| | | -| ----------- | ------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SYMLINK_DIR | Specifies the directory for the dotfiles symlink destinations. If empty, will use $HOME. ### -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. ### --repo-dir -| | | -| ----------- | ------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_DOTFILES_REPO_DIR | -| Default | dotfiles | +| Default |dotfiles | Specifies the directory for the dotfiles repository, relative to global config directory. ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. diff --git a/docs/reference/cli/external-auth.md b/docs/reference/cli/external-auth.md index ebe16435feb62..3323af82afb0e 100644 --- a/docs/reference/cli/external-auth.md +++ b/docs/reference/cli/external-auth.md @@ -1,5 +1,4 @@ - # external-auth Manage external authentication @@ -18,6 +17,6 @@ Authenticate with external services inside of a workspace. ## Subcommands -| Name | Purpose | -| ------------------------------------------------------------ | ----------------------------------- | +| 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..c6826d7cd82d6 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 @@ -36,8 +35,8 @@ 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..5be1a8896e675 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 @@ -16,6 +15,6 @@ coder features ## Subcommands -| Name | Purpose | -| --------------------------------------- | ------- | -| [list](./features_list.md) | | +| Name | Purpose | +| ---- | ----- | +| [list](./features_list.md) | | diff --git a/docs/reference/cli/features_list.md b/docs/reference/cli/features_list.md index 43795aea2874b..b89447ebd7f9b 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 @@ -16,18 +15,18 @@ coder features list [flags] ### -c, --column -| | | -| ------- | -------------------------------------------------------- | -| Type | [name\|entitlement\|enabled\|limit\|actual] | -| Default | name,entitlement,enabled,limit,actual | +| | | +| --- | --- | +| Type | [name\|entitlement\|enabled\|limit\|actual] | +| Default |name,entitlement,enabled,limit,actual | Specify columns to filter in the table. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. diff --git a/docs/reference/cli/groups.md b/docs/reference/cli/groups.md index 6d5c936e7f0c5..a012ed72cb2f3 100644 --- a/docs/reference/cli/groups.md +++ b/docs/reference/cli/groups.md @@ -1,12 +1,11 @@ - # groups Manage groups Aliases: -- group +* group ## Usage @@ -16,9 +15,9 @@ coder groups ## Subcommands -| Name | Purpose | -| ----------------------------------------- | ------------------- | +| 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 | +| [list](./groups_list.md) | List user groups | +| [edit](./groups_edit.md) | Edit a user group | | [delete](./groups_delete.md) | Delete a user group | diff --git a/docs/reference/cli/groups_create.md b/docs/reference/cli/groups_create.md index e758b422ea387..de0facd279606 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 @@ -14,27 +13,27 @@ coder groups create [flags] ### -u, --avatar-url -| | | -| ----------- | ------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_AVATAR_URL | Set an avatar for a group. ### --display-name -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_DISPLAY_NAME | Optional human friendly name for the group. ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/groups_delete.md b/docs/reference/cli/groups_delete.md index 7bbf215ae2f29..dec31040164b1 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 @@ -18,9 +17,9 @@ coder groups delete [flags] ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/groups_edit.md b/docs/reference/cli/groups_edit.md index f7c39c58e1d24..8f951a06db4ae 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 @@ -14,50 +13,50 @@ coder groups edit [flags] ### -n, --name -| | | -| ---- | ------------------- | +| | | +| --- | --- | | Type | string | Update the group name. ### -u, --avatar-url -| | | -| ---- | ------------------- | +| | | +| --- | --- | | Type | string | Update the group avatar. ### --display-name -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_DISPLAY_NAME | Optional human friendly name for the group. ### -a, --add-users -| | | -| ---- | ------------------------- | +| | | +| --- | --- | | Type | string-array | Add users to the group. Accepts emails or IDs. ### -r, --rm-users -| | | -| ---- | ------------------------- | +| | | +| --- | --- | | Type | string-array | Remove users to the group. Accepts emails or IDs. ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/groups_list.md b/docs/reference/cli/groups_list.md index f3ab2f5e0956e..c64159520113a 100644 --- a/docs/reference/cli/groups_list.md +++ b/docs/reference/cli/groups_list.md @@ -1,5 +1,4 @@ - # groups list List user groups @@ -14,27 +13,27 @@ coder groups list [flags] ### -c, --column -| | | -| ------- | ----------------------------------------------------------------------- | -| Type | [name\|display name\|organization id\|members\|avatar url] | -| Default | name,display name,organization id,members,avatar url | +| | | +| --- | --- | +| Type | [name\|display name\|organization id\|members\|avatar url] | +| Default |name,display name,organization id,members,avatar url | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/index.md b/docs/reference/cli/index.md index 525cb8ac7d183..12b615ce91e13 100644 --- a/docs/reference/cli/index.md +++ b/docs/reference/cli/index.md @@ -1,5 +1,4 @@ - # coder ## Usage @@ -23,148 +22,148 @@ 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 | -| [login](./login.md) | Authenticate with Coder deployment | -| [logout](./logout.md) | Unauthenticate your local session | -| [netcheck](./netcheck.md) | Print network debug information for DERP and STUN | -| [notifications](./notifications.md) | Manage Coder notifications | -| [organizations](./organizations.md) | Organization related commands | -| [port-forward](./port-forward.md) | Forward ports from a workspace to the local machine. For reverse port forwarding, use "coder ssh -R". | -| [publickey](./publickey.md) | Output your Coder public key used for Git operations | -| [reset-password](./reset-password.md) | Directly connect to the database to reset a user's password | -| [state](./state.md) | Manually manage Terraform state to fix broken workspaces | -| [templates](./templates.md) | Manage templates | -| [tokens](./tokens.md) | Manage personal access tokens | -| [users](./users.md) | Manage users | -| [version](./version.md) | Show coder version | -| [autoupdate](./autoupdate.md) | Toggle auto-update policy for a workspace | -| [config-ssh](./config-ssh.md) | Add an SSH Host entry for your workspaces "ssh coder.workspace" | -| [create](./create.md) | Create a workspace | -| [delete](./delete.md) | Delete a workspace | -| [favorite](./favorite.md) | Add a workspace to your favorites | -| [list](./list.md) | List workspaces | -| [open](./open.md) | Open a workspace | -| [ping](./ping.md) | Ping a workspace | -| [rename](./rename.md) | Rename a workspace | -| [restart](./restart.md) | Restart a workspace | -| [schedule](./schedule.md) | Schedule automated start and stop times for workspaces | -| [show](./show.md) | Display details of a workspace's resources and agents | -| [speedtest](./speedtest.md) | Run upload and download tests from your machine to a workspace | -| [ssh](./ssh.md) | Start a shell into a workspace | -| [start](./start.md) | Start a workspace | -| [stat](./stat.md) | Show resource usage for the current workspace. | -| [stop](./stop.md) | Stop a workspace | -| [unfavorite](./unfavorite.md) | Remove a workspace from your favorites | -| [update](./update.md) | Will update and start a given workspace if it is out of date | -| [whoami](./whoami.md) | Fetch authenticated user info for Coder deployment | -| [support](./support.md) | Commands for troubleshooting issues with a Coder deployment. | -| [server](./server.md) | Start a Coder server | -| [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 | +| 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 | +| [login](./login.md) | Authenticate with Coder deployment | +| [logout](./logout.md) | Unauthenticate your local session | +| [netcheck](./netcheck.md) | Print network debug information for DERP and STUN | +| [notifications](./notifications.md) | Manage Coder notifications | +| [organizations](./organizations.md) | Organization related commands | +| [port-forward](./port-forward.md) | Forward ports from a workspace to the local machine. For reverse port forwarding, use "coder ssh -R". | +| [publickey](./publickey.md) | Output your Coder public key used for Git operations | +| [reset-password](./reset-password.md) | Directly connect to the database to reset a user's password | +| [state](./state.md) | Manually manage Terraform state to fix broken workspaces | +| [templates](./templates.md) | Manage templates | +| [tokens](./tokens.md) | Manage personal access tokens | +| [users](./users.md) | Manage users | +| [version](./version.md) | Show coder version | +| [autoupdate](./autoupdate.md) | Toggle auto-update policy for a workspace | +| [config-ssh](./config-ssh.md) | Add an SSH Host entry for your workspaces "ssh coder.workspace" | +| [create](./create.md) | Create a workspace | +| [delete](./delete.md) | Delete a workspace | +| [favorite](./favorite.md) | Add a workspace to your favorites | +| [list](./list.md) | List workspaces | +| [open](./open.md) | Open a workspace | +| [ping](./ping.md) | Ping a workspace | +| [rename](./rename.md) | Rename a workspace | +| [restart](./restart.md) | Restart a workspace | +| [schedule](./schedule.md) | Schedule automated start and stop times for workspaces | +| [show](./show.md) | Display details of a workspace's resources and agents | +| [speedtest](./speedtest.md) | Run upload and download tests from your machine to a workspace | +| [ssh](./ssh.md) | Start a shell into a workspace | +| [start](./start.md) | Start a workspace | +| [stat](./stat.md) | Show resource usage for the current workspace. | +| [stop](./stop.md) | Stop a workspace | +| [unfavorite](./unfavorite.md) | Remove a workspace from your favorites | +| [update](./update.md) | Will update and start a given workspace if it is out of date | +| [whoami](./whoami.md) | Fetch authenticated user info for Coder deployment | +| [support](./support.md) | Commands for troubleshooting issues with a Coder deployment. | +| [server](./server.md) | Start a Coder server | +| [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 | ## Options ### --url -| | | -| ----------- | ----------------------- | -| Type | url | +| | | +| --- | --- | +| Type | url | | Environment | $CODER_URL | URL to a deployment. ### --debug-options -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Print all options, how they're set, then exit. ### --token -| | | -| ----------- | --------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SESSION_TOKEN | Specify an authentication token. For security reasons setting CODER_SESSION_TOKEN is preferred. ### --no-version-warning -| | | -| ----------- | -------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_NO_VERSION_WARNING | Suppress warning when client and server versions do not match. ### --no-feature-warning -| | | -| ----------- | -------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_NO_FEATURE_WARNING | Suppress warnings about unlicensed features. ### --header -| | | -| ----------- | -------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_HEADER | Additional HTTP headers added to all requests. Provide as key=value. Can be specified multiple times. ### --header-command -| | | -| ----------- | ---------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_HEADER_COMMAND | An external command that outputs additional HTTP headers added to all requests. The command must output each header as `key=value` on its own line. ### -v, --verbose -| | | -| ----------- | --------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_VERBOSE | Enable verbose output. ### --disable-direct-connections -| | | -| ----------- | ---------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_DISABLE_DIRECT_CONNECTIONS | Disable direct (P2P) connections to workspaces. ### --disable-network-telemetry -| | | -| ----------- | --------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_DISABLE_NETWORK_TELEMETRY | Disable network telemetry. Network telemetry is collected when connecting to workspaces using the CLI, and is forwarded to the server. If telemetry is also enabled on the server, it may be sent to Coder. Network telemetry is used to measure network quality and detect regressions. ### --global-config -| | | -| ----------- | ------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_CONFIG_DIR | -| Default | ~/.config/coderv2 | +| Default |~/.config/coderv2 | Path to the global `coder` config directory. diff --git a/docs/reference/cli/licenses.md b/docs/reference/cli/licenses.md index 63e337afb259d..4036c2f158311 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 @@ -16,8 +15,8 @@ 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 | +| 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..3e2ceafd8b9a2 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 @@ -14,24 +13,24 @@ coder licenses add [flags] [-f file | -l license] ### -f, --file -| | | -| ---- | ------------------- | +| | | +| --- | --- | | Type | string | Load license from file. ### -l, --license -| | | -| ---- | ------------------- | +| | | +| --- | --- | | Type | string | 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..ec6828a4dcaf7 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 @@ -18,18 +17,18 @@ coder licenses list [flags] ### -c, --column -| | | -| ------- | ----------------------------------------------------------------- | -| Type | [id\|uuid\|uploaded at\|features\|expires at\|trial] | -| Default | ID,UUID,Expires At,Uploaded At,Features | +| | | +| --- | --- | +| Type | [id\|uuid\|uploaded at\|features\|expires at\|trial] | +| Default |ID,UUID,Expires At,Uploaded At,Features | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. diff --git a/docs/reference/cli/list.md b/docs/reference/cli/list.md index e9e82988c0af8..16d94f2141379 100644 --- a/docs/reference/cli/list.md +++ b/docs/reference/cli/list.md @@ -1,12 +1,11 @@ - # list List workspaces Aliases: -- ls +* ls ## Usage @@ -18,35 +17,35 @@ coder list [flags] ### -a, --all -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Specifies whether all workspaces will be listed or not. ### --search -| | | -| ------- | --------------------- | -| Type | string | -| Default | owner:me | +| | | +| --- | --- | +| Type | string | +| Default |owner:me | 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 | +| | | +| --- | --- | +| 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 | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. diff --git a/docs/reference/cli/login.md b/docs/reference/cli/login.md index 9a27e4a6357c8..1097c4d972ca1 100644 --- a/docs/reference/cli/login.md +++ b/docs/reference/cli/login.md @@ -1,5 +1,4 @@ - # login Authenticate with Coder deployment @@ -14,53 +13,53 @@ coder login [flags] [] ### --first-user-email -| | | -| ----------- | ------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_FIRST_USER_EMAIL | Specifies an email address to use if creating the first user for the deployment. ### --first-user-username -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_FIRST_USER_USERNAME | Specifies a username to use if creating the first user for the deployment. ### --first-user-full-name -| | | -| ----------- | ---------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_FIRST_USER_FULL_NAME | Specifies a human-readable name for the first user of the deployment. ### --first-user-password -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_FIRST_USER_PASSWORD | Specifies a password to use if creating the first user for the deployment. ### --first-user-trial -| | | -| ----------- | ------------------------------------ | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_FIRST_USER_TRIAL | Specifies whether a trial license should be provisioned for the Coder deployment or not. ### --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..6a1408fff2629 100644 --- a/docs/reference/cli/logout.md +++ b/docs/reference/cli/logout.md @@ -1,5 +1,4 @@ - # logout Unauthenticate your local session @@ -14,8 +13,8 @@ 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..8ba6611a3dec9 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 @@ -31,7 +30,7 @@ server or Webhook not responding).: ## Subcommands -| Name | Purpose | -| ------------------------------------------------ | -------------------- | -| [pause](./notifications_pause.md) | Pause notifications | +| 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..5b44026adec4b 100644 --- a/docs/reference/cli/open.md +++ b/docs/reference/cli/open.md @@ -1,5 +1,4 @@ - # open Open a workspace @@ -12,6 +11,6 @@ coder open ## Subcommands -| Name | Purpose | -| --------------------------------------- | ----------------------------------- | +| 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..2ee8432c3fa1b 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 @@ -14,9 +13,9 @@ coder open vscode [flags] [] ### --generate-token -| | | -| ----------- | ---------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_OPEN_VSCODE_GENERATE_TOKEN | Generate an auth token and include it in the vscode:// URI. This is for automagical configuration of VS Code Desktop and not needed if already configured. This flag does not need to be specified when running this command on a local machine unless automatic open fails. diff --git a/docs/reference/cli/organizations.md b/docs/reference/cli/organizations.md index 1fbd076425ace..5c56a568b37cf 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 @@ -18,21 +17,21 @@ 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 | -| [roles](./organizations_roles.md) | Manage organization roles. | -| [settings](./organizations_settings.md) | Manage organization settings. | +| 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 | +| [roles](./organizations_roles.md) | Manage organization roles. | +| [settings](./organizations_settings.md) | Manage organization settings. | ## Options ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/organizations_create.md b/docs/reference/cli/organizations_create.md index 416a1306456e2..de743aa38137d 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. @@ -14,8 +13,8 @@ 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..086570d985ad1 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 @@ -16,9 +15,9 @@ 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 | -| [remove](./organizations_members_remove.md) | Remove a new member to the current organization | +| 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 | +| [remove](./organizations_members_remove.md) | Remove 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..3e4a476ac3364 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 @@ -14,18 +13,18 @@ coder organizations members list [flags] ### -c, --column -| | | -| ------- | --------------------------------------------------------------------------------------------------- | -| Type | [username\|name\|user id\|organization id\|created at\|updated at\|organization roles] | -| Default | username,organization roles | +| | | +| --- | --- | +| Type | [username\|name\|user id\|organization id\|created at\|updated at\|organization roles] | +| Default |username,organization roles | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. 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..0bdcdaebfbc48 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 @@ -16,7 +15,7 @@ coder organizations roles ## Subcommands -| Name | Purpose | -| -------------------------------------------------- | -------------------------------- | -| [show](./organizations_roles_show.md) | Show role(s) | +| 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..4551b2fb7ece5 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 @@ -22,42 +21,42 @@ coder organizations roles edit [flags] ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. ### --dry-run -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Does all the work, but does not submit the final updated role. ### --stdin -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | 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 | +| | | +| --- | --- | +| Type | [name\|display name\|organization id\|site permissions\|organization permissions\|user permissions] | +| Default |name,display name,site permissions,organization permissions,user permissions | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. diff --git a/docs/reference/cli/organizations_roles_show.md b/docs/reference/cli/organizations_roles_show.md index 2d75ae74d4576..c11e3e369b9e3 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) @@ -14,18 +13,18 @@ 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 | +| | | +| --- | --- | +| Type | [name\|display name\|organization id\|site permissions\|organization permissions\|user permissions] | +| Default |name,display name,site permissions,organization permissions,user permissions | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. diff --git a/docs/reference/cli/organizations_settings.md b/docs/reference/cli/organizations_settings.md index 15093c984fedc..d7326c1991174 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 @@ -16,7 +15,7 @@ coder organizations settings ## Subcommands -| Name | Purpose | -| ----------------------------------------------------- | --------------------------------------- | +| Name | Purpose | +| ---- | ----- | | [show](./organizations_settings_show.md) | Outputs specified organization setting. | -| [set](./organizations_settings_set.md) | Update 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..f24b86c2c8ef1 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. @@ -20,8 +19,8 @@ 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. | +| 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..64426ce3fc0a5 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. @@ -20,8 +19,8 @@ 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. | +| 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..0894ac581da5d 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. @@ -34,26 +33,26 @@ coder organizations show [flags] ["selected"|"me"|uuid|org_name] ### --only-id -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Only print the organization ID. ### -c, --column -| | | -| ------- | ----------------------------------------------------------------------------------------- | -| Type | [id\|name\|display name\|icon\|description\|created at\|updated at\|default] | -| Default | id,name,default | +| | | +| --- | --- | +| Type | [id\|name\|display name\|icon\|description\|created at\|updated at\|default] | +| Default |id,name,default | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------------ | -| Type | text\|table\|json | -| Default | text | +| | | +| --- | --- | +| Type | text\|table\|json | +| Default |text | Output format. diff --git a/docs/reference/cli/ping.md b/docs/reference/cli/ping.md index c8d63addcf8d7..1b8db0d71679d 100644 --- a/docs/reference/cli/ping.md +++ b/docs/reference/cli/ping.md @@ -1,5 +1,4 @@ - # ping Ping a workspace @@ -14,26 +13,26 @@ coder ping [flags] ### --wait -| | | -| ------- | --------------------- | -| Type | duration | -| Default | 1s | +| | | +| --- | --- | +| Type | duration | +| Default |1s | Specifies how long to wait between pings. ### -t, --timeout -| | | -| ------- | --------------------- | -| Type | duration | -| Default | 5s | +| | | +| --- | --- | +| Type | duration | +| Default |5s | 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..0d4106eaa4f6e 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 @@ -44,28 +43,28 @@ machine: ### -p, --tcp -| | | -| ----------- | ------------------------------------ | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_PORT_FORWARD_TCP | Forward TCP port(s) from the workspace to the local machine. ### --udp -| | | -| ----------- | ------------------------------------ | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_PORT_FORWARD_UDP | Forward UDP port(s) from the workspace to the local machine. The UDP connection has TCP-like semantics to support stateful UDP protocols. ### --disable-autostart -| | | -| ----------- | ----------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_SSH_DISABLE_AUTOSTART | -| Default | false | +| Default |false | Disable starting the workspace automatically when connecting via SSH. diff --git a/docs/reference/cli/provisioner.md b/docs/reference/cli/provisioner.md index 54cc28a84bea4..7674b046c3254 100644 --- a/docs/reference/cli/provisioner.md +++ b/docs/reference/cli/provisioner.md @@ -1,12 +1,11 @@ - # provisioner Manage provisioner daemons Aliases: -- provisioners +* provisioners ## Usage @@ -16,7 +15,7 @@ coder provisioner ## Subcommands -| Name | Purpose | -| -------------------------------------------- | ------------------------ | +| Name | Purpose | +| ---- | ----- | | [start](./provisioner_start.md) | Run a provisioner daemon | -| [keys](./provisioner_keys.md) | Manage provisioner keys | +| [keys](./provisioner_keys.md) | Manage provisioner keys | diff --git a/docs/reference/cli/provisioner_keys.md b/docs/reference/cli/provisioner_keys.md index 014af6f117c3a..f907dd667b111 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 @@ -16,8 +15,8 @@ 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 | +| 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..1af039f9fea42 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 @@ -14,18 +13,18 @@ coder provisioner keys create [flags] ### -t, --tag -| | | -| ----------- | ------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_PROVISIONERD_TAGS | Tags to filter provisioner jobs by. ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/provisioner_keys_delete.md b/docs/reference/cli/provisioner_keys_delete.md index 56e32e57d048b..4289312d8a1a8 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 @@ -18,17 +17,17 @@ coder provisioner keys delete [flags] ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/provisioner_keys_list.md b/docs/reference/cli/provisioner_keys_list.md index 366db05fa490f..a935b67d17658 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 @@ -18,9 +17,9 @@ coder provisioner keys list [flags] ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/provisioner_start.md b/docs/reference/cli/provisioner_start.md index 65254d18c0149..fefa2c2d8caa7 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 @@ -14,142 +13,142 @@ coder provisioner start [flags] ### -c, --cache-dir -| | | -| ----------- | ----------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_CACHE_DIRECTORY | -| Default | ~/.cache/coder | +| Default |~/.cache/coder | Directory to store cached data. ### -t, --tag -| | | -| ----------- | ------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_PROVISIONERD_TAGS | Tags to filter provisioner jobs by. ### --poll-interval -| | | -| ----------- | ---------------------------------------------- | -| Type | duration | +| | | +| --- | --- | +| Type | duration | | Environment | $CODER_PROVISIONERD_POLL_INTERVAL | -| Default | 1s | +| Default |1s | Deprecated and ignored. ### --poll-jitter -| | | -| ----------- | -------------------------------------------- | -| Type | duration | +| | | +| --- | --- | +| Type | duration | | Environment | $CODER_PROVISIONERD_POLL_JITTER | -| Default | 100ms | +| Default |100ms | Deprecated and ignored. ### --psk -| | | -| ----------- | ------------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PROVISIONER_DAEMON_PSK | Pre-shared key to authenticate with Coder server. ### --key -| | | -| ----------- | ------------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PROVISIONER_DAEMON_KEY | Provisioner key to authenticate with Coder server. ### --name -| | | -| ----------- | ------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PROVISIONER_DAEMON_NAME | Name of this provisioner daemon. Defaults to the current hostname without FQDN. ### --verbose -| | | -| ----------- | ---------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_PROVISIONER_DAEMON_VERBOSE | -| Default | false | +| Default |false | Output debug-level logs. ### --log-human -| | | -| ----------- | ---------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PROVISIONER_DAEMON_LOGGING_HUMAN | -| Default | /dev/stderr | +| Default |/dev/stderr | Output human-readable logs to a given file. ### --log-json -| | | -| ----------- | --------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PROVISIONER_DAEMON_LOGGING_JSON | Output JSON logs to a given file. ### --log-stackdriver -| | | -| ----------- | ---------------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PROVISIONER_DAEMON_LOGGING_STACKDRIVER | Output Stackdriver compatible logs to a given file. ### --log-filter -| | | -| ----------- | ------------------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| 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 | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_PROMETHEUS_ENABLE | -| Default | false | +| Default |false | Serve prometheus metrics on the address defined by prometheus address. ### --prometheus-address -| | | -| ----------- | -------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PROMETHEUS_ADDRESS | -| Default | 127.0.0.1:2112 | +| Default |127.0.0.1:2112 | The bind address to serve prometheus metrics. ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/publickey.md b/docs/reference/cli/publickey.md index 63e19e7e54423..a52372701c863 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 @@ -18,16 +17,16 @@ coder publickey [flags] ### --reset -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Regenerate your public key. This will require updating the key on any services it's registered with. ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. diff --git a/docs/reference/cli/rename.md b/docs/reference/cli/rename.md index 5cb9242beba38..df46d5d14f95a 100644 --- a/docs/reference/cli/rename.md +++ b/docs/reference/cli/rename.md @@ -1,5 +1,4 @@ - # rename Rename a workspace @@ -14,8 +13,8 @@ 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..00c77c60f3cd9 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 @@ -14,9 +13,9 @@ coder reset-password [flags] ### --postgres-url -| | | -| ----------- | ------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PG_CONNECTION_URL | URL of a PostgreSQL database to connect to. diff --git a/docs/reference/cli/restart.md b/docs/reference/cli/restart.md index 3b06efb6e4855..9a3258d1f8c54 100644 --- a/docs/reference/cli/restart.md +++ b/docs/reference/cli/restart.md @@ -1,5 +1,4 @@ - # restart Restart a workspace @@ -14,78 +13,78 @@ coder restart [flags] ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. ### --build-option -| | | -| ----------- | -------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_BUILD_OPTION | Build option value in the format "name=value". ### --build-options -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Prompt for one-time build options defined with ephemeral parameters. ### --ephemeral-parameter -| | | -| ----------- | --------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_EPHEMERAL_PARAMETER | Set the value of ephemeral parameters defined in the template. The format is "name=value". ### --prompt-ephemeral-parameters -| | | -| ----------- | ----------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_PROMPT_EPHEMERAL_PARAMETERS | Prompt to set values of ephemeral parameters defined in the template. If a value has been set via --ephemeral-parameter, it will not be prompted for. ### --parameter -| | | -| ----------- | ---------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_RICH_PARAMETER | Rich parameter value in the format "name=value". ### --rich-parameter-file -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_RICH_PARAMETER_FILE | Specify a file path with values for rich parameters defined in the template. The file should be in YAML format, containing key-value pairs for the parameters. ### --parameter-default -| | | -| ----------- | ------------------------------------------ | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_RICH_PARAMETER_DEFAULT | 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..244a63e1b7638 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 @@ -12,9 +11,9 @@ coder schedule { show | start | stop | override } ## 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 | +| 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. | diff --git a/docs/reference/cli/schedule_override-stop.md b/docs/reference/cli/schedule_override-stop.md index 8c565d734a585..09405c2dc7f60 100644 --- a/docs/reference/cli/schedule_override-stop.md +++ b/docs/reference/cli/schedule_override-stop.md @@ -1,5 +1,4 @@ - # schedule override-stop Override the stop time of a currently running workspace instance. diff --git a/docs/reference/cli/schedule_show.md b/docs/reference/cli/schedule_show.md index a9f848a242fda..154b41190cbc9 100644 --- a/docs/reference/cli/schedule_show.md +++ b/docs/reference/cli/schedule_show.md @@ -1,5 +1,4 @@ - # schedule show Show workspace schedules @@ -25,35 +24,35 @@ Shows the following information for the given workspace(s): ### -a, --all -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Specifies whether all workspaces will be listed or not. ### --search -| | | -| ------- | --------------------- | -| Type | string | -| Default | owner:me | +| | | +| --- | --- | +| Type | string | +| Default |owner:me | 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 | +| | | +| --- | --- | +| Type | [workspace\|starts at\|starts next\|stops after\|stops next] | +| Default |workspace,starts at,starts next,stops after,stops next | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. 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..3273ed03ad698 100644 --- a/docs/reference/cli/server.md +++ b/docs/reference/cli/server.md @@ -1,5 +1,4 @@ - # server Start a Coder server @@ -12,1540 +11,1540 @@ 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. | -| [dbcrypt](./server_dbcrypt.md) | Manage database encryption. | +| 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. | +| [dbcrypt](./server_dbcrypt.md) | Manage database encryption. | ## Options ### --access-url -| | | -| ----------- | --------------------------------- | -| Type | url | -| Environment | $CODER_ACCESS_URL | -| YAML | networking.accessURL | +| | | +| --- | --- | +| Type | url | +| Environment | $CODER_ACCESS_URL | +| YAML | networking.accessURL | The URL that users will use to access the Coder deployment. ### --wildcard-access-url -| | | -| ----------- | ----------------------------------------- | -| Type | string | -| Environment | $CODER_WILDCARD_ACCESS_URL | -| YAML | networking.wildcardAccessURL | +| | | +| --- | --- | +| 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 | -| Default | https://coder.com/docs | +| | | +| --- | --- | +| Type | url | +| Environment | $CODER_DOCS_URL | +| YAML | networking.docsURL | +| Default |https://coder.com/docs | Specifies the custom docs URL. ### --redirect-to-access-url -| | | -| ----------- | ------------------------------------------- | -| Type | bool | -| Environment | $CODER_REDIRECT_TO_ACCESS_URL | -| YAML | networking.redirectToAccessURL | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_REDIRECT_TO_ACCESS_URL | +| YAML | networking.redirectToAccessURL | 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 | -| Default | 127.0.0.1:3000 | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_HTTP_ADDRESS | +| YAML | networking.http.httpAddress | +| Default |127.0.0.1:3000 | 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 | -| Default | 127.0.0.1:3443 | +| | | +| --- | --- | +| Type | host:port | +| Environment | $CODER_TLS_ADDRESS | +| YAML | networking.tls.address | +| Default |127.0.0.1:3443 | HTTPS bind address of the server. ### --tls-enable -| | | -| ----------- | ---------------------------------- | -| Type | bool | -| Environment | $CODER_TLS_ENABLE | -| YAML | networking.tls.enable | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_TLS_ENABLE | +| YAML | networking.tls.enable | Whether TLS will be enabled. ### --tls-cert-file -| | | -| ----------- | ------------------------------------- | -| Type | string-array | -| Environment | $CODER_TLS_CERT_FILE | -| YAML | networking.tls.certFiles | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_TLS_CERT_FILE | +| YAML | networking.tls.certFiles | Path to each certificate for TLS. It requires a PEM-encoded file. To configure the listener to use a CA certificate, concatenate the primary certificate and the CA certificate together. The primary certificate should appear first in the combined file. ### --tls-client-ca-file -| | | -| ----------- | ---------------------------------------- | -| Type | string | -| Environment | $CODER_TLS_CLIENT_CA_FILE | -| YAML | networking.tls.clientCAFile | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_TLS_CLIENT_CA_FILE | +| YAML | networking.tls.clientCAFile | PEM-encoded Certificate Authority file used for checking the authenticity of client. ### --tls-client-auth -| | | -| ----------- | -------------------------------------- | -| Type | string | -| Environment | $CODER_TLS_CLIENT_AUTH | -| YAML | networking.tls.clientAuth | -| Default | none | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_TLS_CLIENT_AUTH | +| YAML | networking.tls.clientAuth | +| Default |none | Policy the server will follow for TLS Client Authentication. Accepted values are "none", "request", "require-any", "verify-if-given", or "require-and-verify". ### --tls-key-file -| | | -| ----------- | ------------------------------------ | -| Type | string-array | -| Environment | $CODER_TLS_KEY_FILE | -| YAML | networking.tls.keyFiles | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_TLS_KEY_FILE | +| YAML | networking.tls.keyFiles | Paths to the private keys for each of the certificates. It requires a PEM-encoded file. ### --tls-min-version -| | | -| ----------- | -------------------------------------- | -| Type | string | -| Environment | $CODER_TLS_MIN_VERSION | -| YAML | networking.tls.minVersion | -| Default | tls12 | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_TLS_MIN_VERSION | +| YAML | networking.tls.minVersion | +| Default |tls12 | Minimum supported version of TLS. Accepted values are "tls10", "tls11", "tls12" or "tls13". ### --tls-client-cert-file -| | | -| ----------- | ------------------------------------------ | -| Type | string | -| Environment | $CODER_TLS_CLIENT_CERT_FILE | -| YAML | networking.tls.clientCertFile | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_TLS_CLIENT_CERT_FILE | +| YAML | networking.tls.clientCertFile | Path to certificate for client TLS authentication. It requires a PEM-encoded file. ### --tls-client-key-file -| | | -| ----------- | ----------------------------------------- | -| Type | string | -| Environment | $CODER_TLS_CLIENT_KEY_FILE | -| YAML | networking.tls.clientKeyFile | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_TLS_CLIENT_KEY_FILE | +| YAML | networking.tls.clientKeyFile | 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 | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_TLS_CIPHERS | +| YAML | networking.tls.tlsCiphers | Specify specific TLS ciphers that allowed to be used. See https://github.com/golang/go/blob/master/src/crypto/tls/cipher_suites.go#L53-L75. ### --tls-allow-insecure-ciphers -| | | -| ----------- | --------------------------------------------------- | -| Type | bool | -| Environment | $CODER_TLS_ALLOW_INSECURE_CIPHERS | -| YAML | networking.tls.tlsAllowInsecureCiphers | -| Default | false | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_TLS_ALLOW_INSECURE_CIPHERS | +| YAML | networking.tls.tlsAllowInsecureCiphers | +| Default |false | By default, only ciphers marked as 'secure' are allowed to be used. See https://github.com/golang/go/blob/master/src/crypto/tls/cipher_suites.go#L82-L95. ### --derp-server-enable -| | | -| ----------- | -------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_DERP_SERVER_ENABLE | -| YAML | networking.derp.enable | -| Default | true | +| YAML | networking.derp.enable | +| Default |true | Whether to enable or disable the embedded DERP relay server. ### --derp-server-region-name -| | | -| ----------- | ------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_DERP_SERVER_REGION_NAME | -| YAML | networking.derp.regionName | -| Default | Coder Embedded Relay | +| YAML | networking.derp.regionName | +| Default |Coder Embedded Relay | 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 | -| Default | stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302,stun3.l.google.com:19302,stun4.l.google.com:19302 | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_DERP_SERVER_STUN_ADDRESSES | +| YAML | networking.derp.stunAddresses | +| Default |stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302,stun3.l.google.com:19302,stun4.l.google.com:19302 | Addresses for STUN servers to establish P2P connections. It's recommended to have at least two STUN servers to give users the best chance of connecting P2P to workspaces. Each STUN server will get it's own DERP region, with region IDs starting at `--derp-server-region-id + 1`. Use special value 'disable' to turn off STUN completely. ### --derp-server-relay-url -| | | -| ----------- | ----------------------------------------- | -| Type | url | +| | | +| --- | --- | +| Type | url | | Environment | $CODER_DERP_SERVER_RELAY_URL | -| YAML | networking.derp.relayURL | +| YAML | networking.derp.relayURL | An HTTP URL that is accessible by other replicas to relay DERP traffic. Required for high availability. ### --block-direct-connections -| | | -| ----------- | ---------------------------------------- | -| Type | bool | -| Environment | $CODER_BLOCK_DIRECT | -| YAML | networking.derp.blockDirect | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_BLOCK_DIRECT | +| YAML | networking.derp.blockDirect | Block peer-to-peer (aka. direct) workspace connections. All workspace connections from the CLI will be proxied through Coder (or custom configured DERP servers) and will never be peer-to-peer when enabled. Workspaces may still reach out to STUN servers to get their address until they are restarted after this change has been made, but new connections will still be proxied regardless. ### --derp-force-websockets -| | | -| ----------- | -------------------------------------------- | -| Type | bool | -| Environment | $CODER_DERP_FORCE_WEBSOCKETS | -| YAML | networking.derp.forceWebSockets | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_DERP_FORCE_WEBSOCKETS | +| YAML | networking.derp.forceWebSockets | Force clients and agents to always use WebSocket to connect to DERP relay servers. By default, DERP uses `Upgrade: derp`, which may cause issues with some reverse proxies. Clients may automatically fallback to WebSocket if they detect an issue with `Upgrade: derp`, but this does not work in all situations. ### --derp-config-url -| | | -| ----------- | ----------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_DERP_CONFIG_URL | -| YAML | networking.derp.url | +| YAML | networking.derp.url | URL to fetch a DERP mapping on startup. See: https://tailscale.com/kb/1118/custom-derp-servers/. ### --derp-config-path -| | | -| ----------- | --------------------------------------- | -| Type | string | -| Environment | $CODER_DERP_CONFIG_PATH | -| YAML | networking.derp.configPath | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_DERP_CONFIG_PATH | +| YAML | networking.derp.configPath | Path to read a DERP mapping from. See: https://tailscale.com/kb/1118/custom-derp-servers/. ### --prometheus-enable -| | | -| ----------- | -------------------------------------------- | -| Type | bool | -| Environment | $CODER_PROMETHEUS_ENABLE | -| YAML | introspection.prometheus.enable | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_PROMETHEUS_ENABLE | +| YAML | introspection.prometheus.enable | Serve prometheus metrics on the address defined by prometheus address. ### --prometheus-address -| | | -| ----------- | --------------------------------------------- | -| Type | host:port | -| Environment | $CODER_PROMETHEUS_ADDRESS | -| YAML | introspection.prometheus.address | -| Default | 127.0.0.1:2112 | +| | | +| --- | --- | +| Type | host:port | +| Environment | $CODER_PROMETHEUS_ADDRESS | +| YAML | introspection.prometheus.address | +| Default |127.0.0.1:2112 | 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 | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_PROMETHEUS_COLLECT_AGENT_STATS | +| YAML | introspection.prometheus.collect_agent_stats | 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 | -| Default | agent_name,template_name,username,workspace_name | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_PROMETHEUS_AGGREGATE_AGENT_STATS_BY | +| YAML | introspection.prometheus.aggregate_agent_stats_by | +| Default |agent_name,template_name,username,workspace_name | When collecting agent stats, aggregate metrics by a given set of comma-separated labels to reduce cardinality. Accepted values are agent_name, template_name, username, workspace_name. ### --prometheus-collect-db-metrics -| | | -| ----------- | -------------------------------------------------------- | -| Type | bool | -| Environment | $CODER_PROMETHEUS_COLLECT_DB_METRICS | -| YAML | introspection.prometheus.collect_db_metrics | -| Default | false | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_PROMETHEUS_COLLECT_DB_METRICS | +| YAML | introspection.prometheus.collect_db_metrics | +| Default |false | Collect database query metrics (may increase charges for metrics storage). If set to false, a reduced set of database metrics are still collected. ### --pprof-enable -| | | -| ----------- | --------------------------------------- | -| Type | bool | -| Environment | $CODER_PPROF_ENABLE | -| YAML | introspection.pprof.enable | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_PPROF_ENABLE | +| YAML | introspection.pprof.enable | Serve pprof metrics on the address defined by pprof address. ### --pprof-address -| | | -| ----------- | ---------------------------------------- | -| Type | host:port | -| Environment | $CODER_PPROF_ADDRESS | -| YAML | introspection.pprof.address | -| Default | 127.0.0.1:6060 | +| | | +| --- | --- | +| Type | host:port | +| Environment | $CODER_PPROF_ADDRESS | +| YAML | introspection.pprof.address | +| Default |127.0.0.1:6060 | The bind address to serve pprof. ### --oauth2-github-client-id -| | | -| ----------- | ------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OAUTH2_GITHUB_CLIENT_ID | -| YAML | oauth2.github.clientID | +| YAML | oauth2.github.clientID | Client ID for Login with GitHub. ### --oauth2-github-client-secret -| | | -| ----------- | ----------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OAUTH2_GITHUB_CLIENT_SECRET | Client secret for Login with GitHub. ### --oauth2-github-allowed-orgs -| | | -| ----------- | ---------------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_OAUTH2_GITHUB_ALLOWED_ORGS | -| YAML | oauth2.github.allowedOrgs | +| YAML | oauth2.github.allowedOrgs | Organizations the user must be a member of to Login with GitHub. ### --oauth2-github-allowed-teams -| | | -| ----------- | ----------------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_OAUTH2_GITHUB_ALLOWED_TEAMS | -| YAML | oauth2.github.allowedTeams | +| YAML | oauth2.github.allowedTeams | Teams inside organizations the user must be a member of to Login with GitHub. Structured as: /. ### --oauth2-github-allow-signups -| | | -| ----------- | ----------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS | -| YAML | oauth2.github.allowSignups | +| YAML | oauth2.github.allowSignups | Whether new users can sign up with GitHub. ### --oauth2-github-allow-everyone -| | | -| ----------- | ------------------------------------------------ | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_OAUTH2_GITHUB_ALLOW_EVERYONE | -| YAML | oauth2.github.allowEveryone | +| YAML | oauth2.github.allowEveryone | Allow all logins, setting this option means allowed orgs and teams must be empty. ### --oauth2-github-enterprise-base-url -| | | -| ----------- | ----------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OAUTH2_GITHUB_ENTERPRISE_BASE_URL | -| YAML | oauth2.github.enterpriseBaseURL | +| YAML | oauth2.github.enterpriseBaseURL | Base URL of a GitHub Enterprise deployment to use for Login with GitHub. ### --oidc-allow-signups -| | | -| ----------- | -------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_OIDC_ALLOW_SIGNUPS | -| YAML | oidc.allowSignups | -| Default | true | +| YAML | oidc.allowSignups | +| Default |true | Whether new users can sign up with OIDC. ### --oidc-client-id -| | | -| ----------- | ---------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_CLIENT_ID | -| YAML | oidc.clientID | +| YAML | oidc.clientID | Client ID to use for Login with OIDC. ### --oidc-client-secret -| | | -| ----------- | -------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_CLIENT_SECRET | Client secret to use for Login with OIDC. ### --oidc-client-key-file -| | | -| ----------- | ---------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_CLIENT_KEY_FILE | -| YAML | oidc.oidcClientKeyFile | +| YAML | oidc.oidcClientKeyFile | Pem encoded RSA private key to use for oauth2 PKI/JWT authorization. This can be used instead of oidc-client-secret if your IDP supports it. ### --oidc-client-cert-file -| | | -| ----------- | ----------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_CLIENT_CERT_FILE | -| YAML | oidc.oidcClientCertFile | +| YAML | oidc.oidcClientCertFile | Pem encoded certificate file to use for oauth2 PKI/JWT authorization. The public certificate that accompanies oidc-client-key-file. A standard x509 certificate is expected. ### --oidc-email-domain -| | | -| ----------- | ------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_OIDC_EMAIL_DOMAIN | -| YAML | oidc.emailDomain | +| YAML | oidc.emailDomain | Email domains that clients logging in with OIDC must match. ### --oidc-issuer-url -| | | -| ----------- | ----------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_ISSUER_URL | -| YAML | oidc.issuerURL | +| YAML | oidc.issuerURL | Issuer URL to use for Login with OIDC. ### --oidc-scopes -| | | -| ----------- | --------------------------------- | -| Type | string-array | -| Environment | $CODER_OIDC_SCOPES | -| YAML | oidc.scopes | -| Default | openid,profile,email | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_OIDC_SCOPES | +| YAML | oidc.scopes | +| Default |openid,profile,email | Scopes to grant when authenticating with OIDC. ### --oidc-ignore-email-verified -| | | -| ----------- | ---------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_OIDC_IGNORE_EMAIL_VERIFIED | -| YAML | oidc.ignoreEmailVerified | +| YAML | oidc.ignoreEmailVerified | Ignore the email_verified claim from the upstream provider. ### --oidc-username-field -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_USERNAME_FIELD | -| YAML | oidc.usernameField | -| Default | preferred_username | +| YAML | oidc.usernameField | +| Default |preferred_username | OIDC claim field to use as the username. ### --oidc-name-field -| | | -| ----------- | ----------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_NAME_FIELD | -| YAML | oidc.nameField | -| Default | name | +| YAML | oidc.nameField | +| Default |name | OIDC claim field to use as the name. ### --oidc-email-field -| | | -| ----------- | ------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_EMAIL_FIELD | -| YAML | oidc.emailField | -| Default | email | +| YAML | oidc.emailField | +| Default |email | OIDC claim field to use as the email. ### --oidc-auth-url-params -| | | -| ----------- | ---------------------------------------- | -| Type | struct[map[string]string] | +| | | +| --- | --- | +| Type | struct[map[string]string] | | Environment | $CODER_OIDC_AUTH_URL_PARAMS | -| YAML | oidc.authURLParams | -| Default | {"access_type": "offline"} | +| YAML | oidc.authURLParams | +| Default |{"access_type": "offline"} | OIDC auth URL parameters to pass to the upstream provider. ### --oidc-ignore-userinfo -| | | -| ----------- | ---------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_OIDC_IGNORE_USERINFO | -| YAML | oidc.ignoreUserInfo | -| Default | false | +| YAML | oidc.ignoreUserInfo | +| Default |false | Ignore the userinfo endpoint and only use the ID token for user information. ### --oidc-group-field -| | | -| ----------- | ------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_GROUP_FIELD | -| YAML | oidc.groupField | +| YAML | oidc.groupField | This field must be set if using the group sync feature and the scope name is not 'groups'. Set to the claim to be used for groups. ### --oidc-group-mapping -| | | -| ----------- | -------------------------------------- | -| Type | struct[map[string]string] | +| | | +| --- | --- | +| Type | struct[map[string]string] | | Environment | $CODER_OIDC_GROUP_MAPPING | -| YAML | oidc.groupMapping | -| Default | {} | +| YAML | oidc.groupMapping | +| Default |{} | A map of OIDC group IDs and the group in Coder it should map to. This is useful for when OIDC providers only return group IDs. ### --oidc-group-auto-create -| | | -| ----------- | ------------------------------------------ | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_OIDC_GROUP_AUTO_CREATE | -| YAML | oidc.enableGroupAutoCreate | -| Default | false | +| YAML | oidc.enableGroupAutoCreate | +| Default |false | Automatically creates missing groups from a user's groups claim. ### --oidc-group-regex-filter -| | | -| ----------- | ------------------------------------------- | -| Type | regexp | +| | | +| --- | --- | +| Type | regexp | | Environment | $CODER_OIDC_GROUP_REGEX_FILTER | -| YAML | oidc.groupRegexFilter | -| Default | .\* | +| YAML | oidc.groupRegexFilter | +| 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 | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_OIDC_ALLOWED_GROUPS | -| YAML | oidc.groupAllowed | +| YAML | oidc.groupAllowed | If provided any group name not in the list will not be allowed to authenticate. This allows for restricting access to a specific set of groups. This filter is applied after the group mapping and before the regex filter. ### --oidc-user-role-field -| | | -| ----------- | ---------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_USER_ROLE_FIELD | -| YAML | oidc.userRoleField | +| YAML | oidc.userRoleField | This field must be set if using the user roles sync feature. Set this to the name of the claim used to store the user's role. The roles should be sent as an array of strings. ### --oidc-user-role-mapping -| | | -| ----------- | ------------------------------------------ | -| Type | struct[map[string][]string] | +| | | +| --- | --- | +| Type | struct[map[string][]string] | | Environment | $CODER_OIDC_USER_ROLE_MAPPING | -| YAML | oidc.userRoleMapping | -| Default | {} | +| YAML | oidc.userRoleMapping | +| Default |{} | A map of the OIDC passed in user roles and the groups in Coder it should map to. This is useful if the group names do not match. If mapped to the empty string, the role will ignored. ### --oidc-user-role-default -| | | -| ----------- | ------------------------------------------ | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_OIDC_USER_ROLE_DEFAULT | -| YAML | oidc.userRoleDefault | +| YAML | oidc.userRoleDefault | If user role sync is enabled, these roles are always included for all authenticated users. The 'member' role is always assigned. ### --oidc-sign-in-text -| | | -| ----------- | ------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_SIGN_IN_TEXT | -| YAML | oidc.signInText | -| Default | OpenID Connect | +| YAML | oidc.signInText | +| Default |OpenID Connect | The text to show on the OpenID Connect sign in button. ### --oidc-icon-url -| | | -| ----------- | --------------------------------- | -| Type | url | +| | | +| --- | --- | +| Type | url | | Environment | $CODER_OIDC_ICON_URL | -| YAML | oidc.iconURL | +| YAML | oidc.iconURL | URL pointing to the icon to use on the OpenID Connect login button. ### --oidc-signups-disabled-text -| | | -| ----------- | ---------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_OIDC_SIGNUPS_DISABLED_TEXT | -| YAML | oidc.signupsDisabledText | +| YAML | oidc.signupsDisabledText | The custom text to show on the error page informing about disabled OIDC signups. Markdown format is supported. ### --dangerous-oidc-skip-issuer-checks -| | | -| ----------- | ----------------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_DANGEROUS_OIDC_SKIP_ISSUER_CHECKS | -| YAML | oidc.dangerousSkipIssuerChecks | +| YAML | oidc.dangerousSkipIssuerChecks | OIDC issuer urls must match in the request, the id_token 'iss' claim, and in the well-known configuration. This flag disables that requirement, and can lead to an insecure OIDC configuration. It is not recommended to use this flag. ### --telemetry -| | | -| ----------- | ------------------------------------ | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_TELEMETRY_ENABLE | -| YAML | telemetry.enable | -| Default | true | +| YAML | telemetry.enable | +| Default |true | Whether telemetry is enabled or not. Coder collects anonymized usage data to help improve our product. ### --trace -| | | -| ----------- | ----------------------------------------- | -| Type | bool | -| Environment | $CODER_TRACE_ENABLE | -| YAML | introspection.tracing.enable | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_TRACE_ENABLE | +| YAML | introspection.tracing.enable | Whether application tracing data is collected. It exports to a backend configured by environment variables. See: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md. ### --trace-honeycomb-api-key -| | | -| ----------- | ------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_TRACE_HONEYCOMB_API_KEY | Enables trace exporting to Honeycomb.io using the provided API Key. ### --trace-logs -| | | -| ----------- | ---------------------------------------------- | -| Type | bool | -| Environment | $CODER_TRACE_LOGS | -| YAML | introspection.tracing.captureLogs | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_TRACE_LOGS | +| YAML | introspection.tracing.captureLogs | Enables capturing of logs as events in traces. This is useful for debugging, but may result in a very large amount of events being sent to the tracing backend which may incur significant costs. ### --provisioner-daemons -| | | -| ----------- | --------------------------------------- | -| Type | int | +| | | +| --- | --- | +| Type | int | | Environment | $CODER_PROVISIONER_DAEMONS | -| YAML | provisioning.daemons | -| Default | 3 | +| YAML | provisioning.daemons | +| Default |3 | Number of provisioner daemons to create on start. If builds are stuck in queued state for a long time, consider increasing this. ### --provisioner-daemon-poll-interval -| | | -| ----------- | ---------------------------------------------------- | -| Type | duration | +| | | +| --- | --- | +| Type | duration | | Environment | $CODER_PROVISIONER_DAEMON_POLL_INTERVAL | -| YAML | provisioning.daemonPollInterval | -| Default | 1s | +| YAML | provisioning.daemonPollInterval | +| Default |1s | Deprecated and ignored. ### --provisioner-daemon-poll-jitter -| | | -| ----------- | -------------------------------------------------- | -| Type | duration | +| | | +| --- | --- | +| Type | duration | | Environment | $CODER_PROVISIONER_DAEMON_POLL_JITTER | -| YAML | provisioning.daemonPollJitter | -| Default | 100ms | +| YAML | provisioning.daemonPollJitter | +| Default |100ms | Deprecated and ignored. ### --provisioner-force-cancel-interval -| | | -| ----------- | ----------------------------------------------------- | -| Type | duration | +| | | +| --- | --- | +| Type | duration | | Environment | $CODER_PROVISIONER_FORCE_CANCEL_INTERVAL | -| YAML | provisioning.forceCancelInterval | -| Default | 10m0s | +| YAML | provisioning.forceCancelInterval | +| Default |10m0s | Time to force cancel provisioning tasks that are stuck. ### --provisioner-daemon-psk -| | | -| ----------- | ------------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PROVISIONER_DAEMON_PSK | 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 | +| | | +| --- | --- | +| 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 | -| Default | /dev/stderr | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_LOGGING_HUMAN | +| YAML | introspection.logging.humanPath | +| Default |/dev/stderr | Output human-readable logs to a given file. ### --log-json -| | | -| ----------- | ------------------------------------------- | -| Type | string | -| Environment | $CODER_LOGGING_JSON | -| YAML | introspection.logging.jsonPath | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_LOGGING_JSON | +| YAML | introspection.logging.jsonPath | Output JSON logs to a given file. ### --log-stackdriver -| | | -| ----------- | -------------------------------------------------- | -| Type | string | -| Environment | $CODER_LOGGING_STACKDRIVER | -| YAML | introspection.logging.stackdriverPath | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_LOGGING_STACKDRIVER | +| YAML | introspection.logging.stackdriverPath | Output Stackdriver compatible logs to a given file. ### --enable-terraform-debug-mode -| | | -| ----------- | ----------------------------------------------------------- | -| Type | bool | -| Environment | $CODER_ENABLE_TERRAFORM_DEBUG_MODE | -| YAML | introspection.logging.enableTerraformDebugMode | -| Default | false | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_ENABLE_TERRAFORM_DEBUG_MODE | +| YAML | introspection.logging.enableTerraformDebugMode | +| Default |false | Allow administrators to enable Terraform debug output. ### --additional-csp-policy -| | | -| ----------- | ------------------------------------------------ | -| Type | string-array | -| Environment | $CODER_ADDITIONAL_CSP_POLICY | -| YAML | networking.http.additionalCSPPolicy | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_ADDITIONAL_CSP_POLICY | +| YAML | networking.http.additionalCSPPolicy | Coder configures a Content Security Policy (CSP) to protect against XSS attacks. This setting allows you to add additional CSP directives, which can open the attack surface of the deployment. Format matches the CSP directive format, e.g. --additional-csp-policy="script-src https://example.com". ### --dangerous-allow-path-app-sharing -| | | -| ----------- | ---------------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_DANGEROUS_ALLOW_PATH_APP_SHARING | Allow workspace apps that are not served from subdomains to be shared. Path-based app sharing is DISABLED by default for security purposes. Path-based apps can make requests to the Coder API and pose a security risk when the workspace serves malicious JavaScript. Path-based apps can be disabled entirely with --disable-path-apps for further security. ### --dangerous-allow-path-app-site-owner-access -| | | -| ----------- | -------------------------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_DANGEROUS_ALLOW_PATH_APP_SITE_OWNER_ACCESS | Allow site-owners to access workspace apps from workspaces they do not own. Owners cannot access path-based apps they do not own by default. Path-based apps can make requests to the Coder API and pose a security risk when the workspace serves malicious JavaScript. Path-based apps can be disabled entirely with --disable-path-apps for further security. ### --experiments -| | | -| ----------- | ------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_EXPERIMENTS | -| YAML | 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 | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_UPDATE_CHECK | -| YAML | updateCheck | -| Default | false | +| YAML | updateCheck | +| Default |false | Periodically check for new releases of Coder and inform the owner. The check is performed once per day. ### --max-token-lifetime -| | | -| ----------- | --------------------------------------------- | -| Type | duration | -| Environment | $CODER_MAX_TOKEN_LIFETIME | -| YAML | networking.http.maxTokenLifetime | -| Default | 876600h0m0s | +| | | +| --- | --- | +| Type | duration | +| Environment | $CODER_MAX_TOKEN_LIFETIME | +| YAML | networking.http.maxTokenLifetime | +| Default |876600h0m0s | The maximum lifetime duration users can specify when creating an API token. ### --default-token-lifetime -| | | -| ----------- | ------------------------------------------ | -| Type | duration | +| | | +| --- | --- | +| Type | duration | | Environment | $CODER_DEFAULT_TOKEN_LIFETIME | -| YAML | defaultTokenLifetime | -| Default | 168h0m0s | +| YAML | defaultTokenLifetime | +| Default |168h0m0s | The default lifetime duration for API tokens. This value is used when creating a token without specifying a duration, such as when authenticating the CLI or an IDE plugin. ### --swagger-enable -| | | -| ----------- | ---------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_SWAGGER_ENABLE | -| YAML | enableSwagger | +| YAML | enableSwagger | Expose the swagger endpoint via /swagger. ### --proxy-trusted-headers -| | | -| ----------- | ------------------------------------------- | -| Type | string-array | -| Environment | $CODER_PROXY_TRUSTED_HEADERS | -| YAML | networking.proxyTrustedHeaders | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_PROXY_TRUSTED_HEADERS | +| YAML | networking.proxyTrustedHeaders | Headers to trust for forwarding IP addresses. e.g. Cf-Connecting-Ip, True-Client-Ip, X-Forwarded-For. ### --proxy-trusted-origins -| | | -| ----------- | ------------------------------------------- | -| Type | string-array | -| Environment | $CODER_PROXY_TRUSTED_ORIGINS | -| YAML | networking.proxyTrustedOrigins | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_PROXY_TRUSTED_ORIGINS | +| YAML | networking.proxyTrustedOrigins | Origin addresses to respect "proxy-trusted-headers". e.g. 192.168.1.0/24. ### --cache-dir -| | | -| ----------- | ----------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_CACHE_DIRECTORY | -| YAML | cacheDir | -| Default | ~/.cache/coder | +| YAML | cacheDir | +| Default |~/.cache/coder | The directory to cache temporary files. If unspecified and $CACHE_DIRECTORY is set, it will be used for compatibility with systemd. This directory is NOT safe to be configured as a shared directory across coderd/provisionerd replicas. ### --postgres-url -| | | -| ----------- | ------------------------------------- | -| Type | string | +| | | +| --- | --- | +| 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". ### --postgres-auth -| | | -| ----------- | -------------------------------- | -| Type | password\|awsiamrds | -| Environment | $CODER_PG_AUTH | -| YAML | pgAuth | -| Default | password | +| | | +| --- | --- | +| Type | password\|awsiamrds | +| Environment | $CODER_PG_AUTH | +| YAML | pgAuth | +| Default |password | Type of auth to use when connecting to postgres. ### --secure-auth-cookie -| | | -| ----------- | ---------------------------------------- | -| Type | bool | -| Environment | $CODER_SECURE_AUTH_COOKIE | -| YAML | networking.secureAuthCookie | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_SECURE_AUTH_COOKIE | +| YAML | networking.secureAuthCookie | Controls if the 'Secure' property is set on browser session cookies. ### --terms-of-service-url -| | | -| ----------- | ---------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_TERMS_OF_SERVICE_URL | -| YAML | termsOfServiceURL | +| YAML | termsOfServiceURL | A URL to an external Terms of Service that must be accepted by users when logging in. ### --strict-transport-security -| | | -| ----------- | --------------------------------------------------- | -| Type | int | -| Environment | $CODER_STRICT_TRANSPORT_SECURITY | -| YAML | networking.tls.strictTransportSecurity | -| Default | 0 | +| | | +| --- | --- | +| Type | int | +| Environment | $CODER_STRICT_TRANSPORT_SECURITY | +| YAML | networking.tls.strictTransportSecurity | +| Default |0 | Controls if the 'Strict-Transport-Security' header is set on all static file responses. This header should only be set if the server is accessed via HTTPS. This value is the MaxAge in seconds of the header. ### --strict-transport-security-options -| | | -| ----------- | ---------------------------------------------------------- | -| Type | string-array | -| Environment | $CODER_STRICT_TRANSPORT_SECURITY_OPTIONS | -| YAML | networking.tls.strictTransportSecurityOptions | +| | | +| --- | --- | +| Type | string-array | +| Environment | $CODER_STRICT_TRANSPORT_SECURITY_OPTIONS | +| YAML | networking.tls.strictTransportSecurityOptions | Two optional fields can be set in the Strict-Transport-Security header; 'includeSubDomains' and 'preload'. The 'strict-transport-security' flag must be set to a non-zero value for these options to be used. ### --ssh-keygen-algorithm -| | | -| ----------- | ---------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SSH_KEYGEN_ALGORITHM | -| YAML | sshKeygenAlgorithm | -| Default | ed25519 | +| YAML | sshKeygenAlgorithm | +| Default |ed25519 | The algorithm to use for generating ssh keys. Accepted values are "ed25519", "ecdsa", or "rsa4096". ### --browser-only -| | | -| ----------- | ----------------------------------- | -| Type | bool | -| Environment | $CODER_BROWSER_ONLY | -| YAML | networking.browserOnly | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_BROWSER_ONLY | +| YAML | networking.browserOnly | Whether Coder only allows connections to workspaces via the browser. ### --scim-auth-header -| | | -| ----------- | ------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SCIM_AUTH_HEADER | Enables SCIM and sets the authentication header for the built-in SCIM server. New users are automatically created with OIDC authentication. ### --external-token-encryption-keys -| | | -| ----------- | -------------------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS | Encrypt OIDC and Git authentication tokens with AES-256-GCM in the database. The value must be a comma-separated list of base64-encoded keys. Each key, when base64-decoded, must be exactly 32 bytes in length. The first key will be used to encrypt new values. Subsequent keys will be used as a fallback when decrypting. During normal operation it is recommended to only set one key unless you are in the process of rotating keys with the `coder server dbcrypt rotate` command. ### --disable-path-apps -| | | -| ----------- | ------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_DISABLE_PATH_APPS | -| YAML | disablePathApps | +| YAML | disablePathApps | Disable workspace apps that are not served from subdomains. Path-based apps can make requests to the Coder API and pose a security risk when the workspace serves malicious JavaScript. This is recommended for security purposes if a --wildcard-access-url is configured. ### --disable-owner-workspace-access -| | | -| ----------- | -------------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_DISABLE_OWNER_WORKSPACE_ACCESS | -| YAML | disableOwnerWorkspaceAccess | +| YAML | disableOwnerWorkspaceAccess | Remove the permission for the 'owner' role to have workspace execution on all workspaces. This prevents the 'owner' from ssh, apps, and terminal access based on the 'owner' role. They still have their user permissions to access their own workspaces. ### --session-duration -| | | -| ----------- | -------------------------------------------- | -| Type | duration | -| Environment | $CODER_SESSION_DURATION | -| YAML | networking.http.sessionDuration | -| Default | 24h0m0s | +| | | +| --- | --- | +| Type | duration | +| Environment | $CODER_SESSION_DURATION | +| YAML | networking.http.sessionDuration | +| Default |24h0m0s | The token expiry duration for browser sessions. Sessions may last longer if they are actively making requests, but this functionality can be disabled via --disable-session-expiry-refresh. ### --disable-session-expiry-refresh -| | | -| ----------- | -------------------------------------------------------- | -| Type | bool | -| Environment | $CODER_DISABLE_SESSION_EXPIRY_REFRESH | -| YAML | networking.http.disableSessionExpiryRefresh | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_DISABLE_SESSION_EXPIRY_REFRESH | +| YAML | networking.http.disableSessionExpiryRefresh | Disable automatic session expiry bumping due to activity. This forces all sessions to become invalid after the session expiry duration has been reached. ### --disable-password-auth -| | | -| ----------- | ------------------------------------------------ | -| Type | bool | -| Environment | $CODER_DISABLE_PASSWORD_AUTH | -| YAML | networking.http.disablePasswordAuth | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_DISABLE_PASSWORD_AUTH | +| YAML | networking.http.disablePasswordAuth | Disable password authentication. This is recommended for security purposes in production deployments that rely on an identity provider. Any user with the owner role will be able to sign in with their password regardless of this setting to avoid potential lock out. If you are locked out of your account, you can use the `coder server create-admin` command to create a new admin user directly in the database. ### -c, --config -| | | -| ----------- | ------------------------------- | -| Type | yaml-config-path | +| | | +| --- | --- | +| Type | yaml-config-path | | Environment | $CODER_CONFIG_PATH | Specify a YAML file to load configuration from. ### --ssh-hostname-prefix -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SSH_HOSTNAME_PREFIX | -| YAML | client.sshHostnamePrefix | -| Default | coder. | +| YAML | client.sshHostnamePrefix | +| Default |coder. | The SSH deployment prefix is used in the Host of the ssh config. ### --ssh-config-options -| | | -| ----------- | -------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_SSH_CONFIG_OPTIONS | -| YAML | client.sshConfigOptions | +| YAML | client.sshConfigOptions | These SSH config options will override the default SSH config options. Provide options in "key=value" or "key value" format separated by commas.Using this incorrectly can break SSH to your deployment, use cautiously. ### --cli-upgrade-message -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_CLI_UPGRADE_MESSAGE | -| YAML | client.cliUpgradeMessage | +| YAML | client.cliUpgradeMessage | The upgrade message to display to users when a client/server mismatch is detected. By default it instructs users to update using 'curl -L https://coder.com/install.sh | sh'. ### --write-config -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool |
Write out the current server config as YAML to stdout. ### --support-links -| | | -| ----------- | ------------------------------------------ | -| Type | struct[[]codersdk.LinkConfig] | -| Environment | $CODER_SUPPORT_LINKS | -| YAML | supportLinks | +| | | +| --- | --- | +| Type | struct[[]codersdk.LinkConfig] | +| Environment | $CODER_SUPPORT_LINKS | +| YAML | supportLinks | 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 | -| Default | 1m0s | +| | | +| --- | --- | +| Type | duration | +| Environment | $CODER_PROXY_HEALTH_INTERVAL | +| YAML | networking.http.proxyHealthInterval | +| Default |1m0s | 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 \* \* \* | +| | | +| --- | --- | +| Type | string | +| Environment | $CODER_QUIET_HOURS_DEFAULT_SCHEDULE | +| YAML | userQuietHoursSchedule.defaultQuietHoursSchedule | +| 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 | -| Default | true | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_ALLOW_CUSTOM_QUIET_HOURS | +| YAML | userQuietHoursSchedule.allowCustomQuietHours | +| Default |true | Allow users to set their own quiet hours schedule for workspaces to stop in (depending on template autostop requirement settings). If false, users can't change their quiet hours schedule and the site default is always used. ### --web-terminal-renderer -| | | -| ----------- | ----------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_WEB_TERMINAL_RENDERER | -| YAML | client.webTerminalRenderer | -| Default | canvas | +| YAML | client.webTerminalRenderer | +| Default |canvas | The renderer to use when opening a web terminal. Valid values are 'canvas', 'webgl', or 'dom'. ### --allow-workspace-renames -| | | -| ----------- | ------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_ALLOW_WORKSPACE_RENAMES | -| YAML | allowWorkspaceRenames | -| Default | false | +| YAML | allowWorkspaceRenames | +| Default |false | DEPRECATED: Allow users to rename their workspaces. Use only for temporary compatibility reasons, this will be removed in a future release. ### --health-check-refresh -| | | -| ----------- | ---------------------------------------------- | -| Type | duration | -| Environment | $CODER_HEALTH_CHECK_REFRESH | -| YAML | introspection.healthcheck.refresh | -| Default | 10m0s | +| | | +| --- | --- | +| Type | duration | +| Environment | $CODER_HEALTH_CHECK_REFRESH | +| YAML | introspection.healthcheck.refresh | +| Default |10m0s | Refresh interval for healthchecks. ### --health-check-threshold-database -| | | -| ----------- | -------------------------------------------------------- | -| Type | duration | -| Environment | $CODER_HEALTH_CHECK_THRESHOLD_DATABASE | -| YAML | introspection.healthcheck.thresholdDatabase | -| Default | 15ms | +| | | +| --- | --- | +| Type | duration | +| Environment | $CODER_HEALTH_CHECK_THRESHOLD_DATABASE | +| YAML | introspection.healthcheck.thresholdDatabase | +| Default |15ms | The threshold for the database health check. If the median latency of the database exceeds this threshold over 5 attempts, the database is considered unhealthy. The default value is 15ms. ### --email-from -| | | -| ----------- | ------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_FROM | -| YAML | email.from | +| YAML | email.from | The sender's address to use. ### --email-smarthost -| | | -| ----------- | ----------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_SMARTHOST | -| YAML | email.smarthost | +| YAML | email.smarthost | The intermediary SMTP host through which emails are sent. ### --email-hello -| | | -| ----------- | ------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_HELLO | -| YAML | email.hello | -| Default | localhost | +| YAML | email.hello | +| Default |localhost | The hostname identifying the SMTP server. ### --email-force-tls -| | | -| ----------- | ----------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_EMAIL_FORCE_TLS | -| YAML | email.forceTLS | -| Default | false | +| YAML | email.forceTLS | +| Default |false | Force a TLS connection to the configured SMTP smarthost. ### --email-auth-identity -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_AUTH_IDENTITY | -| YAML | email.emailAuth.identity | +| YAML | email.emailAuth.identity | Identity to use with PLAIN authentication. ### --email-auth-username -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_AUTH_USERNAME | -| YAML | email.emailAuth.username | +| YAML | email.emailAuth.username | Username to use with PLAIN/LOGIN authentication. ### --email-auth-password -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_AUTH_PASSWORD | Password to use with PLAIN/LOGIN authentication. ### --email-auth-password-file -| | | -| ----------- | -------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_AUTH_PASSWORD_FILE | -| YAML | email.emailAuth.passwordFile | +| YAML | email.emailAuth.passwordFile | File from which to load password for use with PLAIN/LOGIN authentication. ### --email-tls-starttls -| | | -| ----------- | -------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_EMAIL_TLS_STARTTLS | -| YAML | email.emailTLS.startTLS | +| YAML | email.emailTLS.startTLS | Enable STARTTLS to upgrade insecure SMTP connections using TLS. ### --email-tls-server-name -| | | -| ----------- | ---------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_TLS_SERVERNAME | -| YAML | email.emailTLS.serverName | +| YAML | email.emailTLS.serverName | Server name to verify against the target certificate. ### --email-tls-skip-verify -| | | -| ----------- | ---------------------------------------------- | -| Type | bool | -| Environment | $CODER_EMAIL_TLS_SKIPVERIFY | -| YAML | email.emailTLS.insecureSkipVerify | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_EMAIL_TLS_SKIPVERIFY | +| YAML | email.emailTLS.insecureSkipVerify | Skip verification of the target server's certificate (insecure). ### --email-tls-ca-cert-file -| | | -| ----------- | ---------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_TLS_CACERTFILE | -| YAML | email.emailTLS.caCertFile | +| YAML | email.emailTLS.caCertFile | CA certificate file to use. ### --email-tls-cert-file -| | | -| ----------- | -------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_TLS_CERTFILE | -| YAML | email.emailTLS.certFile | +| YAML | email.emailTLS.certFile | Certificate file to use. ### --email-tls-cert-key-file -| | | -| ----------- | ----------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL_TLS_CERTKEYFILE | -| YAML | email.emailTLS.certKeyFile | +| YAML | email.emailTLS.certKeyFile | Certificate key file to use. ### --notifications-method -| | | -| ----------- | ---------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_METHOD | -| YAML | notifications.method | -| Default | smtp | +| YAML | notifications.method | +| Default |smtp | Which delivery method to use (available options: 'smtp', 'webhook'). ### --notifications-dispatch-timeout -| | | -| ----------- | -------------------------------------------------- | -| Type | duration | +| | | +| --- | --- | +| Type | duration | | Environment | $CODER_NOTIFICATIONS_DISPATCH_TIMEOUT | -| YAML | notifications.dispatchTimeout | -| Default | 1m0s | +| YAML | notifications.dispatchTimeout | +| Default |1m0s | How long to wait while a notification is being sent before giving up. ### --notifications-email-from -| | | -| ----------- | -------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_FROM | -| YAML | notifications.email.from | +| YAML | notifications.email.from | The sender's address to use. ### --notifications-email-smarthost -| | | -| ----------- | ------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_SMARTHOST | -| YAML | notifications.email.smarthost | +| YAML | notifications.email.smarthost | The intermediary SMTP host through which emails are sent. ### --notifications-email-hello -| | | -| ----------- | --------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_HELLO | -| YAML | notifications.email.hello | +| YAML | notifications.email.hello | The hostname identifying the SMTP server. ### --notifications-email-force-tls -| | | -| ----------- | ------------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_NOTIFICATIONS_EMAIL_FORCE_TLS | -| YAML | notifications.email.forceTLS | +| YAML | notifications.email.forceTLS | Force a TLS connection to the configured SMTP smarthost. ### --notifications-email-auth-identity -| | | -| ----------- | ----------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_AUTH_IDENTITY | -| YAML | notifications.email.emailAuth.identity | +| YAML | notifications.email.emailAuth.identity | Identity to use with PLAIN authentication. ### --notifications-email-auth-username -| | | -| ----------- | ----------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_AUTH_USERNAME | -| YAML | notifications.email.emailAuth.username | +| YAML | notifications.email.emailAuth.username | Username to use with PLAIN/LOGIN authentication. ### --notifications-email-auth-password -| | | -| ----------- | ----------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_AUTH_PASSWORD | Password to use with PLAIN/LOGIN authentication. ### --notifications-email-auth-password-file -| | | -| ----------- | ---------------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_AUTH_PASSWORD_FILE | -| YAML | notifications.email.emailAuth.passwordFile | +| YAML | notifications.email.emailAuth.passwordFile | File from which to load password for use with PLAIN/LOGIN authentication. ### --notifications-email-tls-starttls -| | | -| ----------- | ---------------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_STARTTLS | -| YAML | notifications.email.emailTLS.startTLS | +| YAML | notifications.email.emailTLS.startTLS | Enable STARTTLS to upgrade insecure SMTP connections using TLS. ### --notifications-email-tls-server-name -| | | -| ----------- | ------------------------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_SERVERNAME | -| YAML | notifications.email.emailTLS.serverName | +| YAML | notifications.email.emailTLS.serverName | 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 | +| | | +| --- | --- | +| Type | bool | +| Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_SKIPVERIFY | +| YAML | notifications.email.emailTLS.insecureSkipVerify | Skip verification of the target server's certificate (insecure). ### --notifications-email-tls-ca-cert-file -| | | -| ----------- | ------------------------------------------------------ | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_CACERTFILE | -| YAML | notifications.email.emailTLS.caCertFile | +| YAML | notifications.email.emailTLS.caCertFile | CA certificate file to use. ### --notifications-email-tls-cert-file -| | | -| ----------- | ---------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_CERTFILE | -| YAML | notifications.email.emailTLS.certFile | +| YAML | notifications.email.emailTLS.certFile | Certificate file to use. ### --notifications-email-tls-cert-key-file -| | | -| ----------- | ------------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_NOTIFICATIONS_EMAIL_TLS_CERTKEYFILE | -| YAML | notifications.email.emailTLS.certKeyFile | +| YAML | notifications.email.emailTLS.certKeyFile | Certificate key file to use. ### --notifications-webhook-endpoint -| | | -| ----------- | -------------------------------------------------- | -| Type | url | +| | | +| --- | --- | +| Type | url | | Environment | $CODER_NOTIFICATIONS_WEBHOOK_ENDPOINT | -| YAML | notifications.webhook.endpoint | +| YAML | notifications.webhook.endpoint | The endpoint to which to send webhooks. ### --notifications-max-send-attempts -| | | -| ----------- | --------------------------------------------------- | -| Type | int | +| | | +| --- | --- | +| Type | int | | Environment | $CODER_NOTIFICATIONS_MAX_SEND_ATTEMPTS | -| YAML | notifications.maxSendAttempts | -| Default | 5 | +| YAML | notifications.maxSendAttempts | +| Default |5 | The upper limit of attempts to send a notification. diff --git a/docs/reference/cli/server_create-admin-user.md b/docs/reference/cli/server_create-admin-user.md index 611d95094c92e..a6294ab7e11d6 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. @@ -14,64 +13,64 @@ coder server create-admin-user [flags] ### --postgres-url -| | | -| ----------- | ------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PG_CONNECTION_URL | URL of a PostgreSQL database. If empty, the built-in PostgreSQL deployment will be used (Coder must not be already running in this case). ### --postgres-connection-auth -| | | -| ----------- | -------------------------------------- | -| Type | password\|awsiamrds | +| | | +| --- | --- | +| Type | password\|awsiamrds | | Environment | $CODER_PG_CONNECTION_AUTH | -| Default | password | +| Default |password | Type of auth to use when connecting to postgres. ### --ssh-keygen-algorithm -| | | -| ----------- | ---------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SSH_KEYGEN_ALGORITHM | -| Default | ed25519 | +| Default |ed25519 | The algorithm to use for generating ssh keys. Accepted values are "ed25519", "ecdsa", or "rsa4096". ### --username -| | | -| ----------- | ---------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_USERNAME | The username of the new user. If not specified, you will be prompted via stdin. ### --email -| | | -| ----------- | ------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EMAIL | The email of the new user. If not specified, you will be prompted via stdin. ### --password -| | | -| ----------- | ---------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PASSWORD | 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..35c87ca89e5c7 100644 --- a/docs/reference/cli/server_dbcrypt.md +++ b/docs/reference/cli/server_dbcrypt.md @@ -1,5 +1,4 @@ - # server dbcrypt Manage database encryption. @@ -12,8 +11,8 @@ 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. | +| 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..d364d917e15c0 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. @@ -14,36 +13,36 @@ coder server dbcrypt decrypt [flags] ### --postgres-url -| | | -| ----------- | ------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PG_CONNECTION_URL | The connection URL for the Postgres database. ### --postgres-connection-auth -| | | -| ----------- | -------------------------------------- | -| Type | password\|awsiamrds | +| | | +| --- | --- | +| Type | password\|awsiamrds | | Environment | $CODER_PG_CONNECTION_AUTH | -| Default | password | +| Default |password | Type of auth to use when connecting to postgres. ### --keys -| | | -| ----------- | ---------------------------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_DECRYPT_KEYS | Keys required to decrypt existing data. Must be a comma-separated list of base64-encoded keys. ### -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..cf83fb87f5705 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 @@ -18,27 +17,27 @@ coder server dbcrypt delete [flags] ### --postgres-url -| | | -| ----------- | ---------------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_POSTGRES_URL | The connection URL for the Postgres database. ### --postgres-connection-auth -| | | -| ----------- | -------------------------------------- | -| Type | password\|awsiamrds | +| | | +| --- | --- | +| Type | password\|awsiamrds | | Environment | $CODER_PG_CONNECTION_AUTH | -| Default | password | +| Default |password | 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..f20941d8137fc 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. @@ -14,45 +13,45 @@ coder server dbcrypt rotate [flags] ### --postgres-url -| | | -| ----------- | ------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_PG_CONNECTION_URL | The connection URL for the Postgres database. ### --postgres-connection-auth -| | | -| ----------- | -------------------------------------- | -| Type | password\|awsiamrds | +| | | +| --- | --- | +| Type | password\|awsiamrds | | Environment | $CODER_PG_CONNECTION_AUTH | -| Default | password | +| Default |password | Type of auth to use when connecting to postgres. ### --new-key -| | | -| ----------- | ------------------------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_ENCRYPT_NEW_KEY | The new external token encryption key. Must be base64-encoded. ### --old-keys -| | | -| ----------- | -------------------------------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_EXTERNAL_TOKEN_ENCRYPTION_ENCRYPT_OLD_KEYS | The old external token encryption keys. Must be a comma-separated list of base64-encoded keys. ### -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..f29d4e857c1fe 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. @@ -14,8 +13,8 @@ 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..d69fb5fca78f3 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. @@ -14,8 +13,8 @@ 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..500978db86462 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 @@ -14,52 +13,52 @@ coder speedtest [flags] ### -d, --direct -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Specifies whether to wait for a direct connection before testing speed. ### --direction -| | | -| ------- | --------------------- | -| Type | up\|down | -| Default | down | +| | | +| --- | --- | +| Type | up\|down | +| Default |down | Specifies whether to run in reverse mode where the client receives and the server sends. ### -t, --time -| | | -| ------- | --------------------- | -| Type | duration | -| Default | 5s | +| | | +| --- | --- | +| Type | duration | +| Default |5s | Specifies the duration to monitor traffic. ### --pcap-file -| | | -| ---- | ------------------- | +| | | +| --- | --- | | Type | string | Specifies a file to write a network capture to. ### -c, --column -| | | -| ------- | ----------------------------------- | -| Type | [Interval\|Throughput] | -| Default | Interval,Throughput | +| | | +| --- | --- | +| Type | [Interval\|Throughput] | +| Default |Interval,Throughput | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. diff --git a/docs/reference/cli/ssh.md b/docs/reference/cli/ssh.md index 477c706775e87..4d037aaf1149c 100644 --- a/docs/reference/cli/ssh.md +++ b/docs/reference/cli/ssh.md @@ -1,5 +1,4 @@ - # ssh Start a shell into a workspace @@ -14,102 +13,102 @@ coder ssh [flags] ### --stdio -| | | -| ----------- | ----------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_SSH_STDIO | Specifies whether to emit SSH output over stdin/stdout. ### -A, --forward-agent -| | | -| ----------- | ------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_SSH_FORWARD_AGENT | Specifies whether to forward the SSH agent specified in $SSH_AUTH_SOCK. ### -G, --forward-gpg -| | | -| ----------- | ----------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_SSH_FORWARD_GPG | Specifies whether to forward the GPG agent. Unsupported on Windows workspaces, but supports all clients. Requires gnupg (gpg, gpgconf) on both the client and workspace. The GPG agent must already be running locally and will not be started for you. If a GPG agent is already running in the workspace, it will be attempted to be killed. ### --identity-agent -| | | -| ----------- | -------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SSH_IDENTITY_AGENT | Specifies which identity agent to use (overrides $SSH_AUTH_SOCK), forward agent must also be enabled. ### --workspace-poll-interval -| | | -| ----------- | ------------------------------------------- | -| Type | duration | +| | | +| --- | --- | +| Type | duration | | Environment | $CODER_WORKSPACE_POLL_INTERVAL | -| Default | 1m | +| Default |1m | Specifies how often to poll for workspace automated shutdown. ### --wait -| | | -| ----------- | ---------------------------- | -| Type | yes\|no\|auto | +| | | +| --- | --- | +| Type | yes\|no\|auto | | Environment | $CODER_SSH_WAIT | -| Default | auto | +| Default |auto | Specifies whether or not to wait for the startup script to finish executing. Auto means that the agent startup script behavior configured in the workspace template is used. ### --no-wait -| | | -| ----------- | ------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_SSH_NO_WAIT | Enter workspace immediately after the agent has connected. This is the default if the template has configured the agent startup script behavior as non-blocking. ### -l, --log-dir -| | | -| ----------- | ------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SSH_LOG_DIR | Specify the directory containing SSH diagnostic log files. ### -R, --remote-forward -| | | -| ----------- | -------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_SSH_REMOTE_FORWARD | Enable remote port forwarding (remote_port:local_address:local_port). ### -e, --env -| | | -| ----------- | --------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_SSH_ENV | Set environment variable(s) for session (key1=value1,key2=value2,...). ### --disable-autostart -| | | -| ----------- | ----------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_SSH_DISABLE_AUTOSTART | -| Default | false | +| Default |false | Disable starting the workspace automatically when connecting via SSH. diff --git a/docs/reference/cli/start.md b/docs/reference/cli/start.md index 9be64d5a83d85..99eb34f7432f0 100644 --- a/docs/reference/cli/start.md +++ b/docs/reference/cli/start.md @@ -1,5 +1,4 @@ - # start Start a workspace @@ -14,78 +13,78 @@ coder start [flags] ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. ### --build-option -| | | -| ----------- | -------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_BUILD_OPTION | Build option value in the format "name=value". ### --build-options -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Prompt for one-time build options defined with ephemeral parameters. ### --ephemeral-parameter -| | | -| ----------- | --------------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_EPHEMERAL_PARAMETER | Set the value of ephemeral parameters defined in the template. The format is "name=value". ### --prompt-ephemeral-parameters -| | | -| ----------- | ----------------------------------------------- | -| Type | bool | +| | | +| --- | --- | +| Type | bool | | Environment | $CODER_PROMPT_EPHEMERAL_PARAMETERS | Prompt to set values of ephemeral parameters defined in the template. If a value has been set via --ephemeral-parameter, it will not be prompted for. ### --parameter -| | | -| ----------- | ---------------------------------- | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_RICH_PARAMETER | Rich parameter value in the format "name=value". ### --rich-parameter-file -| | | -| ----------- | --------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_RICH_PARAMETER_FILE | Specify a file path with values for rich parameters defined in the template. The file should be in YAML format, containing key-value pairs for the parameters. ### --parameter-default -| | | -| ----------- | ------------------------------------------ | -| Type | string-array | +| | | +| --- | --- | +| Type | string-array | | Environment | $CODER_RICH_PARAMETER_DEFAULT | 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..fb5b894dd23fc 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. @@ -12,28 +11,28 @@ 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. | +| 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. | ## Options ### -c, --column -| | | -| ------- | -------------------------------------------------------------------------------- | -| Type | [host cpu\|host memory\|home disk\|container cpu\|container memory] | -| Default | host cpu,host memory,home disk,container cpu,container memory | +| | | +| --- | --- | +| Type | [host cpu\|host memory\|home disk\|container cpu\|container memory] | +| Default |host cpu,host memory,home disk,container cpu,container memory | Columns to display in table output. ### -o, --output -| | | -| ------- | ------------------------ | -| Type | table\|json | -| Default | table | +| | | +| --- | --- | +| Type | table\|json | +| Default |table | Output format. diff --git a/docs/reference/cli/stat_cpu.md b/docs/reference/cli/stat_cpu.md index 8e86ef4ddc7f9..8d102eb098545 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. @@ -14,17 +13,17 @@ coder stat cpu [flags] ### --host -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Force host CPU measurement. ### -o, --output -| | | -| ------- | ----------------------- | -| Type | text\|json | -| Default | text | +| | | +| --- | --- | +| Type | text\|json | +| Default |text | Output format. diff --git a/docs/reference/cli/stat_disk.md b/docs/reference/cli/stat_disk.md index 6b5ca22ee5750..e0cdd96f0b158 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. @@ -14,27 +13,27 @@ coder stat disk [flags] ### --path -| | | -| ------- | ------------------- | -| Type | string | -| Default | / | +| | | +| --- | --- | +| Type | string | +| Default |/ | Path for which to check disk usage. ### --prefix -| | | -| ------- | --------------------------- | -| Type | Ki\|Mi\|Gi\|Ti | -| Default | Gi | +| | | +| --- | --- | +| Type | Ki\|Mi\|Gi\|Ti | +| Default |Gi | SI Prefix for disk measurement. ### -o, --output -| | | -| ------- | ----------------------- | -| Type | text\|json | -| Default | text | +| | | +| --- | --- | +| Type | text\|json | +| Default |text | Output format. diff --git a/docs/reference/cli/stat_mem.md b/docs/reference/cli/stat_mem.md index 1f8b85d32e5fd..3ab05a61a75e6 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. @@ -14,26 +13,26 @@ coder stat mem [flags] ### --host -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Force host memory measurement. ### --prefix -| | | -| ------- | --------------------------- | -| Type | Ki\|Mi\|Gi\|Ti | -| Default | Gi | +| | | +| --- | --- | +| Type | Ki\|Mi\|Gi\|Ti | +| Default |Gi | SI Prefix for memory measurement. ### -o, --output -| | | -| ------- | ----------------------- | -| Type | text\|json | -| Default | text | +| | | +| --- | --- | +| Type | text\|json | +| Default |text | Output format. diff --git a/docs/reference/cli/state.md b/docs/reference/cli/state.md index b0e9ca7433750..aaa7c64ff1572 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 @@ -12,7 +11,7 @@ coder state ## Subcommands -| Name | Purpose | -| ------------------------------------ | --------------------------------------------- | +| 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. | +| [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..e98f62ef60227 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. @@ -14,8 +13,8 @@ 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..a16d08ad98efc 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. @@ -14,8 +13,8 @@ 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..293c5a41f65a3 100644 --- a/docs/reference/cli/stop.md +++ b/docs/reference/cli/stop.md @@ -1,5 +1,4 @@ - # stop Stop a workspace @@ -14,8 +13,8 @@ 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..d215f5edbc9b7 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. @@ -12,6 +11,6 @@ coder support ## Subcommands -| Name | Purpose | -| ------------------------------------------ | --------------------------------------------------------------------------- | +| 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..2c329e3c2190f 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. @@ -20,26 +19,26 @@ This command generates a file containing detailed troubleshooting information ab ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. ### -O, --output-file -| | | -| ----------- | ---------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SUPPORT_BUNDLE_OUTPUT_FILE | File path for writing the generated support bundle. Defaults to coder-support-$(date +%s).zip. ### --url-override -| | | -| ----------- | ----------------------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_SUPPORT_BUNDLE_URL_OVERRIDE | Override the URL to your Coder deployment. This may be useful, for example, if you need to troubleshoot a specific Coder replica. diff --git a/docs/reference/cli/templates.md b/docs/reference/cli/templates.md index 9f3936daf787f..903495dafd307 100644 --- a/docs/reference/cli/templates.md +++ b/docs/reference/cli/templates.md @@ -1,12 +1,11 @@ - # templates Manage templates Aliases: -- template +* template ## Usage @@ -26,14 +25,14 @@ 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. | -| [list](./templates_list.md) | List all the templates available for the organization | -| [push](./templates_push.md) | Create or update a template from the current directory or as specified by flag | -| [versions](./templates_versions.md) | Manage different versions of the specified template | -| [delete](./templates_delete.md) | Delete templates | -| [pull](./templates_pull.md) | Download the active, latest, or specified version of a template to a path. | -| [archive](./templates_archive.md) | Archive unused or failed template versions from a given template(s) | +| 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. | +| [list](./templates_list.md) | List all the templates available for the organization | +| [push](./templates_push.md) | Create or update a template from the current directory or as specified by flag | +| [versions](./templates_versions.md) | Manage different versions of the specified template | +| [delete](./templates_delete.md) | Delete templates | +| [pull](./templates_pull.md) | Download the active, latest, or specified version of a template to a path. | +| [archive](./templates_archive.md) | Archive unused or failed template versions from a given template(s) | diff --git a/docs/reference/cli/templates_archive.md b/docs/reference/cli/templates_archive.md index a229222addf88..3d8c6bc96bd04 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,32 +6,32 @@ 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 ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. ### --all -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Include all unused template versions. By default, only failed template versions are archived. ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/templates_create.md b/docs/reference/cli/templates_create.md index 01b153ff2911d..6268693cb7572 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 @@ -14,128 +13,128 @@ 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. ### --variables-file -| | | -| ---- | ------------------- | +| | | +| --- | --- | | Type | string | Specify a file path with values for Terraform-managed variables. ### --variable -| | | -| ---- | ------------------------- | +| | | +| --- | --- | | Type | string-array | Specify a set of values for Terraform-managed variables. ### --var -| | | -| ---- | ------------------------- | +| | | +| --- | --- | | Type | string-array | Alias of --variable. ### --provisioner-tag -| | | -| ---- | ------------------------- | +| | | +| --- | --- | | Type | string-array | Specify a set of tags to target provisioner daemons. ### --default-ttl -| | | -| ------- | --------------------- | -| Type | duration | -| Default | 24h | +| | | +| --- | --- | +| Type | duration | +| Default |24h | Specify a default TTL for workspaces created from this template. It is the default time before shutdown - workspaces created from this template default to this value. Maps to "Default autostop" in the UI. ### --failure-ttl -| | | -| ------- | --------------------- | -| Type | duration | -| Default | 0h | +| | | +| --- | --- | +| Type | duration | +| Default |0h | Specify a failure TTL for workspaces created from this template. It is the amount of time after a failed "start" build before coder automatically schedules a "stop" build to cleanup.This licensed feature's default is 0h (off). Maps to "Failure cleanup"in the UI. ### --dormancy-threshold -| | | -| ------- | --------------------- | -| Type | duration | -| Default | 0h | +| | | +| --- | --- | +| Type | duration | +| Default |0h | Specify a duration workspaces may be inactive prior to being moved to the dormant state. This licensed feature's default is 0h (off). Maps to "Dormancy threshold" in the UI. ### --dormancy-auto-deletion -| | | -| ------- | --------------------- | -| Type | duration | -| Default | 0h | +| | | +| --- | --- | +| Type | duration | +| Default |0h | Specify a duration workspaces may be in the dormant state prior to being deleted. This licensed feature's default is 0h (off). Maps to "Dormancy Auto-Deletion" in the UI. ### --require-active-version -| | | -| ------- | ------------------ | -| Type | bool | -| Default | false | +| | | +| --- | --- | +| Type | bool | +| Default |false | Requires workspace builds to use the active template version. This setting does not apply to template admins. This is an enterprise-only feature. See https://coder.com/docs/admin/templates/managing-templates#require-automatic-updates-enterprise for more details. ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. ### -d, --directory -| | | -| ------- | ------------------- | -| Type | string | -| Default | . | +| | | +| --- | --- | +| Type | string | +| Default |. | Specify the directory to create from, use '-' to read tar from stdin. ### --ignore-lockfile -| | | -| ------- | ------------------ | -| Type | bool | -| Default | false | +| | | +| --- | --- | +| Type | bool | +| Default |false | Ignore warnings about not having a .terraform.lock.hcl file present in the template. ### -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..4799475393c27 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 @@ -18,17 +17,17 @@ coder templates delete [flags] [name...] ### -y, --yes -| | | -| ---- | ----------------- | +| | | +| --- | --- | | Type | bool | Bypass prompts. ### -O, --org -| | | -| ----------- | -------------------------------- | -| Type | string | +| | | +| --- | --- | +| Type | string | | Environment | $CODER_ORGANIZATION | Select which organization (uuid or name) to use. diff --git a/docs/reference/cli/templates_edit.md b/docs/reference/cli/templates_edit.md index 81fdc04d1a176..a68ade5770055 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. @@ -14,169 +13,169 @@ coder templates edit [flags]