2023-01-05 14:27:10 +00:00
|
|
|
# Agents
|
|
|
|
|
|
|
|
## Authenticate agent on AWS instance
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X POST http://coder-server:8080/api/v2/workspaceagents/aws-instance-identity \
|
|
|
|
-H 'Content-Type: application/json' \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`POST /workspaceagents/aws-instance-identity`
|
|
|
|
|
|
|
|
> Body parameter
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"document": "string",
|
|
|
|
"signature": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ------ | ---- | -------------------------------------------------------------------------------- | -------- | ----------------------- |
|
|
|
|
| `body` | body | [codersdk.AWSInstanceIdentityToken](schemas.md#codersdkawsinstanceidentitytoken) | true | Instance identity token |
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"session_token": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------- |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentAuthenticateResponse](schemas.md#codersdkworkspaceagentauthenticateresponse) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Authenticate agent on Azure instance
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X POST http://coder-server:8080/api/v2/workspaceagents/azure-instance-identity \
|
|
|
|
-H 'Content-Type: application/json' \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`POST /workspaceagents/azure-instance-identity`
|
|
|
|
|
|
|
|
> Body parameter
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"encoding": "string",
|
|
|
|
"signature": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ------ | ---- | ------------------------------------------------------------------------------------ | -------- | ----------------------- |
|
|
|
|
| `body` | body | [codersdk.AzureInstanceIdentityToken](schemas.md#codersdkazureinstanceidentitytoken) | true | Instance identity token |
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"session_token": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------- |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentAuthenticateResponse](schemas.md#codersdkworkspaceagentauthenticateresponse) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Authenticate agent on Google Cloud instance
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X POST http://coder-server:8080/api/v2/workspaceagents/google-instance-identity \
|
|
|
|
-H 'Content-Type: application/json' \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`POST /workspaceagents/google-instance-identity`
|
|
|
|
|
|
|
|
> Body parameter
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"json_web_token": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ------ | ---- | -------------------------------------------------------------------------------------- | -------- | ----------------------- |
|
|
|
|
| `body` | body | [codersdk.GoogleInstanceIdentityToken](schemas.md#codersdkgoogleinstanceidentitytoken) | true | Instance identity token |
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"session_token": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------- |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentAuthenticateResponse](schemas.md#codersdkworkspaceagentauthenticateresponse) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
2023-01-13 11:27:21 +00:00
|
|
|
## Submit workspace agent application health
|
2023-01-05 14:27:10 +00:00
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X POST http://coder-server:8080/api/v2/workspaceagents/me/app-health \
|
|
|
|
-H 'Content-Type: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`POST /workspaceagents/me/app-health`
|
|
|
|
|
|
|
|
> Body parameter
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"healths": {
|
2023-01-10 14:47:08 +00:00
|
|
|
"property1": "disabled",
|
|
|
|
"property2": "disabled"
|
2023-01-05 14:27:10 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ------ | ---- | -------------------------------------------------------------------------------------------- | -------- | -------------------------- |
|
|
|
|
| `body` | body | [codersdk.PostWorkspaceAppHealthsRequest](schemas.md#codersdkpostworkspaceapphealthsrequest) | true | Application health request |
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ------ |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Coordinate workspace agent via Tailnet
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/coordinate \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`GET /workspaceagents/me/coordinate`
|
|
|
|
|
|
|
|
It accepts a WebSocket connection to an agent that listens to
|
|
|
|
incoming connections and publishes node updates.
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------------------------ | ------------------- | ------ |
|
|
|
|
| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Get workspace agent Git auth
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/gitauth?url=http%3A%2F%2Fexample.com \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`GET /workspaceagents/me/gitauth`
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| -------- | ----- | ----------- | -------- | --------------------------------- |
|
|
|
|
| `url` | query | string(uri) | true | Git URL |
|
|
|
|
| `listen` | query | boolean | false | Wait for a new token to be issued |
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"password": "string",
|
|
|
|
"url": "string",
|
|
|
|
"username": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------ |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentGitAuthResponse](schemas.md#codersdkworkspaceagentgitauthresponse) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Get workspace agent Git SSH key
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/gitsshkey \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`GET /workspaceagents/me/gitsshkey`
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"private_key": "string",
|
|
|
|
"public_key": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AgentGitSSHKey](schemas.md#codersdkagentgitsshkey) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Get authorized workspace agent metadata
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/metadata \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`GET /workspaceagents/me/metadata`
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"apps": [
|
|
|
|
{
|
|
|
|
"command": "string",
|
|
|
|
"display_name": "string",
|
|
|
|
"external": true,
|
2023-01-10 14:47:08 +00:00
|
|
|
"health": "disabled",
|
2023-01-05 14:27:10 +00:00
|
|
|
"healthcheck": {
|
|
|
|
"interval": 0,
|
|
|
|
"threshold": 0,
|
|
|
|
"url": "string"
|
|
|
|
},
|
|
|
|
"icon": "string",
|
|
|
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
|
|
|
"sharing_level": "owner",
|
|
|
|
"slug": "string",
|
|
|
|
"subdomain": true,
|
|
|
|
"url": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"derpmap": {
|
|
|
|
"omitDefaultRegions": true,
|
|
|
|
"regions": {
|
|
|
|
"property1": {
|
|
|
|
"avoid": true,
|
|
|
|
"embeddedRelay": true,
|
|
|
|
"nodes": [
|
|
|
|
{
|
|
|
|
"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": [
|
|
|
|
{
|
|
|
|
"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"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"directory": "string",
|
|
|
|
"environment_variables": {
|
|
|
|
"property1": "string",
|
|
|
|
"property2": "string"
|
|
|
|
},
|
|
|
|
"git_auth_configs": 0,
|
|
|
|
"motd_file": "string",
|
|
|
|
"startup_script": "string",
|
2023-01-24 12:24:27 +00:00
|
|
|
"startup_script_timeout": 0,
|
2023-01-05 14:27:10 +00:00
|
|
|
"vscode_port_proxy_uri": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------- |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentMetadata](schemas.md#codersdkworkspaceagentmetadata) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Submit workspace agent stats
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X POST http://coder-server:8080/api/v2/workspaceagents/me/report-stats \
|
|
|
|
-H 'Content-Type: application/json' \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`POST /workspaceagents/me/report-stats`
|
|
|
|
|
|
|
|
> Body parameter
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"conns_by_proto": {
|
|
|
|
"property1": 0,
|
|
|
|
"property2": 0
|
|
|
|
},
|
|
|
|
"num_comms": 0,
|
|
|
|
"rx_bytes": 0,
|
|
|
|
"rx_packets": 0,
|
|
|
|
"tx_bytes": 0,
|
|
|
|
"tx_packets": 0
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ------ | ---- | ---------------------------------------------------- | -------- | ------------- |
|
|
|
|
| `body` | body | [codersdk.AgentStats](schemas.md#codersdkagentstats) | true | Stats request |
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"report_interval": 0
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | -------------------------------------------------------------------- |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AgentStatsResponse](schemas.md#codersdkagentstatsresponse) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
2023-01-13 11:27:21 +00:00
|
|
|
|
|
|
|
## Get workspace agent by ID
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent} \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`GET /workspaceagents/{workspaceagent}`
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ---------------- | ---- | ------------ | -------- | ------------------ |
|
|
|
|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"apps": [
|
|
|
|
{
|
|
|
|
"command": "string",
|
|
|
|
"display_name": "string",
|
|
|
|
"external": true,
|
|
|
|
"health": "disabled",
|
|
|
|
"healthcheck": {
|
|
|
|
"interval": 0,
|
|
|
|
"threshold": 0,
|
|
|
|
"url": "string"
|
|
|
|
},
|
|
|
|
"icon": "string",
|
|
|
|
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
|
|
|
|
"sharing_level": "owner",
|
|
|
|
"slug": "string",
|
|
|
|
"subdomain": true,
|
|
|
|
"url": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"architecture": "string",
|
|
|
|
"connection_timeout_seconds": 0,
|
|
|
|
"created_at": "2019-08-24T14:15:22Z",
|
|
|
|
"directory": "string",
|
|
|
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
|
|
|
"environment_variables": {
|
|
|
|
"property1": "string",
|
|
|
|
"property2": "string"
|
|
|
|
},
|
|
|
|
"first_connected_at": "2019-08-24T14:15:22Z",
|
|
|
|
"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
|
|
|
|
}
|
|
|
|
},
|
2023-01-24 12:24:27 +00:00
|
|
|
"lifecycle_state": "created",
|
2023-01-27 20:07:47 +00:00
|
|
|
"login_before_ready": true,
|
2023-01-13 11:27:21 +00:00
|
|
|
"name": "string",
|
|
|
|
"operating_system": "string",
|
|
|
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
|
|
|
"startup_script": "string",
|
2023-01-24 12:24:27 +00:00
|
|
|
"startup_script_timeout_seconds": 0,
|
2023-01-13 11:27:21 +00:00
|
|
|
"status": "connecting",
|
|
|
|
"troubleshooting_url": "string",
|
|
|
|
"updated_at": "2019-08-24T14:15:22Z",
|
|
|
|
"version": "string"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgent](schemas.md#codersdkworkspaceagent) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Get connection info for workspace agent
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/connection \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`GET /workspaceagents/{workspaceagent}/connection`
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ---------------- | ---- | ------------ | -------- | ------------------ |
|
|
|
|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"derp_map": {
|
|
|
|
"omitDefaultRegions": true,
|
|
|
|
"regions": {
|
|
|
|
"property1": {
|
|
|
|
"avoid": true,
|
|
|
|
"embeddedRelay": true,
|
|
|
|
"nodes": [
|
|
|
|
{
|
|
|
|
"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": [
|
|
|
|
{
|
|
|
|
"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"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------- |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentConnectionInfo](schemas.md#codersdkworkspaceagentconnectioninfo) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Coordinate workspace agent
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/coordinate \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`GET /workspaceagents/{workspaceagent}/coordinate`
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ---------------- | ---- | ------------ | -------- | ------------------ |
|
|
|
|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------------------------ | ------------------- | ------ |
|
|
|
|
| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Get listening ports for workspace agent
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/listening-ports \
|
|
|
|
-H 'Accept: application/json' \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`GET /workspaceagents/{workspaceagent}/listening-ports`
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ---------------- | ---- | ------------ | -------- | ------------------ |
|
|
|
|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
|
|
|
|
|
|
|
|
### Example responses
|
|
|
|
|
|
|
|
> 200 Response
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"ports": [
|
|
|
|
{
|
|
|
|
"network": "tcp",
|
|
|
|
"port": 0,
|
|
|
|
"process_name": "string"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------- |
|
|
|
|
| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ListeningPortsResponse](schemas.md#codersdklisteningportsresponse) |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|
|
|
|
|
|
|
|
## Open PTY to workspace agent
|
|
|
|
|
|
|
|
### Code samples
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Example request using curl
|
|
|
|
curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/pty \
|
|
|
|
-H 'Coder-Session-Token: API_KEY'
|
|
|
|
```
|
|
|
|
|
|
|
|
`GET /workspaceagents/{workspaceagent}/pty`
|
|
|
|
|
|
|
|
### Parameters
|
|
|
|
|
|
|
|
| Name | In | Type | Required | Description |
|
|
|
|
| ---------------- | ---- | ------------ | -------- | ------------------ |
|
|
|
|
| `workspaceagent` | path | string(uuid) | true | Workspace agent ID |
|
|
|
|
|
|
|
|
### Responses
|
|
|
|
|
|
|
|
| Status | Meaning | Description | Schema |
|
|
|
|
| ------ | ------------------------------------------------------------------------ | ------------------- | ------ |
|
|
|
|
| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | |
|
|
|
|
|
|
|
|
To perform this operation, you must be authenticated. [Learn more](authentication.md).
|