{ "opencollection": "1.0.0", "info": { "name": "Incus external REST certificates instances API", "version": "1.0" }, "items": [ { "info": { "name": "instances", "type": "folder" }, "items": [ { "info": { "name": "Get the instances", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances", "params": [ { "name": "project", "value": "default", "type": "query", "description": "Project name" }, { "name": "filter", "value": "default", "type": "query", "description": "Collection filter" }, { "name": "all-projects", "value": "", "type": "query", "description": "Retrieve instances from all projects" } ] }, "docs": "Returns a list of instances (URLs)." }, { "info": { "name": "Create a new instance", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances", "params": [ { "name": "project", "value": "default", "type": "query", "description": "Project name" }, { "name": "target", "value": "default", "type": "query", "description": "Cluster member" } ] }, "docs": "Creates a new instance.\nDepending on the source, this can create an instance from an existing\nlocal image, remote image, existing local instance or snapshot, remote\nmigration stream or backup file." }, { "info": { "name": "Bulk instance state update", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/1.0/instances", "params": [ { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Changes the running state of all instances." }, { "info": { "name": "Get the instance", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Gets a specific instance (basic struct)." }, { "info": { "name": "Rename or move/migrate an instance", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Renames, moves an instance between pools or migrates an instance to another server.\n\nThe returned operation metadata will vary based on what's requested.\nFor rename or move within the same server, this is a simple background operation with progress data.\nFor migration, in the push case, this will similarly be a background\noperation with progress data, for the pull case, it will be a websocket\noperation with a number of secrets to be passed to the target server." }, { "info": { "name": "Update the instance", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/1.0/instances/:name", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Updates the instance configuration or trigger a snapshot restore." }, { "info": { "name": "Partially update the instance", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/1.0/instances/:name", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Updates a subset of the instance configuration" }, { "info": { "name": "Delete an instance", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/1.0/instances/:name", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Deletes a specific instance.\n\nThis also deletes anything owned by the instance such as snapshots and backups." }, { "info": { "name": "Get who has access to an instance", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/access", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "", "type": "query", "description": "Project name" } ] }, "docs": "Gets the access information for the instance." }, { "info": { "name": "Get the backups", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/backups", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Returns a list of instance backups (URLs)." }, { "info": { "name": "Create a backup", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/backups", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Creates a new backup.\n\nIf the `Accept` header is set to `application/octet-stream`, this directly streams the backup\ntarball to the client without any intermediate operation." }, { "info": { "name": "Get the backup", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/backups/:backup", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "backup", "value": "", "type": "path", "description": "Backup name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Gets a specific instance backup." }, { "info": { "name": "Rename a backup", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/backups/:backup", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "backup", "value": "", "type": "path", "description": "Backup name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Renames an instance backup." }, { "info": { "name": "Delete a backup", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/1.0/instances/:name/backups/:backup", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "backup", "value": "", "type": "path", "description": "Backup name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Deletes the instance backup." }, { "info": { "name": "Get the raw backup file(s)", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/backups/:backup/export", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "backup", "value": "", "type": "path", "description": "Backup name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Download the raw backup file(s) from the server." }, { "info": { "name": "Get the backups", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/backups?recursion=1", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Returns a list of instance backups (structs)." }, { "info": { "name": "Create a bitmap", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/bitmaps", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Creates a new bitmap." }, { "info": { "name": "Get console output", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/console", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" }, { "name": "type", "value": "vga", "type": "query", "description": "Console type" } ] }, "docs": "Gets the console output for the instance either as text log or as vga\nscreendump." }, { "info": { "name": "Connect to console", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/console", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Connects to the console of an instance.\n\nThe returned operation metadata will contain two websockets, one for data and one for control." }, { "info": { "name": "Clear the console log", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/1.0/instances/:name/console", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Clears the console log buffer." }, { "info": { "name": "Get memory debug information of an instance", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/debug/memory", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" }, { "name": "format", "value": "elf", "type": "query", "description": "Memory dump format" } ] }, "docs": "Returns memory debug information of a running instance.\nOnly supported for VMs." }, { "info": { "name": "Trigger a repair action on the instance.", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/debug/repair", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Runs an internal repair action on the instance." }, { "info": { "name": "Run a command", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/exec", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Executes a command inside an instance.\n\nThe returned operation metadata will contain either 2 or 4 websockets.\nIn non-interactive mode, you'll get one websocket for each of stdin, stdout and stderr.\nIn interactive mode, a single bi-directional websocket is used for stdin and stdout/stderr.\n\nAn additional \"control\" socket is always added on top which can be used for out of band communications.\nThis allows sending signals and window sizing information through." }, { "info": { "name": "Get a file", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/files", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "path", "value": "default", "type": "query", "description": "Path to the file" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Gets the file content. If it's a directory, a json list of files will be returned instead." }, { "info": { "name": "Create or replace a file", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/files", "headers": [ { "name": "X-Incus-uid", "value": "1000" }, { "name": "X-Incus-gid", "value": "1000" }, { "name": "X-Incus-mode", "value": "420" }, { "name": "X-Incus-type", "value": "file" }, { "name": "X-Incus-write", "value": "overwrite" } ], "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "path", "value": "default", "type": "query", "description": "Path to the file" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Creates a new file in the instance." }, { "info": { "name": "Delete a file", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/1.0/instances/:name/files", "headers": [ { "name": "X-Incus-force", "value": "true" } ], "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "path", "value": "default", "type": "query", "description": "Path to the file" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Removes the file." }, { "info": { "name": "Get metadata for a file", "type": "http" }, "http": { "method": "HEAD", "url": "{{baseUrl}}/1.0/instances/:name/files", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "path", "value": "default", "type": "query", "description": "Path to the file" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Gets the file or directory metadata." }, { "info": { "name": "Get the log files", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/logs", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Returns a list of log files (URLs)." }, { "info": { "name": "Get the log file", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/logs/:filename", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "filename", "value": "", "type": "path", "description": "Log file name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Gets the log file." }, { "info": { "name": "Delete the log file", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/1.0/instances/:name/logs/:filename", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "filename", "value": "", "type": "path", "description": "Log file name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Removes the log file." }, { "info": { "name": "Get the exec record-output files", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/logs/exec-output", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Returns a list of exec record-output files (URLs)." }, { "info": { "name": "Get the exec-output log file", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/logs/exec-output/:filename", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "filename", "value": "", "type": "path", "description": "Log file name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Gets the exec-output file." }, { "info": { "name": "Delete the exec record-output file", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/1.0/instances/:name/logs/exec-output/:filename", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "filename", "value": "", "type": "path", "description": "Log file name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Removes the exec record-output file." }, { "info": { "name": "Get the instance image metadata", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/metadata", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Gets the image metadata for the instance." }, { "info": { "name": "Update the image metadata", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/1.0/instances/:name/metadata", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Updates the instance image metadata." }, { "info": { "name": "Partially update the image metadata", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/1.0/instances/:name/metadata", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Updates a subset of the instance image metadata." }, { "info": { "name": "Get the template file names or a specific", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/metadata/templates", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" }, { "name": "path", "value": "hostname.tpl", "type": "query", "description": "Template name" } ] }, "docs": "If no path specified, returns a list of template file names.\nIf a path is specified, returns the file content." }, { "info": { "name": "Create or replace a template file", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/metadata/templates", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "path", "value": "default", "type": "query", "description": "Template name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Creates a new image template file for the instance." }, { "info": { "name": "Delete a template file", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/1.0/instances/:name/metadata/templates", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "path", "value": "default", "type": "query", "description": "Template name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Removes the template file." }, { "info": { "name": "Rebuild an instance", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/rebuild", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Rebuild an instance using an alternate image or as empty." }, { "info": { "name": "Get the instance SFTP connection", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/sftp", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" } ] }, "docs": "Upgrades the request to an SFTP connection of the instance's filesystem." }, { "info": { "name": "Get the snapshots", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/snapshots", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Returns a list of instance snapshots (URLs)." }, { "info": { "name": "Create a snapshot", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/snapshots", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Creates a new snapshot." }, { "info": { "name": "Get the snapshot", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/snapshots/:snapshot", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "snapshot", "value": "", "type": "path", "description": "Snapshot name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Gets a specific instance snapshot." }, { "info": { "name": "Rename or move/migrate a snapshot", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/1.0/instances/:name/snapshots/:snapshot", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "snapshot", "value": "", "type": "path", "description": "Snapshot name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Renames or migrates an instance snapshot to another server.\n\nThe returned operation metadata will vary based on what's requested.\nFor rename or move within the same server, this is a simple background operation with progress data.\nFor migration, in the push case, this will similarly be a background\noperation with progress data, for the pull case, it will be a websocket\noperation with a number of secrets to be passed to the target server." }, { "info": { "name": "Update snapshot", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/1.0/instances/:name/snapshots/:snapshot", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "snapshot", "value": "", "type": "path", "description": "Snapshot name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Updates the snapshot config." }, { "info": { "name": "Partially update snapshot", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/1.0/instances/:name/snapshots/:snapshot", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "snapshot", "value": "", "type": "path", "description": "Snapshot name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Updates a subset of the snapshot config." }, { "info": { "name": "Delete a snapshot", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/1.0/instances/:name/snapshots/:snapshot", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "snapshot", "value": "", "type": "path", "description": "Snapshot name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Deletes the instance snapshot." }, { "info": { "name": "Get the snapshots", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/snapshots?recursion=1", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Returns a list of instance snapshots (structs)." }, { "info": { "name": "Get the runtime state", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name/state", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "", "type": "query", "description": "Project name" } ] }, "docs": "Gets the runtime state of the instance.\n\nThis is a reasonably expensive call as it causes code to be run\ninside of the instance to retrieve the resource usage and network\ninformation." }, { "info": { "name": "Change the state", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/1.0/instances/:name/state", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Changes the running state of the instance." }, { "info": { "name": "Get the instance", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances/:name?recursion=1", "params": [ { "name": "name", "value": "", "type": "path", "description": "Instance name" }, { "name": "project", "value": "default", "type": "query", "description": "Project name" } ] }, "docs": "Gets a specific instance (full struct).\n\nrecursion=1 also includes information about state, snapshots and backups." }, { "info": { "name": "Get the instances", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances?recursion=1", "params": [ { "name": "project", "value": "default", "type": "query", "description": "Project name" }, { "name": "filter", "value": "default", "type": "query", "description": "Collection filter" }, { "name": "all-projects", "value": "", "type": "query", "description": "Retrieve instances from all projects" } ] }, "docs": "Returns a list of instances (basic structs)." }, { "info": { "name": "Get the instances", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/1.0/instances?recursion=2", "params": [ { "name": "project", "value": "default", "type": "query", "description": "Project name" }, { "name": "filter", "value": "default", "type": "query", "description": "Collection filter" }, { "name": "all-projects", "value": "", "type": "query", "description": "Retrieve instances from all projects" } ] }, "docs": "Returns a list of instances (full structs).\n\nThe main difference between recursion=1 and recursion=2 is that the\nlatter also includes state and snapshot information allowing for a\nsingle API call to return everything needed by most clients." } ] } ], "bundled": true }