2021-12-10 02:15:24 +00:00
{
"openapi" : "3.0.3" ,
"info" : {
"title" : "Oxide Region API" ,
"description" : "API for interacting with the Oxide control plane" ,
"contact" : {
"url" : "https://oxide.computer" ,
"email" : "api@oxide.computer"
} ,
"version" : "0.0.1"
} ,
"paths" : {
"/hardware/racks" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"racks"
] ,
"summary" : "List racks in the system." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "hardware_racks_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/IdSortMode"
} ,
"style" : "form"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RackResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
}
} ,
"/hardware/racks/{rack_id}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"racks"
] ,
"summary" : "Fetch information about a particular rack." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "hardware_racks_get_rack" ,
"parameters" : [
{
"in" : "path" ,
"name" : "rack_id" ,
"required" : true ,
"schema" : {
"description" : "The rack's unique ID." ,
"type" : "string" ,
"format" : "uuid"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Rack"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/hardware/sleds" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"sleds"
] ,
"summary" : "List sleds in the system." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "hardware_sleds_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/IdSortMode"
} ,
"style" : "form"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SledResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
}
} ,
"/hardware/sleds/{sled_id}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"sleds"
] ,
"summary" : "Fetch information about a sled in the system." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "hardware_sleds_get_sled" ,
"parameters" : [
{
"in" : "path" ,
"name" : "sled_id" ,
"required" : true ,
"schema" : {
"description" : "The sled's unique ID." ,
"type" : "string" ,
"format" : "uuid"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Sled"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/login" : {
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"hidden"
] ,
2021-12-10 02:15:24 +00:00
"operationId" : "spoof_login" ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/LoginParams"
}
}
} ,
"required" : true
} ,
2022-01-05 20:02:46 +00:00
"responses" : {
"default" : {
2022-03-15 23:11:47 +00:00
"description" : "" ,
"content" : {
"*/*" : {
"schema" : { }
}
}
2022-01-05 20:02:46 +00:00
}
}
2021-12-10 02:15:24 +00:00
}
} ,
"/logout" : {
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"hidden"
] ,
2021-12-10 02:15:24 +00:00
"operationId" : "logout" ,
2022-01-05 20:02:46 +00:00
"responses" : {
"default" : {
"description" : ""
}
}
2021-12-10 02:15:24 +00:00
}
} ,
"/organizations" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"organizations"
] ,
"summary" : "List all organizations." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organizations_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameOrIdSortMode"
} ,
"style" : "form"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/OrganizationResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
} ,
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"organizations"
] ,
"summary" : "Create a new organization." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organizations_post" ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/OrganizationCreate"
}
}
} ,
"required" : true
} ,
"responses" : {
"201" : {
"description" : "successful creation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Organization"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"organizations"
] ,
"summary" : "Fetch a specific organization" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organizations_get_organization" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Organization"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"put" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"organizations"
] ,
"summary" : "Update a specific organization." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organizations_put_organization" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/OrganizationUpdate"
}
}
} ,
"required" : true
} ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Organization"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"delete" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"organizations"
] ,
"summary" : "Delete a specific organization." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organizations_delete_organization" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"204" : {
"description" : "successful deletion"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"projects"
] ,
"summary" : "List all projects." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organization_projects_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameOrIdSortMode"
} ,
"style" : "form"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProjectResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
} ,
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"projects"
] ,
"summary" : "Create a new project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organization_projects_post" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProjectCreate"
}
}
} ,
"required" : true
} ,
"responses" : {
"201" : {
"description" : "successful creation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Project"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"projects"
] ,
"summary" : "Fetch a specific project" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organization_projects_get_project" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Project"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"put" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"projects"
] ,
"summary" : "Update a specific project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organization_projects_put_project" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProjectUpdate"
}
}
} ,
"required" : true
} ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Project"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"delete" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"projects"
] ,
"summary" : "Delete a specific project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "organization_projects_delete_project" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"204" : {
"description" : "successful deletion"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/disks" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"disks"
] ,
"summary" : "List disks in a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_disks_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameSortMode"
} ,
"style" : "form"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DiskResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
} ,
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"disks"
] ,
"summary" : "Create a disk in a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_disks_post" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DiskCreate"
}
}
} ,
"required" : true
} ,
"responses" : {
"201" : {
"description" : "successful creation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Disk"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/disks/{disk_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"disks"
] ,
"summary" : "Fetch a single disk in a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_disks_get_disk" ,
"parameters" : [
{
"in" : "path" ,
"name" : "disk_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Disk"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"delete" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"disks"
] ,
"summary" : "Delete a disk from a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_disks_delete_disk" ,
"parameters" : [
{
"in" : "path" ,
"name" : "disk_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"204" : {
"description" : "successful deletion"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/instances" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
"summary" : "List instances in a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_instances_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameSortMode"
} ,
"style" : "form"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/InstanceResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
} ,
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
"summary" : "Create an instance in a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_instances_post" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/InstanceCreate"
}
}
} ,
"required" : true
} ,
"responses" : {
"201" : {
"description" : "successful creation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Instance"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/instances/{instance_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
"summary" : "Get an instance in a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_instances_get_instance" ,
"parameters" : [
{
"in" : "path" ,
"name" : "instance_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Instance"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"delete" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
"summary" : "Delete an instance from a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_instances_delete_instance" ,
"parameters" : [
{
"in" : "path" ,
"name" : "instance_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"204" : {
"description" : "successful deletion"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/instances/{instance_name}/disks" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
"summary" : "List disks attached to this instance." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "instance_disks_get" ,
"parameters" : [
{
2022-01-05 20:02:46 +00:00
"in" : "query" ,
"name" : "limit" ,
2021-12-10 02:15:24 +00:00
"schema" : {
2022-01-05 20:02:46 +00:00
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
2021-12-10 02:15:24 +00:00
} ,
2022-01-05 20:02:46 +00:00
"style" : "form"
2021-12-10 02:15:24 +00:00
} ,
{
2022-01-05 20:02:46 +00:00
"in" : "query" ,
"name" : "page_token" ,
2021-12-10 02:15:24 +00:00
"schema" : {
2022-01-05 20:02:46 +00:00
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
2021-12-10 02:15:24 +00:00
} ,
2022-01-05 20:02:46 +00:00
"style" : "form"
2021-12-10 02:15:24 +00:00
} ,
{
2022-01-05 20:02:46 +00:00
"in" : "query" ,
"name" : "sort_by" ,
2021-12-10 02:15:24 +00:00
"schema" : {
2022-01-05 20:02:46 +00:00
"$ref" : "#/components/schemas/NameSortMode"
2021-12-10 02:15:24 +00:00
} ,
2022-01-05 20:02:46 +00:00
"style" : "form"
2021-12-10 02:15:24 +00:00
} ,
{
"in" : "path" ,
"name" : "instance_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
2022-01-05 20:02:46 +00:00
"$ref" : "#/components/schemas/DiskResultsPage"
2021-12-10 02:15:24 +00:00
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
2022-01-05 20:02:46 +00:00
} ,
"x-dropshot-pagination" : true
}
} ,
"/organizations/{organization_name}/projects/{project_name}/instances/{instance_name}/disks/attach" : {
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
2022-01-05 20:02:46 +00:00
"operationId" : "instance_disks_attach" ,
2021-12-10 02:15:24 +00:00
"parameters" : [
{
"in" : "path" ,
"name" : "instance_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
2022-01-05 20:02:46 +00:00
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DiskIdentifier"
}
}
} ,
"required" : true
} ,
2021-12-10 02:15:24 +00:00
"responses" : {
2022-01-05 20:02:46 +00:00
"202" : {
"description" : "successfully enqueued operation" ,
2021-12-10 02:15:24 +00:00
"content" : {
"application/json" : {
"schema" : {
2022-01-05 20:02:46 +00:00
"$ref" : "#/components/schemas/Disk"
2021-12-10 02:15:24 +00:00
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
2022-01-05 20:02:46 +00:00
}
} ,
"/organizations/{organization_name}/projects/{project_name}/instances/{instance_name}/disks/detach" : {
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
2022-01-05 20:02:46 +00:00
"operationId" : "instance_disks_detach" ,
2021-12-10 02:15:24 +00:00
"parameters" : [
{
"in" : "path" ,
"name" : "instance_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
2022-01-05 20:02:46 +00:00
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DiskIdentifier"
}
}
} ,
"required" : true
} ,
2021-12-10 02:15:24 +00:00
"responses" : {
2022-01-05 20:02:46 +00:00
"202" : {
"description" : "successfully enqueued operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Disk"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/instances/{instance_name}/migrate" : {
"post" : {
"tags" : [
"instances"
] ,
"summary" : "Migrate an instance to a different propolis-server, possibly on a different sled." ,
"description" : "" ,
"operationId" : "project_instances_migrate_instance" ,
"parameters" : [
{
"in" : "path" ,
"name" : "instance_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/InstanceMigrate"
}
}
} ,
"required" : true
} ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Instance"
}
}
}
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/instances/{instance_name}/reboot" : {
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
"summary" : "Reboot an instance." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_instances_instance_reboot" ,
"parameters" : [
{
"in" : "path" ,
"name" : "instance_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"202" : {
"description" : "successfully enqueued operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Instance"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/instances/{instance_name}/start" : {
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
"summary" : "Boot an instance." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_instances_instance_start" ,
"parameters" : [
{
"in" : "path" ,
"name" : "instance_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"202" : {
"description" : "successfully enqueued operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Instance"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/instances/{instance_name}/stop" : {
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"instances"
] ,
"summary" : "Halt an instance." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_instances_instance_stop" ,
"parameters" : [
{
"in" : "path" ,
"name" : "instance_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"202" : {
"description" : "successfully enqueued operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Instance"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/vpcs" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"vpcs"
] ,
"summary" : "List VPCs in a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_vpcs_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameSortMode"
} ,
"style" : "form"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
} ,
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"vpcs"
] ,
"summary" : "Create a VPC in a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_vpcs_post" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcCreate"
}
}
} ,
"required" : true
} ,
"responses" : {
"201" : {
"description" : "successful creation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Vpc"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/vpcs/{vpc_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"vpcs"
] ,
"summary" : "Get a VPC in a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_vpcs_get_vpc" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Vpc"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"put" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"vpcs"
] ,
"summary" : "Update a VPC." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_vpcs_put_vpc" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcUpdate"
}
}
} ,
"required" : true
} ,
"responses" : {
2022-01-05 20:02:46 +00:00
"204" : {
"description" : "resource updated"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"delete" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"vpcs"
] ,
"summary" : "Delete a vpc from a project." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "project_vpcs_delete_vpc" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"204" : {
"description" : "successful deletion"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/vpcs/{vpc_name}/firewall/rules" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"firewall"
] ,
"summary" : "List firewall rules for a VPC." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_firewall_rules_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameSortMode"
} ,
"style" : "form"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcFirewallRuleResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
} ,
"put" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"firewall"
] ,
"summary" : "Replace the firewall rules for a VPC" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_firewall_rules_put" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcFirewallRuleUpdateParams"
}
}
} ,
"required" : true
} ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcFirewallRuleUpdateResult"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/vpcs/{vpc_name}/routers" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routers"
] ,
"summary" : "List VPC Custom and System Routers" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_routers_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameSortMode"
} ,
"style" : "form"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcRouterResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
} ,
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routers"
] ,
"summary" : "Create a VPC Router" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_routers_post" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcRouterCreate"
}
}
} ,
"required" : true
} ,
"responses" : {
"201" : {
"description" : "successful creation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcRouter"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/vpcs/{vpc_name}/routers/{router_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routers"
] ,
"summary" : "Get a VPC Router" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_routers_get_router" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "router_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcRouter"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"put" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routers"
] ,
"summary" : "Update a VPC Router" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_routers_put_router" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "router_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcRouterUpdate"
}
}
} ,
"required" : true
} ,
"responses" : {
2022-01-05 20:02:46 +00:00
"204" : {
"description" : "resource updated"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"delete" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routers"
] ,
"summary" : "Delete a router from its VPC" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_routers_delete_router" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "router_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"204" : {
"description" : "successful deletion"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/vpcs/{vpc_name}/routers/{router_name}/routes" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routes"
] ,
"summary" : "List a Router's routes" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "routers_routes_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameSortMode"
} ,
"style" : "form"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "router_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RouterRouteResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
} ,
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routes"
] ,
"summary" : "Create a VPC Router" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "routers_routes_post" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "router_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RouterRouteCreateParams"
}
}
} ,
"required" : true
} ,
"responses" : {
"201" : {
"description" : "successful creation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RouterRoute"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/vpcs/{vpc_name}/routers/{router_name}/routes/{route_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routes"
] ,
"summary" : "Get a VPC Router route" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "routers_routes_get_route" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "route_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "router_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RouterRoute"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"put" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routes"
] ,
"summary" : "Update a Router route" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "routers_routes_put_route" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "route_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "router_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RouterRouteUpdateParams"
}
}
} ,
"required" : true
} ,
"responses" : {
2022-01-05 20:02:46 +00:00
"204" : {
"description" : "resource updated"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"delete" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"routes"
] ,
"summary" : "Delete a route from its router" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "routers_routes_delete_route" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "route_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "router_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"204" : {
"description" : "successful deletion"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/vpcs/{vpc_name}/subnets" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"subnets"
] ,
"summary" : "List subnets in a VPC." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_subnets_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameSortMode"
} ,
"style" : "form"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcSubnetResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
} ,
"post" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"subnets"
] ,
"summary" : "Create a subnet in a VPC." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_subnets_post" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcSubnetCreate"
}
}
} ,
"required" : true
} ,
"responses" : {
"201" : {
"description" : "successful creation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcSubnet"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
"/organizations/{organization_name}/projects/{project_name}/vpcs/{vpc_name}/subnets/{subnet_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"subnets"
] ,
"summary" : "Get subnet in a VPC." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_subnets_get_subnet" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "subnet_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcSubnet"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"put" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"subnets"
] ,
"summary" : "Update a VPC Subnet." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_subnets_put_subnet" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "subnet_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/VpcSubnetUpdate"
}
}
} ,
"required" : true
} ,
"responses" : {
2022-01-05 20:02:46 +00:00
"204" : {
"description" : "resource updated"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
} ,
"delete" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"subnets"
] ,
"summary" : "Delete a subnet from a VPC." ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "vpc_subnets_delete_subnet" ,
"parameters" : [
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "subnet_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"204" : {
"description" : "successful deletion"
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
2022-01-05 20:02:46 +00:00
"/organizations/{organization_name}/projects/{project_name}/vpcs/{vpc_name}/subnets/{subnet_name}/ips" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"subnets"
] ,
"summary" : "List IP addresses on a VPC subnet." ,
"description" : "" ,
2022-01-05 20:02:46 +00:00
"operationId" : "subnets_ips_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameSortMode"
} ,
"style" : "form"
} ,
{
"in" : "path" ,
"name" : "organization_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "project_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "subnet_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
} ,
{
"in" : "path" ,
"name" : "vpc_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NetworkInterfaceResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2022-01-05 20:02:46 +00:00
}
} ,
"x-dropshot-pagination" : true
}
} ,
"/roles" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"roles"
] ,
"summary" : "List the built-in roles" ,
"description" : "" ,
2022-01-05 20:02:46 +00:00
"operationId" : "roles_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RoleResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2022-01-05 20:02:46 +00:00
}
} ,
"x-dropshot-pagination" : true
}
} ,
"/roles/{role_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"roles"
] ,
"summary" : "Fetch a specific built-in role" ,
"description" : "" ,
2022-01-05 20:02:46 +00:00
"operationId" : "roles_get_role" ,
"parameters" : [
{
"in" : "path" ,
"name" : "role_name" ,
"required" : true ,
"schema" : {
"description" : "The built-in role's unique name." ,
"type" : "string"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Role"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2022-01-05 20:02:46 +00:00
}
}
}
} ,
2021-12-10 02:15:24 +00:00
"/sagas" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"sagas"
] ,
"summary" : "List all sagas (for debugging)" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "sagas_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/IdSortMode"
} ,
"style" : "form"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SagaResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
}
} ,
"/sagas/{saga_id}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"sagas"
] ,
"summary" : "Fetch information about a single saga (for debugging)" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "sagas_get_saga" ,
"parameters" : [
{
"in" : "path" ,
"name" : "saga_id" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Saga"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
}
}
}
} ,
"/session/me" : {
"get" : {
"tags" : [
"hidden"
] ,
"summary" : "Fetch the user associated with the current session" ,
"operationId" : "session_me" ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SessionUser"
}
}
}
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
} ,
2022-01-05 20:02:46 +00:00
"/timeseries/schema" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"metrics"
] ,
"summary" : "List all timeseries schema" ,
"description" : "" ,
2022-01-05 20:02:46 +00:00
"operationId" : "timeseries_schema_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/TimeseriesSchemaResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2022-01-05 20:02:46 +00:00
}
} ,
"x-dropshot-pagination" : true
}
} ,
2021-12-10 02:15:24 +00:00
"/users" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"users"
] ,
"summary" : "List the built-in system users" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "users_get" ,
"parameters" : [
{
"in" : "query" ,
"name" : "limit" ,
"schema" : {
"nullable" : true ,
"description" : "Maximum number of items returned by a single call" ,
"type" : "integer" ,
"format" : "uint32" ,
"minimum" : 1
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "page_token" ,
"schema" : {
"nullable" : true ,
"description" : "Token returned by previous call to retreive the subsequent page" ,
"type" : "string"
} ,
"style" : "form"
} ,
{
"in" : "query" ,
"name" : "sort_by" ,
"schema" : {
"$ref" : "#/components/schemas/NameSortMode"
} ,
"style" : "form"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/UserResultsPage"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
} ,
"x-dropshot-pagination" : true
}
} ,
"/users/{user_name}" : {
"get" : {
2022-02-08 16:59:38 +00:00
"tags" : [
"users"
] ,
"summary" : "Fetch a specific built-in system user" ,
"description" : "" ,
2021-12-10 02:15:24 +00:00
"operationId" : "users_get_user" ,
"parameters" : [
{
"in" : "path" ,
"name" : "user_name" ,
"required" : true ,
"schema" : {
"$ref" : "#/components/schemas/Name"
} ,
"style" : "simple"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/User"
}
}
}
2022-02-08 16:59:38 +00:00
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
2021-12-10 02:15:24 +00:00
}
}
}
}
} ,
"components" : {
2022-02-08 16:59:38 +00:00
"responses" : {
"Error" : {
"description" : "Error" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Error"
}
}
}
}
} ,
2021-12-10 02:15:24 +00:00
"schemas" : {
"ByteCount" : {
"description" : "A count of bytes, typically used either for memory or storage capacity\n\nThe maximum supported byte count is [`i64::MAX`]. This makes it somewhat inconvenient to define constructors: a u32 constructor can be infallible, but an i64 constructor can fail (if the value is negative) and a u64 constructor can fail (if the value is larger than i64::MAX). We provide all of these for consumers' convenience." ,
"type" : "integer" ,
"format" : "uint64" ,
"minimum" : 0
} ,
2022-01-05 20:02:46 +00:00
"DatumType" : {
"description" : "The type of an individual datum of a metric." ,
"type" : "string" ,
"enum" : [
"Bool" ,
"I64" ,
"F64" ,
"String" ,
"Bytes" ,
"CumulativeI64" ,
"CumulativeF64" ,
"HistogramI64" ,
"HistogramF64"
]
} ,
2021-12-10 02:15:24 +00:00
"Disk" : {
"description" : "Client view of an [`Disk`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
2022-02-08 16:59:38 +00:00
"device_path" : {
2021-12-10 02:15:24 +00:00
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
2022-02-08 16:59:38 +00:00
"project_id" : {
2021-12-10 02:15:24 +00:00
"type" : "string" ,
"format" : "uuid"
} ,
"size" : {
"$ref" : "#/components/schemas/ByteCount"
} ,
2022-02-08 16:59:38 +00:00
"snapshot_id" : {
2021-12-10 02:15:24 +00:00
"nullable" : true ,
"type" : "string" ,
"format" : "uuid"
} ,
"state" : {
"$ref" : "#/components/schemas/DiskState"
} ,
2022-02-08 16:59:38 +00:00
"time_created" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
2022-02-08 16:59:38 +00:00
"time_modified" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
}
} ,
"required" : [
"description" ,
2022-02-08 16:59:38 +00:00
"device_path" ,
2021-12-10 02:15:24 +00:00
"id" ,
"name" ,
2022-02-08 16:59:38 +00:00
"project_id" ,
2021-12-10 02:15:24 +00:00
"size" ,
"state" ,
2022-02-08 16:59:38 +00:00
"time_created" ,
"time_modified"
2021-12-10 02:15:24 +00:00
]
} ,
"DiskCreate" : {
"description" : "Create-time parameters for a [`Disk`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"type" : "string"
} ,
"name" : {
"$ref" : "#/components/schemas/Name"
} ,
"size" : {
"description" : "size of the Disk" ,
"allOf" : [
{
"$ref" : "#/components/schemas/ByteCount"
}
]
} ,
2022-02-08 16:59:38 +00:00
"snapshot_id" : {
2021-12-10 02:15:24 +00:00
"nullable" : true ,
"description" : "id for snapshot from which the Disk should be created, if any" ,
"type" : "string" ,
"format" : "uuid"
}
} ,
"required" : [
"description" ,
"name" ,
"size"
]
} ,
2022-01-05 20:02:46 +00:00
"DiskIdentifier" : {
"description" : "Parameters for the [`Disk`] to be attached or detached to an instance" ,
"type" : "object" ,
"properties" : {
"disk" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"disk"
]
} ,
2021-12-10 02:15:24 +00:00
"DiskResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Disk"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"DiskState" : {
"description" : "State of a Disk (primarily: attached or not)" ,
"oneOf" : [
{
"description" : "Disk is being initialized" ,
"type" : "object" ,
"properties" : {
"state" : {
"type" : "string" ,
"enum" : [
"creating"
]
}
} ,
"required" : [
"state"
]
} ,
{
"description" : "Disk is ready but detached from any Instance" ,
"type" : "object" ,
"properties" : {
"state" : {
"type" : "string" ,
"enum" : [
"detached"
]
}
} ,
"required" : [
"state"
]
} ,
{
"description" : "Disk is being attached to the given Instance" ,
"type" : "object" ,
"properties" : {
"instance" : {
"type" : "string" ,
"format" : "uuid"
} ,
"state" : {
"type" : "string" ,
"enum" : [
"attaching"
]
}
} ,
"required" : [
"instance" ,
"state"
]
} ,
{
"description" : "Disk is attached to the given Instance" ,
"type" : "object" ,
"properties" : {
"instance" : {
"type" : "string" ,
"format" : "uuid"
} ,
"state" : {
"type" : "string" ,
"enum" : [
"attached"
]
}
} ,
"required" : [
"instance" ,
"state"
]
} ,
{
"description" : "Disk is being detached from the given Instance" ,
"type" : "object" ,
"properties" : {
"instance" : {
"type" : "string" ,
"format" : "uuid"
} ,
"state" : {
"type" : "string" ,
"enum" : [
"detaching"
]
}
} ,
"required" : [
"instance" ,
"state"
]
} ,
{
"description" : "Disk has been destroyed" ,
"type" : "object" ,
"properties" : {
"state" : {
"type" : "string" ,
"enum" : [
"destroyed"
]
}
} ,
"required" : [
"state"
]
} ,
{
"description" : "Disk is unavailable" ,
"type" : "object" ,
"properties" : {
"state" : {
"type" : "string" ,
"enum" : [
"faulted"
]
}
} ,
"required" : [
"state"
]
}
]
} ,
2022-02-08 16:59:38 +00:00
"Error" : {
"description" : "Body of an HTTP response for an `HttpError`. This type can be used to deserialize an HTTP response corresponding to an error in order to access the error code, message, etc." ,
"type" : "object" ,
"properties" : {
"error_code" : {
"type" : "string"
} ,
"message" : {
"type" : "string"
} ,
"request_id" : {
"type" : "string"
}
} ,
"required" : [
"message" ,
"request_id"
]
} ,
2022-01-05 20:02:46 +00:00
"FieldSchema" : {
"description" : "The name and type information for a field of a timeseries schema." ,
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string"
} ,
"source" : {
"$ref" : "#/components/schemas/FieldSource"
} ,
"ty" : {
"$ref" : "#/components/schemas/FieldType"
}
} ,
"required" : [
"name" ,
"source" ,
"ty"
]
} ,
"FieldSource" : {
"description" : "The source from which a field is derived, the target or metric." ,
"type" : "string" ,
"enum" : [
"Target" ,
"Metric"
]
} ,
"FieldType" : {
"description" : "The `FieldType` identifies the data type of a target or metric field." ,
"type" : "string" ,
"enum" : [
"String" ,
"I64" ,
"IpAddr" ,
"Uuid" ,
"Bool"
]
} ,
2021-12-10 02:15:24 +00:00
"Instance" : {
"description" : "Client view of an [`Instance`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"hostname" : {
"description" : "RFC1035-compliant hostname for the Instance." ,
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"memory" : {
"description" : "memory allocated for this Instance" ,
"allOf" : [
{
"$ref" : "#/components/schemas/ByteCount"
}
]
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
"ncpus" : {
"description" : "number of CPUs allocated for this Instance" ,
"allOf" : [
{
"$ref" : "#/components/schemas/InstanceCpuCount"
}
]
} ,
2022-02-08 16:59:38 +00:00
"project_id" : {
2021-12-10 02:15:24 +00:00
"description" : "id for the project containing this Instance" ,
"type" : "string" ,
"format" : "uuid"
} ,
2022-02-08 16:59:38 +00:00
"run_state" : {
2021-12-10 02:15:24 +00:00
"$ref" : "#/components/schemas/InstanceState"
} ,
2022-02-08 16:59:38 +00:00
"time_created" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
2022-02-08 16:59:38 +00:00
"time_modified" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
} ,
2022-02-08 16:59:38 +00:00
"time_run_state_updated" : {
2021-12-10 02:15:24 +00:00
"type" : "string" ,
"format" : "date-time"
}
} ,
"required" : [
"description" ,
"hostname" ,
"id" ,
"memory" ,
"name" ,
"ncpus" ,
2022-02-08 16:59:38 +00:00
"project_id" ,
"run_state" ,
"time_created" ,
"time_modified" ,
"time_run_state_updated"
2021-12-10 02:15:24 +00:00
]
} ,
"InstanceCpuCount" : {
"description" : "The number of CPUs in an Instance" ,
"type" : "integer" ,
"format" : "uint16" ,
"minimum" : 0
} ,
"InstanceCreate" : {
"description" : "Create-time parameters for an [`Instance`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"type" : "string"
} ,
"hostname" : {
"type" : "string"
} ,
"memory" : {
"$ref" : "#/components/schemas/ByteCount"
} ,
"name" : {
"$ref" : "#/components/schemas/Name"
} ,
"ncpus" : {
"$ref" : "#/components/schemas/InstanceCpuCount"
}
} ,
"required" : [
"description" ,
"hostname" ,
"memory" ,
"name" ,
"ncpus"
]
} ,
2022-02-08 16:59:38 +00:00
"InstanceMigrate" : {
"description" : "Migration parameters for an [`Instance`]" ,
"type" : "object" ,
"properties" : {
"dst_sled_uuid" : {
"type" : "string" ,
"format" : "uuid"
}
} ,
"required" : [
"dst_sled_uuid"
]
} ,
2021-12-10 02:15:24 +00:00
"InstanceResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Instance"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"InstanceState" : {
"description" : "Running state of an Instance (primarily: booted or stopped)\n\nThis typically reflects whether it's starting, running, stopping, or stopped, but also includes states related to the Instance's lifecycle" ,
"type" : "string" ,
"enum" : [
"creating" ,
"starting" ,
"running" ,
"stopping" ,
"stopped" ,
"rebooting" ,
2022-02-08 16:59:38 +00:00
"migrating" ,
2021-12-10 02:15:24 +00:00
"repairing" ,
"failed" ,
"destroyed"
]
} ,
"Ipv4Net" : {
"title" : "An IPv4 subnet" ,
"description" : "An IPv4 subnet, including prefix and subnet mask" ,
"type" : "string" ,
"pattern" : "^(10\\.(25[0-5]|[1-2][0-4][0-9]|[1-9][0-9]|[0-9]\\.){2}(25[0-5]|[1-2][0-4][0-9]|[1-9][0-9]|[0-9])/(1[0-9]|2[0-8]|[8-9]))$^(172\\.16\\.(25[0-5]|[1-2][0-4][0-9]|[1-9][0-9]|[0-9])\\.(25[0-5]|[1-2][0-4][0-9]|[1-9][0-9]|[0-9])/(1[2-9]|2[0-8]))$^(192\\.168\\.(25[0-5]|[1-2][0-4][0-9]|[1-9][0-9]|[0-9])\\.(25[0-5]|[1-2][0-4][0-9]|[1-9][0-9]|[0-9])/(1[6-9]|2[0-8]))$" ,
"maxLength" : 18
} ,
"Ipv6Net" : {
"title" : "An IPv6 subnet" ,
"description" : "An IPv6 subnet, including prefix and subnet mask" ,
"type" : "string" ,
"pattern" : "^(fd|FD)00:((([0-9a-fA-F]{1,4}\\:){6}[0-9a-fA-F]{1,4})|(([0-9a-fA-F]{1,4}:){1,6}:))/(6[4-9]|[7-9][0-9]|1[0-1][0-9]|12[0-6])$" ,
"maxLength" : 43
} ,
"L4PortRange" : {
"title" : "A range of IP ports" ,
"description" : "An inclusive-inclusive range of IP ports. The second port may be omitted to represent a single port" ,
"type" : "string" ,
"pattern" : "^[0-9]{1,5}(-[0-9]{1,5})?$" ,
"minLength" : 1 ,
"maxLength" : 11
} ,
"LoginParams" : {
"type" : "object" ,
"properties" : {
"username" : {
"type" : "string"
}
} ,
"required" : [
"username"
]
} ,
2022-01-05 20:02:46 +00:00
"MacAddr" : {
"title" : "A MAC address" ,
"description" : "A Media Access Control address, in EUI-48 format" ,
"type" : "string" ,
"pattern" : "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$" ,
"minLength" : 17 ,
"maxLength" : 17
} ,
2021-12-10 02:15:24 +00:00
"Name" : {
"title" : "A name used in the API" ,
"description" : "Names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'." ,
"type" : "string" ,
"pattern" : "[a-z](|[a-zA-Z0-9-]*[a-zA-Z0-9])" ,
"maxLength" : 63
} ,
2022-01-05 20:02:46 +00:00
"NetworkInterface" : {
"description" : "A `NetworkInterface` represents a virtual network interface device." ,
"type" : "object" ,
"properties" : {
2022-02-08 16:59:38 +00:00
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
2022-01-05 20:02:46 +00:00
} ,
"instance_id" : {
"description" : "The Instance to which the interface belongs." ,
"type" : "string" ,
"format" : "uuid"
} ,
"ip" : {
"description" : "The IP address assigned to this interface." ,
"type" : "string" ,
"format" : "ip"
} ,
"mac" : {
"description" : "The MAC address assigned to this interface." ,
"allOf" : [
{
"$ref" : "#/components/schemas/MacAddr"
}
]
} ,
2022-02-08 16:59:38 +00:00
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
2022-01-05 20:02:46 +00:00
"subnet_id" : {
"description" : "The subnet to which the interface belongs." ,
"type" : "string" ,
"format" : "uuid"
} ,
2022-02-08 16:59:38 +00:00
"time_created" : {
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
"time_modified" : {
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
} ,
2022-01-05 20:02:46 +00:00
"vpc_id" : {
"description" : "The VPC to which the interface belongs." ,
"type" : "string" ,
"format" : "uuid"
}
} ,
"required" : [
2022-02-08 16:59:38 +00:00
"description" ,
"id" ,
2022-01-05 20:02:46 +00:00
"instance_id" ,
"ip" ,
"mac" ,
2022-02-08 16:59:38 +00:00
"name" ,
2022-01-05 20:02:46 +00:00
"subnet_id" ,
2022-02-08 16:59:38 +00:00
"time_created" ,
"time_modified" ,
2022-01-05 20:02:46 +00:00
"vpc_id"
]
} ,
"NetworkInterfaceResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/NetworkInterface"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
2021-12-10 02:15:24 +00:00
"Organization" : {
"description" : "Client view of an [`Organization`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
2022-02-08 16:59:38 +00:00
"time_created" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
2022-02-08 16:59:38 +00:00
"time_modified" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
}
} ,
"required" : [
"description" ,
"id" ,
"name" ,
2022-02-08 16:59:38 +00:00
"time_created" ,
"time_modified"
2021-12-10 02:15:24 +00:00
]
} ,
"OrganizationCreate" : {
"description" : "Create-time parameters for an [`Organization`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"type" : "string"
} ,
"name" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"description" ,
"name"
]
} ,
"OrganizationResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Organization"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"OrganizationUpdate" : {
"description" : "Updateable properties of an [`Organization`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"nullable" : true ,
"type" : "string"
} ,
"name" : {
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
}
}
} ,
"Project" : {
"description" : "Client view of a [`Project`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
2022-02-08 16:59:38 +00:00
"organization_id" : {
2021-12-10 02:15:24 +00:00
"type" : "string" ,
"format" : "uuid"
} ,
2022-02-08 16:59:38 +00:00
"time_created" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
2022-02-08 16:59:38 +00:00
"time_modified" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
}
} ,
"required" : [
"description" ,
"id" ,
"name" ,
2022-02-08 16:59:38 +00:00
"organization_id" ,
"time_created" ,
"time_modified"
2021-12-10 02:15:24 +00:00
]
} ,
"ProjectCreate" : {
"description" : "Create-time parameters for a [`Project`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"type" : "string"
} ,
"name" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"description" ,
"name"
]
} ,
"ProjectResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Project"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"ProjectUpdate" : {
"description" : "Updateable properties of a [`Project`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"nullable" : true ,
"type" : "string"
} ,
"name" : {
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
}
}
} ,
"Rack" : {
"description" : "Client view of an [`Rack`]" ,
"type" : "object" ,
"properties" : {
2022-02-08 16:59:38 +00:00
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
"time_created" : {
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
"time_modified" : {
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
2021-12-10 02:15:24 +00:00
}
} ,
"required" : [
2022-02-08 16:59:38 +00:00
"description" ,
"id" ,
"name" ,
"time_created" ,
"time_modified"
2021-12-10 02:15:24 +00:00
]
} ,
"RackResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Rack"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
2022-01-05 20:02:46 +00:00
"Role" : {
"description" : "Client view of a [`Role`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"type" : "string"
} ,
"name" : {
"$ref" : "#/components/schemas/RoleName"
}
} ,
"required" : [
"description" ,
"name"
]
} ,
"RoleName" : {
"title" : "A name for a built-in role" ,
"description" : "Role names consist of two string components separated by dot (\".\")." ,
"type" : "string" ,
"pattern" : "[a-z-]+\\.[a-z-]+" ,
"maxLength" : 63
} ,
"RoleResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Role"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
2021-12-10 02:15:24 +00:00
"RouteDestination" : {
"description" : "A subset of [`NetworkTarget`], `RouteDestination` specifies the kind of network traffic that will be matched to be forwarded to the [`RouteTarget`]." ,
"oneOf" : [
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"ip"
]
} ,
"value" : {
"type" : "string" ,
"format" : "ip"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"vpc"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"subnet"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
}
]
} ,
"RouteTarget" : {
"description" : "A subset of [`NetworkTarget`], `RouteTarget` specifies all possible targets that a route can forward to." ,
"oneOf" : [
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"ip"
]
} ,
"value" : {
"type" : "string" ,
"format" : "ip"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"vpc"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"subnet"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"instance"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
2022-02-08 16:59:38 +00:00
"internet_gateway"
2021-12-10 02:15:24 +00:00
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
}
]
} ,
"RouterRoute" : {
"description" : "A route defines a rule that governs where traffic should be sent based on its destination." ,
"type" : "object" ,
"properties" : {
2022-02-08 16:59:38 +00:00
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
2021-12-10 02:15:24 +00:00
"destination" : {
"$ref" : "#/components/schemas/RouteDestination"
} ,
2022-02-08 16:59:38 +00:00
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"kind" : {
"description" : "Describes the kind of router. Set at creation. `read-only`" ,
2021-12-10 02:15:24 +00:00
"allOf" : [
{
2022-02-08 16:59:38 +00:00
"$ref" : "#/components/schemas/RouterRouteKind"
2021-12-10 02:15:24 +00:00
}
]
} ,
2022-02-08 16:59:38 +00:00
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
2021-12-10 02:15:24 +00:00
"allOf" : [
{
2022-02-08 16:59:38 +00:00
"$ref" : "#/components/schemas/Name"
2021-12-10 02:15:24 +00:00
}
]
} ,
"router_id" : {
"description" : "The VPC Router to which the route belongs." ,
"type" : "string" ,
"format" : "uuid"
} ,
"target" : {
"$ref" : "#/components/schemas/RouteTarget"
2022-02-08 16:59:38 +00:00
} ,
"time_created" : {
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
"time_modified" : {
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
2021-12-10 02:15:24 +00:00
}
} ,
"required" : [
2022-02-08 16:59:38 +00:00
"description" ,
2021-12-10 02:15:24 +00:00
"destination" ,
2022-02-08 16:59:38 +00:00
"id" ,
2021-12-10 02:15:24 +00:00
"kind" ,
2022-02-08 16:59:38 +00:00
"name" ,
2021-12-10 02:15:24 +00:00
"router_id" ,
2022-02-08 16:59:38 +00:00
"target" ,
"time_created" ,
"time_modified"
2021-12-10 02:15:24 +00:00
]
} ,
"RouterRouteCreateParams" : {
"description" : "Create-time parameters for a [`RouterRoute`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"type" : "string"
} ,
"destination" : {
"$ref" : "#/components/schemas/RouteDestination"
} ,
"name" : {
"$ref" : "#/components/schemas/Name"
} ,
"target" : {
"$ref" : "#/components/schemas/RouteTarget"
}
} ,
"required" : [
"description" ,
"destination" ,
"name" ,
"target"
]
} ,
"RouterRouteKind" : {
"description" : "The classification of a [`RouterRoute`] as defined by the system. The kind determines certain attributes such as if the route is modifiable and describes how or where the route was created.\n\nSee [RFD-21](https://rfd.shared.oxide.computer/rfd/0021#concept-router) for more context" ,
"type" : "string" ,
"enum" : [
2022-02-08 16:59:38 +00:00
"default" ,
"vpc_subnet" ,
"vpc_peering" ,
"custom"
2021-12-10 02:15:24 +00:00
]
} ,
"RouterRouteResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/RouterRoute"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"RouterRouteUpdateParams" : {
"description" : "Updateable properties of a [`RouterRoute`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"nullable" : true ,
"type" : "string"
} ,
"destination" : {
"$ref" : "#/components/schemas/RouteDestination"
} ,
"name" : {
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
"target" : {
"$ref" : "#/components/schemas/RouteTarget"
}
} ,
"required" : [
"destination" ,
"target"
]
} ,
"Saga" : {
"type" : "object" ,
"properties" : {
"id" : {
"type" : "string" ,
"format" : "uuid"
} ,
"state" : {
"$ref" : "#/components/schemas/SagaState"
}
} ,
"required" : [
"id" ,
"state"
]
} ,
"SagaErrorInfo" : {
"oneOf" : [
{
"type" : "object" ,
"properties" : {
"error" : {
"type" : "string" ,
"enum" : [
2022-02-08 16:59:38 +00:00
"action_failed"
2021-12-10 02:15:24 +00:00
]
} ,
"source_error" : { }
} ,
"required" : [
"error" ,
"source_error"
]
} ,
{
"type" : "object" ,
"properties" : {
"error" : {
"type" : "string" ,
"enum" : [
2022-02-08 16:59:38 +00:00
"deserialize_failed"
2021-12-10 02:15:24 +00:00
]
} ,
"message" : {
"type" : "string"
}
} ,
"required" : [
"error" ,
"message"
]
} ,
{
"type" : "object" ,
"properties" : {
"error" : {
"type" : "string" ,
"enum" : [
2022-02-08 16:59:38 +00:00
"injected_error"
2021-12-10 02:15:24 +00:00
]
}
} ,
"required" : [
"error"
]
} ,
{
"type" : "object" ,
"properties" : {
"error" : {
"type" : "string" ,
"enum" : [
2022-02-08 16:59:38 +00:00
"serialize_failed"
2021-12-10 02:15:24 +00:00
]
} ,
"message" : {
"type" : "string"
}
} ,
"required" : [
"error" ,
"message"
]
} ,
{
"type" : "object" ,
"properties" : {
"error" : {
"type" : "string" ,
"enum" : [
2022-02-08 16:59:38 +00:00
"subsaga_create_failed"
2021-12-10 02:15:24 +00:00
]
} ,
"message" : {
"type" : "string"
}
} ,
"required" : [
"error" ,
"message"
]
}
]
} ,
"SagaResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Saga"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"SagaState" : {
"oneOf" : [
{
"type" : "object" ,
"properties" : {
"state" : {
"type" : "string" ,
"enum" : [
"running"
]
}
} ,
"required" : [
"state"
]
} ,
{
"type" : "object" ,
"properties" : {
"state" : {
"type" : "string" ,
"enum" : [
"succeeded"
]
}
} ,
"required" : [
"state"
]
} ,
{
"type" : "object" ,
"properties" : {
"error_info" : {
"$ref" : "#/components/schemas/SagaErrorInfo"
} ,
"error_node_name" : {
"type" : "string"
} ,
"state" : {
"type" : "string" ,
"enum" : [
"failed"
]
}
} ,
"required" : [
"error_info" ,
"error_node_name" ,
"state"
]
}
]
} ,
2022-02-08 16:59:38 +00:00
"SessionUser" : {
"description" : "Client view of currently authed user." ,
"type" : "object" ,
"properties" : {
"id" : {
"type" : "string" ,
"format" : "uuid"
}
} ,
"required" : [
"id"
]
} ,
2021-12-10 02:15:24 +00:00
"Sled" : {
"description" : "Client view of an [`Sled`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
2022-02-08 16:59:38 +00:00
"service_address" : {
2021-12-10 02:15:24 +00:00
"type" : "string"
} ,
2022-02-08 16:59:38 +00:00
"time_created" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
2022-02-08 16:59:38 +00:00
"time_modified" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
}
} ,
"required" : [
"description" ,
"id" ,
"name" ,
2022-02-08 16:59:38 +00:00
"service_address" ,
"time_created" ,
"time_modified"
2021-12-10 02:15:24 +00:00
]
} ,
"SledResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Sled"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
2022-01-05 20:02:46 +00:00
"TimeseriesName" : {
"title" : "The name of a timeseries" ,
"description" : "Names are constructed by concatenating the target and metric names with ':'. Target and metric names must be lowercase alphanumeric characters with '_' separating words." ,
"type" : "string" ,
"pattern" : "(([a-z]+[a-z0-9]*)(_([a-z0-9]+))*):(([a-z]+[a-z0-9]*)(_([a-z0-9]+))*)"
} ,
"TimeseriesSchema" : {
"description" : "The schema for a timeseries.\n\nThis includes the name of the timeseries, as well as the datum type of its metric and the schema for each field." ,
"type" : "object" ,
"properties" : {
"created" : {
"type" : "string" ,
"format" : "date-time"
} ,
"datum_type" : {
"$ref" : "#/components/schemas/DatumType"
} ,
"field_schema" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/FieldSchema"
}
} ,
"timeseries_name" : {
"$ref" : "#/components/schemas/TimeseriesName"
}
} ,
"required" : [
"created" ,
"datum_type" ,
"field_schema" ,
"timeseries_name"
]
} ,
"TimeseriesSchemaResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/TimeseriesSchema"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
2021-12-10 02:15:24 +00:00
"User" : {
"description" : "Client view of a [`User`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
2022-02-08 16:59:38 +00:00
"time_created" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
2022-02-08 16:59:38 +00:00
"time_modified" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
}
} ,
"required" : [
"description" ,
"id" ,
"name" ,
2022-02-08 16:59:38 +00:00
"time_created" ,
"time_modified"
2021-12-10 02:15:24 +00:00
]
} ,
"UserResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/User"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"Vpc" : {
"description" : "Client view of a [`Vpc`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
2022-02-08 16:59:38 +00:00
"dns_name" : {
2021-12-10 02:15:24 +00:00
"description" : "The name used for the VPC in DNS." ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
2022-02-08 16:59:38 +00:00
"project_id" : {
2021-12-10 02:15:24 +00:00
"description" : "id for the project containing this VPC" ,
"type" : "string" ,
"format" : "uuid"
} ,
2022-02-08 16:59:38 +00:00
"system_router_id" : {
2021-12-10 02:15:24 +00:00
"description" : "id for the system router where subnet default routes are registered" ,
"type" : "string" ,
"format" : "uuid"
} ,
2022-02-08 16:59:38 +00:00
"time_created" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
2022-02-08 16:59:38 +00:00
"time_modified" : {
2021-12-10 02:15:24 +00:00
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
}
} ,
"required" : [
"description" ,
2022-02-08 16:59:38 +00:00
"dns_name" ,
2021-12-10 02:15:24 +00:00
"id" ,
"name" ,
2022-02-08 16:59:38 +00:00
"project_id" ,
"system_router_id" ,
"time_created" ,
"time_modified"
2021-12-10 02:15:24 +00:00
]
} ,
"VpcCreate" : {
"description" : "Create-time parameters for a [`Vpc`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"type" : "string"
} ,
2022-02-08 16:59:38 +00:00
"dns_name" : {
2021-12-10 02:15:24 +00:00
"$ref" : "#/components/schemas/Name"
} ,
"name" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"description" ,
2022-02-08 16:59:38 +00:00
"dns_name" ,
2021-12-10 02:15:24 +00:00
"name"
]
} ,
"VpcFirewallRule" : {
"description" : "A single rule in a VPC firewall" ,
"type" : "object" ,
"properties" : {
"action" : {
"description" : "whether traffic matching the rule should be allowed or dropped" ,
"allOf" : [
{
"$ref" : "#/components/schemas/VpcFirewallRuleAction"
}
]
} ,
2022-02-08 16:59:38 +00:00
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
2021-12-10 02:15:24 +00:00
"direction" : {
"description" : "whether this rule is for incoming or outgoing traffic" ,
"allOf" : [
{
"$ref" : "#/components/schemas/VpcFirewallRuleDirection"
}
]
} ,
"filters" : {
"description" : "reductions on the scope of the rule" ,
"allOf" : [
{
"$ref" : "#/components/schemas/VpcFirewallRuleFilter"
}
]
} ,
2022-02-08 16:59:38 +00:00
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
2021-12-10 02:15:24 +00:00
"allOf" : [
{
2022-02-08 16:59:38 +00:00
"$ref" : "#/components/schemas/Name"
2021-12-10 02:15:24 +00:00
}
]
} ,
"priority" : {
"description" : "the relative priority of this rule" ,
"type" : "integer" ,
"format" : "uint16" ,
"minimum" : 0
} ,
"status" : {
"description" : "whether this rule is in effect" ,
"allOf" : [
{
"$ref" : "#/components/schemas/VpcFirewallRuleStatus"
}
]
} ,
"targets" : {
"description" : "list of sets of instances that the rule applies to" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/VpcFirewallRuleTarget"
}
2022-02-08 16:59:38 +00:00
} ,
"time_created" : {
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
"time_modified" : {
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
2021-12-10 02:15:24 +00:00
}
} ,
"required" : [
"action" ,
2022-02-08 16:59:38 +00:00
"description" ,
2021-12-10 02:15:24 +00:00
"direction" ,
"filters" ,
2022-02-08 16:59:38 +00:00
"id" ,
"name" ,
2021-12-10 02:15:24 +00:00
"priority" ,
"status" ,
2022-02-08 16:59:38 +00:00
"targets" ,
"time_created" ,
"time_modified"
2021-12-10 02:15:24 +00:00
]
} ,
"VpcFirewallRuleAction" : {
"type" : "string" ,
"enum" : [
"allow" ,
"deny"
]
} ,
"VpcFirewallRuleDirection" : {
"type" : "string" ,
"enum" : [
"inbound" ,
"outbound"
]
} ,
"VpcFirewallRuleFilter" : {
"description" : "Filter for a firewall rule. A given packet must match every field that is present for the rule to apply to it. A packet matches a field if any entry in that field matches the packet." ,
"type" : "object" ,
"properties" : {
"hosts" : {
"nullable" : true ,
"description" : "If present, the sources (if incoming) or destinations (if outgoing) this rule applies to." ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/VpcFirewallRuleHostFilter"
}
} ,
"ports" : {
"nullable" : true ,
"description" : "If present, the destination ports this rule applies to." ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/L4PortRange"
}
} ,
"protocols" : {
"nullable" : true ,
"description" : "If present, the networking protocols this rule applies to." ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/VpcFirewallRuleProtocol"
}
}
}
} ,
"VpcFirewallRuleHostFilter" : {
"description" : "A subset of [`NetworkTarget`], `VpcFirewallRuleHostFilter` specifies all possible targets that a route can forward to." ,
"oneOf" : [
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"vpc"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"subnet"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"instance"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"ip"
]
} ,
"value" : {
"type" : "string" ,
"format" : "ip"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
2022-02-08 16:59:38 +00:00
"internet_gateway"
2021-12-10 02:15:24 +00:00
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
}
]
} ,
"VpcFirewallRuleProtocol" : {
"description" : "The protocols that may be specified in a firewall rule's filter" ,
"type" : "string" ,
"enum" : [
"TCP" ,
"UDP" ,
"ICMP"
]
} ,
"VpcFirewallRuleResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/VpcFirewallRule"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"VpcFirewallRuleStatus" : {
"type" : "string" ,
"enum" : [
"disabled" ,
"enabled"
]
} ,
"VpcFirewallRuleTarget" : {
"description" : "A subset of [`NetworkTarget`], `VpcFirewallRuleTarget` specifies all possible targets that a firewall rule can be attached to." ,
"oneOf" : [
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"vpc"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"subnet"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
} ,
{
"type" : "object" ,
"properties" : {
"type" : {
"type" : "string" ,
"enum" : [
"instance"
]
} ,
"value" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"type" ,
"value"
]
}
]
} ,
"VpcFirewallRuleUpdate" : {
"description" : "A single rule in a VPC firewall" ,
"type" : "object" ,
"properties" : {
"action" : {
"description" : "whether traffic matching the rule should be allowed or dropped" ,
"allOf" : [
{
"$ref" : "#/components/schemas/VpcFirewallRuleAction"
}
]
} ,
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"direction" : {
"description" : "whether this rule is for incoming or outgoing traffic" ,
"allOf" : [
{
"$ref" : "#/components/schemas/VpcFirewallRuleDirection"
}
]
} ,
"filters" : {
"description" : "reductions on the scope of the rule" ,
"allOf" : [
{
"$ref" : "#/components/schemas/VpcFirewallRuleFilter"
}
]
} ,
"priority" : {
"description" : "the relative priority of this rule" ,
"type" : "integer" ,
"format" : "uint16" ,
"minimum" : 0
} ,
"status" : {
"description" : "whether this rule is in effect" ,
"allOf" : [
{
"$ref" : "#/components/schemas/VpcFirewallRuleStatus"
}
]
} ,
"targets" : {
"description" : "list of sets of instances that the rule applies to" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/VpcFirewallRuleTarget"
}
}
} ,
"required" : [
"action" ,
"description" ,
"direction" ,
"filters" ,
"priority" ,
"status" ,
"targets"
]
} ,
"VpcFirewallRuleUpdateParams" : {
"description" : "Updateable properties of a [`Vpc`]'s firewall Note that VpcFirewallRules are implicitly created along with a Vpc, so there is no explicit creation." ,
"type" : "object" ,
"additionalProperties" : {
"$ref" : "#/components/schemas/VpcFirewallRuleUpdate"
}
} ,
"VpcFirewallRuleUpdateResult" : {
"description" : "Response to an update replacing [`Vpc`]'s firewall" ,
"type" : "object" ,
"additionalProperties" : {
"$ref" : "#/components/schemas/VpcFirewallRule"
}
} ,
"VpcResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Vpc"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"VpcRouter" : {
"description" : "A VPC router defines a series of rules that indicate where traffic should be sent depending on its destination." ,
"type" : "object" ,
"properties" : {
2022-02-08 16:59:38 +00:00
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
} ,
"kind" : {
"$ref" : "#/components/schemas/VpcRouterKind"
} ,
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
2021-12-10 02:15:24 +00:00
"allOf" : [
{
2022-02-08 16:59:38 +00:00
"$ref" : "#/components/schemas/Name"
2021-12-10 02:15:24 +00:00
}
]
} ,
2022-02-08 16:59:38 +00:00
"time_created" : {
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
"time_modified" : {
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
2021-12-10 02:15:24 +00:00
} ,
"vpc_id" : {
"description" : "The VPC to which the router belongs." ,
"type" : "string" ,
"format" : "uuid"
}
} ,
"required" : [
2022-02-08 16:59:38 +00:00
"description" ,
"id" ,
2021-12-10 02:15:24 +00:00
"kind" ,
2022-02-08 16:59:38 +00:00
"name" ,
"time_created" ,
"time_modified" ,
2021-12-10 02:15:24 +00:00
"vpc_id"
]
} ,
"VpcRouterCreate" : {
"description" : "Create-time parameters for a [`VpcRouter`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"type" : "string"
} ,
"name" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"description" ,
"name"
]
} ,
"VpcRouterKind" : {
"type" : "string" ,
"enum" : [
"system" ,
"custom"
]
} ,
"VpcRouterResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/VpcRouter"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"VpcRouterUpdate" : {
"description" : "Updateable properties of a [`VpcRouter`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"nullable" : true ,
"type" : "string"
} ,
"name" : {
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
}
}
} ,
"VpcSubnet" : {
"description" : "A VPC subnet represents a logical grouping for instances that allows network traffic between them, within a IPv4 subnetwork or optionall an IPv6 subnetwork." ,
"type" : "object" ,
"properties" : {
2022-02-08 16:59:38 +00:00
"description" : {
"description" : "human-readable free-form text about a resource" ,
"type" : "string"
} ,
"id" : {
"description" : "unique, immutable, system-controlled identifier for each resource" ,
"type" : "string" ,
"format" : "uuid"
2021-12-10 02:15:24 +00:00
} ,
"ipv4_block" : {
"nullable" : true ,
"description" : "The IPv4 subnet CIDR block." ,
"allOf" : [
{
"$ref" : "#/components/schemas/Ipv4Net"
}
]
} ,
"ipv6_block" : {
"nullable" : true ,
"description" : "The IPv6 subnet CIDR block." ,
"allOf" : [
{
"$ref" : "#/components/schemas/Ipv6Net"
}
]
} ,
2022-02-08 16:59:38 +00:00
"name" : {
"description" : "unique, mutable, user-controlled identifier for each resource" ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
"time_created" : {
"description" : "timestamp when this resource was created" ,
"type" : "string" ,
"format" : "date-time"
} ,
"time_modified" : {
"description" : "timestamp when this resource was last modified" ,
"type" : "string" ,
"format" : "date-time"
} ,
2021-12-10 02:15:24 +00:00
"vpc_id" : {
"description" : "The VPC to which the subnet belongs." ,
"type" : "string" ,
"format" : "uuid"
}
} ,
"required" : [
2022-02-08 16:59:38 +00:00
"description" ,
"id" ,
"name" ,
"time_created" ,
"time_modified" ,
2021-12-10 02:15:24 +00:00
"vpc_id"
]
} ,
"VpcSubnetCreate" : {
"description" : "Create-time parameters for a [`VpcSubnet`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"type" : "string"
} ,
2022-02-08 16:59:38 +00:00
"ipv4_block" : {
2021-12-10 02:15:24 +00:00
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Ipv4Net"
}
]
} ,
2022-02-08 16:59:38 +00:00
"ipv6_block" : {
2021-12-10 02:15:24 +00:00
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Ipv6Net"
}
]
} ,
"name" : {
"$ref" : "#/components/schemas/Name"
}
} ,
"required" : [
"description" ,
"name"
]
} ,
"VpcSubnetResultsPage" : {
"description" : "A single page of results" ,
"type" : "object" ,
"properties" : {
"items" : {
"description" : "list of items on this page of results" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/VpcSubnet"
}
} ,
"next_page" : {
"nullable" : true ,
"description" : "token used to fetch the next page of results (if any)" ,
"type" : "string"
}
} ,
"required" : [
"items"
]
} ,
"VpcSubnetUpdate" : {
"description" : "Updateable properties of a [`VpcSubnet`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"nullable" : true ,
"type" : "string"
} ,
2022-02-08 16:59:38 +00:00
"ipv4_block" : {
2021-12-10 02:15:24 +00:00
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Ipv4Net"
}
]
} ,
2022-02-08 16:59:38 +00:00
"ipv6_block" : {
2021-12-10 02:15:24 +00:00
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Ipv6Net"
}
]
} ,
"name" : {
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
}
}
} ,
"VpcUpdate" : {
"description" : "Updateable properties of a [`Vpc`]" ,
"type" : "object" ,
"properties" : {
"description" : {
"nullable" : true ,
"type" : "string"
} ,
2022-02-08 16:59:38 +00:00
"dns_name" : {
2021-12-10 02:15:24 +00:00
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
} ,
"name" : {
"nullable" : true ,
"allOf" : [
{
"$ref" : "#/components/schemas/Name"
}
]
}
}
} ,
"IdSortMode" : {
"description" : "Supported set of sort modes for scanning by id only.\n\nCurrently, we only support scanning in ascending order." ,
"type" : "string" ,
"enum" : [
"id-ascending"
]
} ,
"NameOrIdSortMode" : {
"description" : "Supported set of sort modes for scanning by name or id" ,
"type" : "string" ,
"enum" : [
"name-ascending" ,
"name-descending" ,
"id-ascending"
]
} ,
"NameSortMode" : {
"description" : "Supported set of sort modes for scanning by name only\n\nCurrently, we only support scanning in ascending order." ,
"type" : "string" ,
"enum" : [
"name-ascending"
]
}
}
}
}