Last active
January 30, 2024 13:21
-
-
Save markylaing/f6acd02615f5103d218c8905294a4297 to your computer and use it in GitHub Desktop.
OpenAPI spec for LXD including IAM routes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
definitions: | |
Certificate: | |
description: Certificate represents a LXD certificate | |
properties: | |
certificate: | |
description: The certificate itself, as PEM encoded X509 | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
fingerprint: | |
description: SHA256 fingerprint of the certificate | |
example: fd200419b271f1dc2a5591b693cc5774b7f234e1ff8c6b78ad703b6888fe2b69 | |
readOnly: true | |
type: string | |
x-go-name: Fingerprint | |
groups: | |
description: List of groups the certificate is a member of | |
example: | |
- project-default-operators | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
name: | |
description: Name associated with the certificate | |
example: castiana | |
type: string | |
x-go-name: Name | |
projects: | |
description: List of allowed projects (applies when restricted) | |
example: | |
- default | |
- foo | |
- bar | |
items: | |
type: string | |
type: array | |
x-go-name: Projects | |
restricted: | |
description: Whether to limit the certificate to listed projects | |
example: true | |
type: boolean | |
x-go-name: Restricted | |
type: | |
description: Usage type for the certificate | |
example: client | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
CertificateAddToken: | |
properties: | |
addresses: | |
description: The addresses of the server | |
example: | |
- 10.98.30.229:8443 | |
items: | |
type: string | |
type: array | |
x-go-name: Addresses | |
client_name: | |
description: The name of the new client | |
example: user@host | |
type: string | |
x-go-name: ClientName | |
expires_at: | |
description: The token's expiry date. | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
fingerprint: | |
description: The fingerprint of the network certificate | |
example: 57bb0ff4340b5bb28517e062023101adf788c37846dc8b619eb2c3cb4ef29436 | |
type: string | |
x-go-name: Fingerprint | |
secret: | |
description: The random join secret | |
example: 2b2284d44db32675923fe0d2020477e0e9be11801ff70c435e032b97028c35cd | |
type: string | |
x-go-name: Secret | |
title: CertificateAddToken represents the fields contained within an encoded certificate add token. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
CertificatePut: | |
description: CertificatePut represents the modifiable fields of a LXD certificate | |
properties: | |
certificate: | |
description: The certificate itself, as PEM encoded X509 | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
groups: | |
description: List of groups the certificate is a member of | |
example: | |
- project-default-operators | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
name: | |
description: Name associated with the certificate | |
example: castiana | |
type: string | |
x-go-name: Name | |
projects: | |
description: List of allowed projects (applies when restricted) | |
example: | |
- default | |
- foo | |
- bar | |
items: | |
type: string | |
type: array | |
x-go-name: Projects | |
restricted: | |
description: Whether to limit the certificate to listed projects | |
example: true | |
type: boolean | |
x-go-name: Restricted | |
type: | |
description: Usage type for the certificate | |
example: client | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
CertificatesPost: | |
description: CertificatesPost represents the fields of a new LXD certificate | |
properties: | |
certificate: | |
description: The certificate itself, as PEM encoded X509 | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
groups: | |
description: List of groups the certificate is a member of | |
example: | |
- project-default-operators | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
name: | |
description: Name associated with the certificate | |
example: castiana | |
type: string | |
x-go-name: Name | |
password: | |
description: Server trust password (used to add an untrusted client) | |
example: blah | |
type: string | |
x-go-name: Password | |
projects: | |
description: List of allowed projects (applies when restricted) | |
example: | |
- default | |
- foo | |
- bar | |
items: | |
type: string | |
type: array | |
x-go-name: Projects | |
restricted: | |
description: Whether to limit the certificate to listed projects | |
example: true | |
type: boolean | |
x-go-name: Restricted | |
token: | |
description: Whether to create a certificate add token | |
example: true | |
type: boolean | |
x-go-name: Token | |
type: | |
description: Usage type for the certificate | |
example: client | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Cluster: | |
properties: | |
enabled: | |
description: Whether clustering is enabled | |
example: true | |
type: boolean | |
x-go-name: Enabled | |
member_config: | |
description: List of member configuration keys (used during join) | |
example: [] | |
items: | |
$ref: '#/definitions/ClusterMemberConfigKey' | |
type: array | |
x-go-name: MemberConfig | |
server_name: | |
description: Name of the cluster member answering the request | |
example: lxd01 | |
type: string | |
x-go-name: ServerName | |
title: Cluster represents high-level information about a LXD cluster. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterCertificatePut: | |
description: ClusterCertificatePut represents the certificate and key pair for all members in a LXD Cluster | |
properties: | |
cluster_certificate: | |
description: The new certificate (X509 PEM encoded) for the cluster | |
example: X509 PEM certificate | |
type: string | |
x-go-name: ClusterCertificate | |
cluster_certificate_key: | |
description: The new certificate key (X509 PEM encoded) for the cluster | |
example: X509 PEM certificate key | |
type: string | |
x-go-name: ClusterCertificateKey | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterGroup: | |
properties: | |
description: | |
description: The description of the cluster group | |
example: amd64 servers | |
type: string | |
x-go-name: Description | |
members: | |
description: List of members in this group | |
example: | |
- node1 | |
- node3 | |
items: | |
type: string | |
type: array | |
x-go-name: Members | |
name: | |
description: The new name of the cluster group | |
example: group1 | |
type: string | |
x-go-name: Name | |
title: ClusterGroup represents a cluster group. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterGroupPost: | |
properties: | |
name: | |
description: The new name of the cluster group | |
example: group1 | |
type: string | |
x-go-name: Name | |
title: ClusterGroupPost represents the fields required to rename a cluster group. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterGroupPut: | |
properties: | |
description: | |
description: The description of the cluster group | |
example: amd64 servers | |
type: string | |
x-go-name: Description | |
members: | |
description: List of members in this group | |
example: | |
- node1 | |
- node3 | |
items: | |
type: string | |
type: array | |
x-go-name: Members | |
title: ClusterGroupPut represents the modifiable fields of a cluster group. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterGroupsPost: | |
properties: | |
description: | |
description: The description of the cluster group | |
example: amd64 servers | |
type: string | |
x-go-name: Description | |
members: | |
description: List of members in this group | |
example: | |
- node1 | |
- node3 | |
items: | |
type: string | |
type: array | |
x-go-name: Members | |
name: | |
description: The new name of the cluster group | |
example: group1 | |
type: string | |
x-go-name: Name | |
title: ClusterGroupsPost represents the fields available for a new cluster group. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterMember: | |
properties: | |
architecture: | |
description: The primary architecture of the cluster member | |
example: x86_64 | |
type: string | |
x-go-name: Architecture | |
config: | |
additionalProperties: | |
type: string | |
description: Additional configuration information | |
example: | |
scheduler.instance: all | |
type: object | |
x-go-name: Config | |
database: | |
description: Whether the cluster member is a database server | |
example: true | |
type: boolean | |
x-go-name: Database | |
description: | |
description: Cluster member description | |
example: AMD Epyc 32c/64t | |
type: string | |
x-go-name: Description | |
failure_domain: | |
description: Name of the failure domain for this cluster member | |
example: rack1 | |
type: string | |
x-go-name: FailureDomain | |
groups: | |
description: List of cluster groups this member belongs to | |
example: | |
- group1 | |
- group2 | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
message: | |
description: Additional status information | |
example: fully operational | |
type: string | |
x-go-name: Message | |
roles: | |
description: List of roles held by this cluster member | |
example: | |
- database | |
items: | |
type: string | |
type: array | |
x-go-name: Roles | |
server_name: | |
description: Name of the cluster member | |
example: lxd01 | |
type: string | |
x-go-name: ServerName | |
status: | |
description: Current status | |
example: Online | |
type: string | |
x-go-name: Status | |
url: | |
description: URL at which the cluster member can be reached | |
example: https://10.0.0.1:8443 | |
type: string | |
x-go-name: URL | |
title: ClusterMember represents the a LXD node in the cluster. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterMemberConfigKey: | |
description: |- | |
The Value field is empty when getting clustering information with GET | |
1.0/cluster, and should be filled by the joining node when performing a PUT | |
1.0/cluster join request. | |
properties: | |
description: | |
description: A human friendly description key | |
example: '"source" property for storage pool "local"' | |
type: string | |
x-go-name: Description | |
entity: | |
description: The kind of configuration key (network, storage-pool, ...) | |
example: storage-pool | |
type: string | |
x-go-name: Entity | |
key: | |
description: The name of the key | |
example: source | |
type: string | |
x-go-name: Key | |
name: | |
description: The name of the object requiring this key | |
example: local | |
type: string | |
x-go-name: Name | |
value: | |
description: The value on the answering cluster member | |
example: /dev/sdb | |
type: string | |
x-go-name: Value | |
title: |- | |
ClusterMemberConfigKey represents a single config key that a new member of | |
the cluster is required to provide when joining. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterMemberJoinToken: | |
properties: | |
addresses: | |
description: The addresses of existing online cluster members | |
example: | |
- 10.98.30.229:8443 | |
items: | |
type: string | |
type: array | |
x-go-name: Addresses | |
expires_at: | |
description: The token's expiry date. | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
fingerprint: | |
description: The fingerprint of the network certificate | |
example: 57bb0ff4340b5bb28517e062023101adf788c37846dc8b619eb2c3cb4ef29436 | |
type: string | |
x-go-name: Fingerprint | |
secret: | |
description: The random join secret. | |
example: 2b2284d44db32675923fe0d2020477e0e9be11801ff70c435e032b97028c35cd | |
type: string | |
x-go-name: Secret | |
server_name: | |
description: The name of the new cluster member | |
example: lxd02 | |
type: string | |
x-go-name: ServerName | |
title: ClusterMemberJoinToken represents the fields contained within an encoded cluster member join token. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterMemberPost: | |
properties: | |
server_name: | |
description: The new name of the cluster member | |
example: lxd02 | |
type: string | |
x-go-name: ServerName | |
title: ClusterMemberPost represents the fields required to rename a LXD node. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterMemberPut: | |
description: ClusterMemberPut represents the modifiable fields of a LXD cluster member | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Additional configuration information | |
example: | |
scheduler.instance: all | |
type: object | |
x-go-name: Config | |
description: | |
description: Cluster member description | |
example: AMD Epyc 32c/64t | |
type: string | |
x-go-name: Description | |
failure_domain: | |
description: Name of the failure domain for this cluster member | |
example: rack1 | |
type: string | |
x-go-name: FailureDomain | |
groups: | |
description: List of cluster groups this member belongs to | |
example: | |
- group1 | |
- group2 | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
roles: | |
description: List of roles held by this cluster member | |
example: | |
- database | |
items: | |
type: string | |
type: array | |
x-go-name: Roles | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterMemberState: | |
properties: | |
storage_pools: | |
additionalProperties: | |
$ref: '#/definitions/StoragePoolState' | |
type: object | |
x-go-name: StoragePools | |
sysinfo: | |
$ref: '#/definitions/ClusterMemberSysInfo' | |
title: ClusterMemberState represents the state of a cluster member. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterMemberStatePost: | |
properties: | |
action: | |
description: The action to be performed. Valid actions are "evacuate" and "restore". | |
example: evacuate | |
type: string | |
x-go-name: Action | |
mode: | |
description: Override the configured evacuation mode. | |
example: stop | |
type: string | |
x-go-name: Mode | |
title: ClusterMemberStatePost represents the fields required to evacuate a cluster member. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterMemberSysInfo: | |
properties: | |
buffered_ram: | |
format: uint64 | |
type: integer | |
x-go-name: BufferRAM | |
free_ram: | |
format: uint64 | |
type: integer | |
x-go-name: FreeRAM | |
free_swap: | |
format: uint64 | |
type: integer | |
x-go-name: FreeSwap | |
load_averages: | |
items: | |
format: double | |
type: number | |
type: array | |
x-go-name: LoadAverages | |
processes: | |
format: uint16 | |
type: integer | |
x-go-name: Processes | |
shared_ram: | |
format: uint64 | |
type: integer | |
x-go-name: SharedRAM | |
total_ram: | |
format: uint64 | |
type: integer | |
x-go-name: TotalRAM | |
total_swap: | |
format: uint64 | |
type: integer | |
x-go-name: TotalSwap | |
uptime: | |
format: int64 | |
type: integer | |
x-go-name: Uptime | |
title: ClusterMemberSysInfo represents the sysinfo of a cluster member. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterMembersPost: | |
properties: | |
server_name: | |
description: The name of the new cluster member | |
example: lxd02 | |
type: string | |
x-go-name: ServerName | |
title: ClusterMembersPost represents the fields required to request a join token to add a member to the cluster. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ClusterPut: | |
description: |- | |
ClusterPut represents the fields required to bootstrap or join a LXD | |
cluster. | |
properties: | |
cluster_address: | |
description: The address of the cluster you wish to join | |
example: 10.0.0.1:8443 | |
type: string | |
x-go-name: ClusterAddress | |
cluster_certificate: | |
description: The expected certificate (X509 PEM encoded) for the cluster | |
example: X509 PEM certificate | |
type: string | |
x-go-name: ClusterCertificate | |
cluster_password: | |
description: The trust password of the cluster you're trying to join | |
example: blah | |
type: string | |
x-go-name: ClusterPassword | |
enabled: | |
description: Whether clustering is enabled | |
example: true | |
type: boolean | |
x-go-name: Enabled | |
member_config: | |
description: List of member configuration keys (used during join) | |
example: [] | |
items: | |
$ref: '#/definitions/ClusterMemberConfigKey' | |
type: array | |
x-go-name: MemberConfig | |
server_address: | |
description: The local address to use for cluster communication | |
example: 10.0.0.2:8443 | |
type: string | |
x-go-name: ServerAddress | |
server_name: | |
description: Name of the cluster member answering the request | |
example: lxd01 | |
type: string | |
x-go-name: ServerName | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Event: | |
description: Event represents an event entry (over websocket) | |
properties: | |
location: | |
description: Originating cluster member | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
metadata: | |
description: JSON encoded metadata (see EventLogging, EventLifecycle or Operation) | |
example: | |
action: instance-started | |
context: {} | |
source: /1.0/instances/c1 | |
type: object | |
x-go-name: Metadata | |
project: | |
description: Project the event belongs to. | |
example: default | |
type: string | |
x-go-name: Project | |
timestamp: | |
description: Time at which the event was sent | |
example: "2021-02-24T19:00:45.452649098-05:00" | |
format: date-time | |
type: string | |
x-go-name: Timestamp | |
type: | |
description: Event type (one of operation, logging or lifecycle) | |
example: lifecycle | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Group: | |
properties: | |
description: | |
description: Description is a short description of the group. | |
example: Viewers of instance c1 in the default project. | |
type: string | |
x-go-name: Description | |
identities: | |
description: Identities are the identities that are members of the group. | |
items: | |
$ref: '#/definitions/Identity' | |
type: array | |
x-go-name: Identities | |
identity_provider_groups: | |
description: |- | |
IdentityProviderGroups are a list of groups from the IdP whose mapping | |
includes this group. | |
example: | |
- sales | |
- operations | |
items: | |
type: string | |
type: array | |
x-go-name: IdentityProviderGroups | |
name: | |
description: Name is the name of the group. | |
example: default-c1-viewers | |
type: string | |
x-go-name: Name | |
permissions: | |
description: Permissions are a list of permissions. | |
items: | |
$ref: '#/definitions/Permission' | |
type: array | |
x-go-name: Permissions | |
title: Group is the type for a LXD Group. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
GroupPost: | |
properties: | |
name: | |
description: Name is the name of the group. | |
example: default-c1-viewers | |
type: string | |
x-go-name: Name | |
title: GroupPost is used for renaming a group. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
GroupPut: | |
properties: | |
description: | |
description: Description is a short description of the group. | |
example: Viewers of instance c1 in the default project. | |
type: string | |
x-go-name: Description | |
permissions: | |
description: Permissions are a list of permissions. | |
items: | |
$ref: '#/definitions/Permission' | |
type: array | |
x-go-name: Permissions | |
title: GroupPut contains the editable fields of a group. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
GroupsPost: | |
properties: | |
description: | |
description: Description is a short description of the group. | |
example: Viewers of instance c1 in the default project. | |
type: string | |
x-go-name: Description | |
name: | |
description: Name is the name of the group. | |
example: default-c1-viewers | |
type: string | |
x-go-name: Name | |
permissions: | |
description: Permissions are a list of permissions. | |
items: | |
$ref: '#/definitions/Permission' | |
type: array | |
x-go-name: Permissions | |
title: GroupsPost is used for creating a new group. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Identity: | |
properties: | |
authentication_method: | |
description: |- | |
AuthenticationMethod is the authentication method that the identity | |
authenticates to LXD with. | |
example: tls | |
type: string | |
x-go-name: AuthenticationMethod | |
id: | |
description: Identifier is a unique identifier for the identity (e.g. certificate fingerprint or OIDC subject). | |
example: auth0|4daf5e37ce230e455b64b65b | |
type: string | |
x-go-name: Identifier | |
name: | |
description: |- | |
Name is the email of the identity if authenticated via OIDC, or the name | |
of the certificate if authenticated with TLS. | |
example: jane.doe@example.com | |
type: string | |
x-go-name: Name | |
type: | |
description: Type is the type of identity. | |
example: oidc-service-account | |
type: string | |
x-go-name: Type | |
title: Identity is the type for an authenticated party that can make requests to the HTTPS API. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
IdentityFull: | |
properties: | |
authentication_method: | |
description: |- | |
AuthenticationMethod is the authentication method that the identity | |
authenticates to LXD with. | |
example: tls | |
type: string | |
x-go-name: AuthenticationMethod | |
groups: | |
description: Groups is the list of groups for which the identity is a member. | |
example: | |
- foo | |
- bar | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
id: | |
description: Identifier is a unique identifier for the identity (e.g. certificate fingerprint or OIDC subject). | |
example: auth0|4daf5e37ce230e455b64b65b | |
type: string | |
x-go-name: Identifier | |
name: | |
description: |- | |
Name is the email of the identity if authenticated via OIDC, or the name | |
of the certificate if authenticated with TLS. | |
example: jane.doe@example.com | |
type: string | |
x-go-name: Name | |
type: | |
description: Type is the type of identity. | |
example: oidc-service-account | |
type: string | |
x-go-name: Type | |
title: IdentityFull expands an Identity to include group membership. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
IdentityProviderGroup: | |
properties: | |
groups: | |
description: Groups are the groups the IdP group resolves to. | |
example: | |
- foo | |
- bar | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
name: | |
description: Name is the name of the IdP group. | |
type: string | |
x-go-name: Name | |
title: IdentityProviderGroup represents a mapping between LXD groups and groups defined by an identity provider. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
IdentityProviderGroupPost: | |
properties: | |
name: | |
description: Name is the name of the IdP group. | |
type: string | |
x-go-name: Name | |
title: IdentityProviderGroupPost is used for renaming an IdentityProviderGroup. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
IdentityProviderGroupPut: | |
properties: | |
groups: | |
description: Groups are the groups the IdP group resolves to. | |
example: | |
- foo | |
- bar | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
title: IdentityProviderGroupPut contains the editable fields of an IdentityProviderGroup. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
IdentityPut: | |
properties: | |
groups: | |
description: Groups is the list of groups for which the identity is a member. | |
example: | |
- foo | |
- bar | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
title: IdentityPut contains the editable fields of an IdentityFull. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Image: | |
description: Image represents a LXD image | |
properties: | |
aliases: | |
description: List of aliases | |
items: | |
$ref: '#/definitions/ImageAlias' | |
type: array | |
x-go-name: Aliases | |
architecture: | |
description: Architecture | |
example: x86_64 | |
type: string | |
x-go-name: Architecture | |
auto_update: | |
description: Whether the image should auto-update when a new build is available | |
example: true | |
type: boolean | |
x-go-name: AutoUpdate | |
cached: | |
description: Whether the image is an automatically cached remote image | |
example: true | |
type: boolean | |
x-go-name: Cached | |
created_at: | |
description: When the image was originally created | |
example: "2021-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: CreatedAt | |
expires_at: | |
description: When the image becomes obsolete | |
example: "2025-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
filename: | |
description: Original filename | |
example: 06b86454720d36b20f94e31c6812e05ec51c1b568cf3a8abd273769d213394bb.rootfs | |
type: string | |
x-go-name: Filename | |
fingerprint: | |
description: Full SHA-256 fingerprint | |
example: 06b86454720d36b20f94e31c6812e05ec51c1b568cf3a8abd273769d213394bb | |
type: string | |
x-go-name: Fingerprint | |
last_used_at: | |
description: Last time the image was used | |
example: "2021-03-22T20:39:00.575185384-04:00" | |
format: date-time | |
type: string | |
x-go-name: LastUsedAt | |
profiles: | |
description: List of profiles to use when creating from this image (if none provided by user) | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
x-go-name: Profiles | |
properties: | |
additionalProperties: | |
type: string | |
description: Descriptive properties | |
example: | |
os: Ubuntu | |
release: jammy | |
variant: cloud | |
type: object | |
x-go-name: Properties | |
public: | |
description: Whether the image is available to unauthenticated users | |
example: false | |
type: boolean | |
x-go-name: Public | |
size: | |
description: Size of the image in bytes | |
example: 272237676 | |
format: int64 | |
type: integer | |
x-go-name: Size | |
type: | |
description: Type of image (container or virtual-machine) | |
example: container | |
type: string | |
x-go-name: Type | |
update_source: | |
$ref: '#/definitions/ImageSource' | |
uploaded_at: | |
description: When the image was added to this LXD server | |
example: "2021-03-24T14:18:15.115036787-04:00" | |
format: date-time | |
type: string | |
x-go-name: UploadedAt | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImageAlias: | |
description: ImageAlias represents an alias from the alias list of a LXD image | |
properties: | |
description: | |
description: Description of the alias | |
example: Our preferred Ubuntu image | |
type: string | |
x-go-name: Description | |
name: | |
description: Name of the alias | |
example: ubuntu-22.04 | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImageAliasesEntry: | |
description: ImageAliasesEntry represents a LXD image alias | |
properties: | |
description: | |
description: Alias description | |
example: Our preferred Ubuntu image | |
type: string | |
x-go-name: Description | |
name: | |
description: Alias name | |
example: ubuntu-22.04 | |
type: string | |
x-go-name: Name | |
target: | |
description: Target fingerprint for the alias | |
example: 06b86454720d36b20f94e31c6812e05ec51c1b568cf3a8abd273769d213394bb | |
type: string | |
x-go-name: Target | |
type: | |
description: Alias type (container or virtual-machine) | |
example: container | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImageAliasesEntryPost: | |
description: ImageAliasesEntryPost represents the required fields to rename a LXD image alias | |
properties: | |
name: | |
description: Alias name | |
example: ubuntu-22.04 | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImageAliasesEntryPut: | |
description: ImageAliasesEntryPut represents the modifiable fields of a LXD image alias | |
properties: | |
description: | |
description: Alias description | |
example: Our preferred Ubuntu image | |
type: string | |
x-go-name: Description | |
target: | |
description: Target fingerprint for the alias | |
example: 06b86454720d36b20f94e31c6812e05ec51c1b568cf3a8abd273769d213394bb | |
type: string | |
x-go-name: Target | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImageAliasesPost: | |
description: ImageAliasesPost represents a new LXD image alias | |
properties: | |
description: | |
description: Alias description | |
example: Our preferred Ubuntu image | |
type: string | |
x-go-name: Description | |
name: | |
description: Alias name | |
example: ubuntu-22.04 | |
type: string | |
x-go-name: Name | |
target: | |
description: Target fingerprint for the alias | |
example: 06b86454720d36b20f94e31c6812e05ec51c1b568cf3a8abd273769d213394bb | |
type: string | |
x-go-name: Target | |
type: | |
description: Alias type (container or virtual-machine) | |
example: container | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImageExportPost: | |
description: ImageExportPost represents the fields required to export a LXD image | |
properties: | |
aliases: | |
description: List of aliases to set on the image | |
items: | |
$ref: '#/definitions/ImageAlias' | |
type: array | |
x-go-name: Aliases | |
certificate: | |
description: Remote server certificate | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
profiles: | |
description: List of profiles to use | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
x-go-name: Profiles | |
project: | |
description: Project name | |
example: project1 | |
type: string | |
x-go-name: Project | |
secret: | |
description: Image receive secret | |
example: RANDOM-STRING | |
type: string | |
x-go-name: Secret | |
target: | |
description: Target server URL | |
example: https://1.2.3.4:8443 | |
type: string | |
x-go-name: Target | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImageMetadata: | |
description: ImageMetadata represents LXD image metadata (used in image tarball) | |
properties: | |
architecture: | |
description: Architecture name | |
example: x86_64 | |
type: string | |
x-go-name: Architecture | |
creation_date: | |
description: Image creation data (as UNIX epoch) | |
example: 1620655439 | |
format: int64 | |
type: integer | |
x-go-name: CreationDate | |
expiry_date: | |
description: Image expiry data (as UNIX epoch) | |
example: 1620685757 | |
format: int64 | |
type: integer | |
x-go-name: ExpiryDate | |
properties: | |
additionalProperties: | |
type: string | |
description: Descriptive properties | |
example: | |
os: Ubuntu | |
release: jammy | |
variant: cloud | |
type: object | |
x-go-name: Properties | |
templates: | |
additionalProperties: | |
$ref: '#/definitions/ImageMetadataTemplate' | |
description: Template for files in the image | |
type: object | |
x-go-name: Templates | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImageMetadataTemplate: | |
description: ImageMetadataTemplate represents a template entry in image metadata (used in image tarball) | |
properties: | |
create_only: | |
description: Whether to trigger only if the file is missing | |
example: false | |
type: boolean | |
x-go-name: CreateOnly | |
properties: | |
additionalProperties: | |
type: string | |
description: Key/value properties to pass to the template | |
example: | |
foo: bar | |
type: object | |
x-go-name: Properties | |
template: | |
description: The template itself as a valid pongo2 template | |
example: pongo2-template | |
type: string | |
x-go-name: Template | |
when: | |
description: When to trigger the template (create, copy or start) | |
example: create | |
items: | |
type: string | |
type: array | |
x-go-name: When | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImagePut: | |
description: ImagePut represents the modifiable fields of a LXD image | |
properties: | |
auto_update: | |
description: Whether the image should auto-update when a new build is available | |
example: true | |
type: boolean | |
x-go-name: AutoUpdate | |
expires_at: | |
description: When the image becomes obsolete | |
example: "2025-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
profiles: | |
description: List of profiles to use when creating from this image (if none provided by user) | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
x-go-name: Profiles | |
properties: | |
additionalProperties: | |
type: string | |
description: Descriptive properties | |
example: | |
os: Ubuntu | |
release: jammy | |
variant: cloud | |
type: object | |
x-go-name: Properties | |
public: | |
description: Whether the image is available to unauthenticated users | |
example: false | |
type: boolean | |
x-go-name: Public | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImageSource: | |
description: ImageSource represents the source of a LXD image | |
properties: | |
alias: | |
description: Source alias to download from | |
example: jammy | |
type: string | |
x-go-name: Alias | |
certificate: | |
description: Source server certificate (if not trusted by system CA) | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
image_type: | |
description: Type of image (container or virtual-machine) | |
example: container | |
type: string | |
x-go-name: ImageType | |
protocol: | |
description: Source server protocol | |
example: simplestreams | |
type: string | |
x-go-name: Protocol | |
server: | |
description: URL of the source server | |
example: https://images.linuxcontainers.org | |
type: string | |
x-go-name: Server | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImagesPost: | |
description: ImagesPost represents the fields available for a new LXD image | |
properties: | |
aliases: | |
description: Aliases to add to the image | |
example: | |
- name: foo | |
- name: bar | |
items: | |
$ref: '#/definitions/ImageAlias' | |
type: array | |
x-go-name: Aliases | |
auto_update: | |
description: Whether the image should auto-update when a new build is available | |
example: true | |
type: boolean | |
x-go-name: AutoUpdate | |
compression_algorithm: | |
description: Compression algorithm to use when turning an instance into an image | |
example: gzip | |
type: string | |
x-go-name: CompressionAlgorithm | |
expires_at: | |
description: When the image becomes obsolete | |
example: "2025-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
filename: | |
description: Original filename of the image | |
example: lxd.tar.xz | |
type: string | |
x-go-name: Filename | |
profiles: | |
description: List of profiles to use when creating from this image (if none provided by user) | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
x-go-name: Profiles | |
properties: | |
additionalProperties: | |
type: string | |
description: Descriptive properties | |
example: | |
os: Ubuntu | |
release: jammy | |
variant: cloud | |
type: object | |
x-go-name: Properties | |
public: | |
description: Whether the image is available to unauthenticated users | |
example: false | |
type: boolean | |
x-go-name: Public | |
source: | |
$ref: '#/definitions/ImagesPostSource' | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ImagesPostSource: | |
description: ImagesPostSource represents the source of a new LXD image | |
properties: | |
alias: | |
description: Source alias to download from | |
example: jammy | |
type: string | |
x-go-name: Alias | |
certificate: | |
description: Source server certificate (if not trusted by system CA) | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
fingerprint: | |
description: Source image fingerprint (for type "image") | |
example: 8ae945c52bb2f2df51c923b04022312f99bbb72c356251f54fa89ea7cf1df1d0 | |
type: string | |
x-go-name: Fingerprint | |
image_type: | |
description: Type of image (container or virtual-machine) | |
example: container | |
type: string | |
x-go-name: ImageType | |
mode: | |
description: Transfer mode (push or pull) | |
example: pull | |
type: string | |
x-go-name: Mode | |
name: | |
description: Instance name (for type "instance" or "snapshot") | |
example: c1/snap0 | |
type: string | |
x-go-name: Name | |
project: | |
description: Source project name | |
example: project1 | |
type: string | |
x-go-name: Project | |
protocol: | |
description: Source server protocol | |
example: simplestreams | |
type: string | |
x-go-name: Protocol | |
secret: | |
description: Source image server secret token (when downloading private images) | |
example: RANDOM-STRING | |
type: string | |
x-go-name: Secret | |
server: | |
description: URL of the source server | |
example: https://images.linuxcontainers.org | |
type: string | |
x-go-name: Server | |
type: | |
description: Type of image source (instance, snapshot, image or url) | |
example: instance | |
type: string | |
x-go-name: Type | |
url: | |
description: Source URL (for type "url") | |
example: https://some-server.com/some-directory/ | |
type: string | |
x-go-name: URL | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InitClusterPreseed: | |
properties: | |
cluster_address: | |
description: The address of the cluster you wish to join | |
example: 10.0.0.1:8443 | |
type: string | |
x-go-name: ClusterAddress | |
cluster_certificate: | |
description: The expected certificate (X509 PEM encoded) for the cluster | |
example: X509 PEM certificate | |
type: string | |
x-go-name: ClusterCertificate | |
cluster_certificate_path: | |
description: The path to the cluster certificate | |
example: /tmp/cluster.crt | |
type: string | |
x-go-name: ClusterCertificatePath | |
cluster_password: | |
description: The trust password of the cluster you're trying to join | |
example: blah | |
type: string | |
x-go-name: ClusterPassword | |
cluster_token: | |
description: A cluster join token | |
example: BASE64-TOKEN | |
type: string | |
x-go-name: ClusterToken | |
enabled: | |
description: Whether clustering is enabled | |
example: true | |
type: boolean | |
x-go-name: Enabled | |
member_config: | |
description: List of member configuration keys (used during join) | |
example: [] | |
items: | |
$ref: '#/definitions/ClusterMemberConfigKey' | |
type: array | |
x-go-name: MemberConfig | |
server_address: | |
description: The local address to use for cluster communication | |
example: 10.0.0.2:8443 | |
type: string | |
x-go-name: ServerAddress | |
server_name: | |
description: Name of the cluster member answering the request | |
example: lxd01 | |
type: string | |
x-go-name: ServerName | |
title: InitClusterPreseed represents initialization configuration for the LXD cluster. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InitLocalPreseed: | |
properties: | |
config: | |
additionalProperties: {} | |
description: Server configuration map (refer to doc/server.md) | |
example: | |
core.https_address: :8443 | |
core.trust_password: true | |
type: object | |
x-go-name: Config | |
networks: | |
description: Networks by project to add to LXD | |
example: Network on the "default" project | |
items: | |
$ref: '#/definitions/InitNetworksProjectPost' | |
type: array | |
x-go-name: Networks | |
profiles: | |
description: Profiles to add to LXD | |
example: '"default" profile with a root disk device' | |
items: | |
$ref: '#/definitions/ProfilesPost' | |
type: array | |
x-go-name: Profiles | |
projects: | |
description: Projects to add to LXD | |
example: '"default" project' | |
items: | |
$ref: '#/definitions/ProjectsPost' | |
type: array | |
x-go-name: Projects | |
storage_pools: | |
description: Storage Pools to add to LXD | |
example: local dir storage pool | |
items: | |
$ref: '#/definitions/StoragePoolsPost' | |
type: array | |
x-go-name: StoragePools | |
title: InitLocalPreseed represents initialization configuration for the local LXD. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InitNetworksProjectPost: | |
properties: | |
Project: | |
description: Project in which the network will reside | |
example: '"default"' | |
type: string | |
config: | |
additionalProperties: | |
type: string | |
description: Network configuration map (refer to doc/networks.md) | |
example: | |
ipv4.address: 10.0.0.1/24 | |
ipv4.nat: "true" | |
ipv6.address: none | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the profile | |
example: My new LXD bridge | |
type: string | |
x-go-name: Description | |
name: | |
description: The name of the new network | |
example: lxdbr1 | |
type: string | |
x-go-name: Name | |
type: | |
description: The network type (refer to doc/networks.md) | |
example: bridge | |
type: string | |
x-go-name: Type | |
title: InitNetworksProjectPost represents the fields of a new LXD network along with its associated project. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InitPreseed: | |
properties: | |
Node: | |
$ref: '#/definitions/InitLocalPreseed' | |
cluster: | |
$ref: '#/definitions/InitClusterPreseed' | |
title: InitPreseed represents initialization configuration that can be supplied to `lxd init`. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Instance: | |
properties: | |
architecture: | |
description: Architecture name | |
example: x86_64 | |
type: string | |
x-go-name: Architecture | |
config: | |
additionalProperties: | |
type: string | |
description: Instance configuration (see doc/instances.md) | |
example: | |
security.nesting: "true" | |
type: object | |
x-go-name: Config | |
created_at: | |
description: Instance creation timestamp | |
example: "2021-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: CreatedAt | |
description: | |
description: Instance description | |
example: My test instance | |
type: string | |
x-go-name: Description | |
devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: Instance devices (see doc/instances.md) | |
example: | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: Devices | |
ephemeral: | |
description: Whether the instance is ephemeral (deleted on shutdown) | |
example: false | |
type: boolean | |
x-go-name: Ephemeral | |
expanded_config: | |
additionalProperties: | |
type: string | |
description: Expanded configuration (all profiles and local config merged) | |
example: | |
security.nesting: "true" | |
type: object | |
x-go-name: ExpandedConfig | |
expanded_devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: Expanded devices (all profiles and local devices merged) | |
example: | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: ExpandedDevices | |
last_used_at: | |
description: Last start timestamp | |
example: "2021-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: LastUsedAt | |
location: | |
description: What cluster member this instance is located on | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
name: | |
description: Instance name | |
example: foo | |
type: string | |
x-go-name: Name | |
profiles: | |
description: List of profiles applied to the instance | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
x-go-name: Profiles | |
project: | |
description: Instance project name | |
example: foo | |
type: string | |
x-go-name: Project | |
restore: | |
description: If set, instance will be restored to the provided snapshot name | |
example: snap0 | |
type: string | |
x-go-name: Restore | |
stateful: | |
description: Whether the instance currently has saved state on disk | |
example: false | |
type: boolean | |
x-go-name: Stateful | |
status: | |
description: Instance status (see instance_state) | |
example: Running | |
type: string | |
x-go-name: Status | |
status_code: | |
$ref: '#/definitions/StatusCode' | |
type: | |
description: The type of instance (container or virtual-machine) | |
example: container | |
type: string | |
x-go-name: Type | |
title: Instance represents a LXD instance. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceBackup: | |
properties: | |
container_only: | |
description: Whether to ignore snapshots (deprecated, use instance_only) | |
example: false | |
type: boolean | |
x-go-name: ContainerOnly | |
created_at: | |
description: When the backup was created | |
example: "2021-03-23T16:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: CreatedAt | |
expires_at: | |
description: When the backup expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
instance_only: | |
description: Whether to ignore snapshots | |
example: false | |
type: boolean | |
x-go-name: InstanceOnly | |
name: | |
description: Backup name | |
example: backup0 | |
type: string | |
x-go-name: Name | |
optimized_storage: | |
description: Whether to use a pool-optimized binary format (instead of plain tarball) | |
example: true | |
type: boolean | |
x-go-name: OptimizedStorage | |
title: InstanceBackup represents a LXD instance backup. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceBackupPost: | |
properties: | |
name: | |
description: New backup name | |
example: backup1 | |
type: string | |
x-go-name: Name | |
title: InstanceBackupPost represents the fields available for the renaming of a instance backup. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceBackupsPost: | |
properties: | |
compression_algorithm: | |
description: What compression algorithm to use | |
example: gzip | |
type: string | |
x-go-name: CompressionAlgorithm | |
container_only: | |
description: Whether to ignore snapshots (deprecated, use instance_only) | |
example: false | |
type: boolean | |
x-go-name: ContainerOnly | |
expires_at: | |
description: When the backup expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
instance_only: | |
description: Whether to ignore snapshots | |
example: false | |
type: boolean | |
x-go-name: InstanceOnly | |
name: | |
description: Backup name | |
example: backup0 | |
type: string | |
x-go-name: Name | |
optimized_storage: | |
description: Whether to use a pool-optimized binary format (instead of plain tarball) | |
example: true | |
type: boolean | |
x-go-name: OptimizedStorage | |
title: InstanceBackupsPost represents the fields available for a new LXD instance backup. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceConsolePost: | |
properties: | |
height: | |
description: Console height in rows (console type only) | |
example: 24 | |
format: int64 | |
type: integer | |
x-go-name: Height | |
type: | |
description: Type of console to attach to (console or vga) | |
example: console | |
type: string | |
x-go-name: Type | |
width: | |
description: Console width in columns (console type only) | |
example: 80 | |
format: int64 | |
type: integer | |
x-go-name: Width | |
title: InstanceConsolePost represents a LXD instance console request. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceExecPost: | |
properties: | |
command: | |
description: Command and its arguments | |
example: | |
- bash | |
items: | |
type: string | |
type: array | |
x-go-name: Command | |
cwd: | |
description: Current working directory for the command | |
example: /home/foo/ | |
type: string | |
x-go-name: Cwd | |
environment: | |
additionalProperties: | |
type: string | |
description: Additional environment to pass to the command | |
example: | |
FOO: BAR | |
type: object | |
x-go-name: Environment | |
group: | |
description: GID of the user to spawn the command as | |
example: 1000 | |
format: uint32 | |
type: integer | |
x-go-name: Group | |
height: | |
description: Terminal height in rows (for interactive) | |
example: 24 | |
format: int64 | |
type: integer | |
x-go-name: Height | |
interactive: | |
description: Whether the command is to be spawned in interactive mode (singled PTY instead of 3 PIPEs) | |
example: true | |
type: boolean | |
x-go-name: Interactive | |
record-output: | |
description: Whether to capture the output for later download (requires non-interactive) | |
type: boolean | |
x-go-name: RecordOutput | |
user: | |
description: UID of the user to spawn the command as | |
example: 1000 | |
format: uint32 | |
type: integer | |
x-go-name: User | |
wait-for-websocket: | |
description: Whether to wait for all websockets to be connected before spawning the command | |
example: true | |
type: boolean | |
x-go-name: WaitForWS | |
width: | |
description: Terminal width in characters (for interactive) | |
example: 80 | |
format: int64 | |
type: integer | |
x-go-name: Width | |
title: InstanceExecPost represents a LXD instance exec request. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceFull: | |
properties: | |
architecture: | |
description: Architecture name | |
example: x86_64 | |
type: string | |
x-go-name: Architecture | |
backups: | |
description: List of backups. | |
items: | |
$ref: '#/definitions/InstanceBackup' | |
type: array | |
x-go-name: Backups | |
config: | |
additionalProperties: | |
type: string | |
description: Instance configuration (see doc/instances.md) | |
example: | |
security.nesting: "true" | |
type: object | |
x-go-name: Config | |
created_at: | |
description: Instance creation timestamp | |
example: "2021-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: CreatedAt | |
description: | |
description: Instance description | |
example: My test instance | |
type: string | |
x-go-name: Description | |
devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: Instance devices (see doc/instances.md) | |
example: | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: Devices | |
ephemeral: | |
description: Whether the instance is ephemeral (deleted on shutdown) | |
example: false | |
type: boolean | |
x-go-name: Ephemeral | |
expanded_config: | |
additionalProperties: | |
type: string | |
description: Expanded configuration (all profiles and local config merged) | |
example: | |
security.nesting: "true" | |
type: object | |
x-go-name: ExpandedConfig | |
expanded_devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: Expanded devices (all profiles and local devices merged) | |
example: | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: ExpandedDevices | |
last_used_at: | |
description: Last start timestamp | |
example: "2021-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: LastUsedAt | |
location: | |
description: What cluster member this instance is located on | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
name: | |
description: Instance name | |
example: foo | |
type: string | |
x-go-name: Name | |
profiles: | |
description: List of profiles applied to the instance | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
x-go-name: Profiles | |
project: | |
description: Instance project name | |
example: foo | |
type: string | |
x-go-name: Project | |
restore: | |
description: If set, instance will be restored to the provided snapshot name | |
example: snap0 | |
type: string | |
x-go-name: Restore | |
snapshots: | |
description: List of snapshots. | |
items: | |
$ref: '#/definitions/InstanceSnapshot' | |
type: array | |
x-go-name: Snapshots | |
state: | |
$ref: '#/definitions/InstanceState' | |
stateful: | |
description: Whether the instance currently has saved state on disk | |
example: false | |
type: boolean | |
x-go-name: Stateful | |
status: | |
description: Instance status (see instance_state) | |
example: Running | |
type: string | |
x-go-name: Status | |
status_code: | |
$ref: '#/definitions/StatusCode' | |
type: | |
description: The type of instance (container or virtual-machine) | |
example: container | |
type: string | |
x-go-name: Type | |
title: InstanceFull is a combination of Instance, InstanceBackup, InstanceState and InstanceSnapshot. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstancePost: | |
properties: | |
Config: | |
additionalProperties: | |
type: string | |
description: Instance configuration file. | |
example: | |
security.nesting: "true" | |
type: object | |
Devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: Instance devices. | |
example: | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
Profiles: | |
description: List of profiles applied to the instance. | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
allow_inconsistent: | |
description: AllowInconsistent allow inconsistent copies when migrating. | |
example: false | |
type: boolean | |
x-go-name: AllowInconsistent | |
container_only: | |
description: Whether snapshots should be discarded (migration only, deprecated, use instance_only) | |
example: false | |
type: boolean | |
x-go-name: ContainerOnly | |
instance_only: | |
description: Whether snapshots should be discarded (migration only) | |
example: false | |
type: boolean | |
x-go-name: InstanceOnly | |
live: | |
description: Whether to perform a live migration (migration only) | |
example: false | |
type: boolean | |
x-go-name: Live | |
migration: | |
description: Whether the instance is being migrated to another server | |
example: false | |
type: boolean | |
x-go-name: Migration | |
name: | |
description: New name for the instance | |
example: bar | |
type: string | |
x-go-name: Name | |
pool: | |
description: Target pool for local cross-pool move | |
example: baz | |
type: string | |
x-go-name: Pool | |
project: | |
description: Target project for local cross-project move | |
example: foo | |
type: string | |
x-go-name: Project | |
target: | |
$ref: '#/definitions/InstancePostTarget' | |
title: InstancePost represents the fields required to rename/move a LXD instance. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstancePostTarget: | |
properties: | |
certificate: | |
description: The certificate of the migration target | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
operation: | |
description: The operation URL on the remote target | |
example: https://1.2.3.4:8443/1.0/operations/5e8e1638-5345-4c2d-bac9-2c79c8577292 | |
type: string | |
x-go-name: Operation | |
secrets: | |
additionalProperties: | |
type: string | |
description: Migration websockets credentials | |
example: | |
criu: random-string | |
migration: random-string | |
type: object | |
x-go-name: Websockets | |
title: InstancePostTarget represents the migration target host and operation. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstancePut: | |
properties: | |
architecture: | |
description: Architecture name | |
example: x86_64 | |
type: string | |
x-go-name: Architecture | |
config: | |
additionalProperties: | |
type: string | |
description: Instance configuration (see doc/instances.md) | |
example: | |
security.nesting: "true" | |
type: object | |
x-go-name: Config | |
description: | |
description: Instance description | |
example: My test instance | |
type: string | |
x-go-name: Description | |
devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: Instance devices (see doc/instances.md) | |
example: | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: Devices | |
ephemeral: | |
description: Whether the instance is ephemeral (deleted on shutdown) | |
example: false | |
type: boolean | |
x-go-name: Ephemeral | |
profiles: | |
description: List of profiles applied to the instance | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
x-go-name: Profiles | |
restore: | |
description: If set, instance will be restored to the provided snapshot name | |
example: snap0 | |
type: string | |
x-go-name: Restore | |
stateful: | |
description: Whether the instance currently has saved state on disk | |
example: false | |
type: boolean | |
x-go-name: Stateful | |
title: InstancePut represents the modifiable fields of a LXD instance. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceRebuildPost: | |
properties: | |
source: | |
$ref: '#/definitions/InstanceSource' | |
title: InstanceRebuildPost indicates how to rebuild an instance. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceSnapshot: | |
properties: | |
architecture: | |
description: Architecture name | |
example: x86_64 | |
type: string | |
x-go-name: Architecture | |
config: | |
additionalProperties: | |
type: string | |
description: Instance configuration (see doc/instances.md) | |
example: | |
security.nesting: "true" | |
type: object | |
x-go-name: Config | |
created_at: | |
description: Instance creation timestamp | |
example: "2021-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: CreatedAt | |
devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: Instance devices (see doc/instances.md) | |
example: | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: Devices | |
ephemeral: | |
description: Whether the instance is ephemeral (deleted on shutdown) | |
example: false | |
type: boolean | |
x-go-name: Ephemeral | |
expanded_config: | |
additionalProperties: | |
type: string | |
description: Expanded configuration (all profiles and local config merged) | |
example: | |
security.nesting: "true" | |
type: object | |
x-go-name: ExpandedConfig | |
expanded_devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: Expanded devices (all profiles and local devices merged) | |
example: | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: ExpandedDevices | |
expires_at: | |
description: When the snapshot expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
last_used_at: | |
description: Last start timestamp | |
example: "2021-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: LastUsedAt | |
name: | |
description: Snapshot name | |
example: foo | |
type: string | |
x-go-name: Name | |
profiles: | |
description: List of profiles applied to the instance | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
x-go-name: Profiles | |
size: | |
description: Size of the snapshot in bytes | |
example: 143360 | |
format: int64 | |
type: integer | |
x-go-name: Size | |
stateful: | |
description: Whether the instance currently has saved state on disk | |
example: false | |
type: boolean | |
x-go-name: Stateful | |
title: InstanceSnapshot represents a LXD instance snapshot. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceSnapshotPost: | |
properties: | |
live: | |
description: Whether to perform a live migration (requires migration) | |
example: false | |
type: boolean | |
x-go-name: Live | |
migration: | |
description: Whether this is a migration request | |
example: false | |
type: boolean | |
x-go-name: Migration | |
name: | |
description: New name for the snapshot | |
example: foo | |
type: string | |
x-go-name: Name | |
target: | |
$ref: '#/definitions/InstancePostTarget' | |
title: InstanceSnapshotPost represents the fields required to rename/move a LXD instance snapshot. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceSnapshotPut: | |
properties: | |
expires_at: | |
description: When the snapshot expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
title: InstanceSnapshotPut represents the modifiable fields of a LXD instance snapshot. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceSnapshotsPost: | |
properties: | |
expires_at: | |
description: When the snapshot expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
name: | |
description: Snapshot name | |
example: snap0 | |
type: string | |
x-go-name: Name | |
stateful: | |
description: Whether the snapshot should include runtime state | |
example: false | |
type: boolean | |
x-go-name: Stateful | |
title: InstanceSnapshotsPost represents the fields available for a new LXD instance snapshot. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceSource: | |
properties: | |
alias: | |
description: Image alias name (for image source) | |
example: ubuntu/22.04 | |
type: string | |
x-go-name: Alias | |
allow_inconsistent: | |
description: Whether to ignore errors when copying (e.g. for volatile files) | |
example: false | |
type: boolean | |
x-go-name: AllowInconsistent | |
base-image: | |
description: Base image fingerprint (for faster migration) | |
example: ed56997f7c5b48e8d78986d2467a26109be6fb9f2d92e8c7b08eb8b6cec7629a | |
type: string | |
x-go-name: BaseImage | |
certificate: | |
description: Certificate (for remote images or migration) | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
container_only: | |
description: Whether the copy should skip the snapshots (for copy, deprecated, use instance_only) | |
example: false | |
type: boolean | |
x-go-name: ContainerOnly | |
fingerprint: | |
description: Image fingerprint (for image source) | |
example: ed56997f7c5b48e8d78986d2467a26109be6fb9f2d92e8c7b08eb8b6cec7629a | |
type: string | |
x-go-name: Fingerprint | |
instance_only: | |
description: Whether the copy should skip the snapshots (for copy) | |
example: false | |
type: boolean | |
x-go-name: InstanceOnly | |
live: | |
description: Whether this is a live migration (for migration) | |
example: false | |
type: boolean | |
x-go-name: Live | |
mode: | |
description: Whether to use pull or push mode (for migration) | |
example: pull | |
type: string | |
x-go-name: Mode | |
operation: | |
description: Remote operation URL (for migration) | |
example: https://1.2.3.4:8443/1.0/operations/1721ae08-b6a8-416a-9614-3f89302466e1 | |
type: string | |
x-go-name: Operation | |
project: | |
description: Source project name (for copy and local image) | |
example: blah | |
type: string | |
x-go-name: Project | |
properties: | |
additionalProperties: | |
type: string | |
description: Image filters (for image source) | |
example: | |
os: Ubuntu | |
release: jammy | |
variant: cloud | |
type: object | |
x-go-name: Properties | |
protocol: | |
description: Protocol name (for remote image) | |
example: simplestreams | |
type: string | |
x-go-name: Protocol | |
refresh: | |
description: Whether this is refreshing an existing instance (for migration and copy) | |
example: false | |
type: boolean | |
x-go-name: Refresh | |
secret: | |
description: Remote server secret (for remote private images) | |
example: RANDOM-STRING | |
type: string | |
x-go-name: Secret | |
secrets: | |
additionalProperties: | |
type: string | |
description: Map of migration websockets (for migration) | |
example: | |
criu: RANDOM-STRING | |
rsync: RANDOM-STRING | |
type: object | |
x-go-name: Websockets | |
server: | |
description: Remote server URL (for remote images) | |
example: https://images.linuxcontainers.org | |
type: string | |
x-go-name: Server | |
source: | |
description: Existing instance name or snapshot (for copy) | |
example: foo/snap0 | |
type: string | |
x-go-name: Source | |
type: | |
description: Source type | |
example: image | |
type: string | |
x-go-name: Type | |
title: InstanceSource represents the creation source for a new instance. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceState: | |
properties: | |
cpu: | |
$ref: '#/definitions/InstanceStateCPU' | |
disk: | |
additionalProperties: | |
$ref: '#/definitions/InstanceStateDisk' | |
description: Disk usage key/value pairs | |
type: object | |
x-go-name: Disk | |
memory: | |
$ref: '#/definitions/InstanceStateMemory' | |
network: | |
additionalProperties: | |
$ref: '#/definitions/InstanceStateNetwork' | |
description: Network usage key/value pairs | |
type: object | |
x-go-name: Network | |
pid: | |
description: PID of the runtime | |
example: 7281 | |
format: int64 | |
type: integer | |
x-go-name: Pid | |
processes: | |
description: Number of processes in the instance | |
example: 50 | |
format: int64 | |
type: integer | |
x-go-name: Processes | |
status: | |
description: Current status (Running, Stopped, Frozen or Error) | |
example: Running | |
type: string | |
x-go-name: Status | |
status_code: | |
$ref: '#/definitions/StatusCode' | |
title: InstanceState represents a LXD instance's state. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceStateCPU: | |
properties: | |
usage: | |
description: CPU usage in nanoseconds | |
example: 3637691016 | |
format: int64 | |
type: integer | |
x-go-name: Usage | |
title: InstanceStateCPU represents the cpu information section of a LXD instance's state. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceStateDisk: | |
properties: | |
total: | |
description: Total size in bytes | |
example: 502239232 | |
format: int64 | |
type: integer | |
x-go-name: Total | |
usage: | |
description: Disk usage in bytes | |
example: 502239232 | |
format: int64 | |
type: integer | |
x-go-name: Usage | |
title: InstanceStateDisk represents the disk information section of a LXD instance's state. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceStateMemory: | |
properties: | |
swap_usage: | |
description: SWAP usage in bytes | |
example: 12297557 | |
format: int64 | |
type: integer | |
x-go-name: SwapUsage | |
swap_usage_peak: | |
description: Peak SWAP usage in bytes | |
example: 12297557 | |
format: int64 | |
type: integer | |
x-go-name: SwapUsagePeak | |
total: | |
description: Total memory size in bytes | |
example: 12297557 | |
format: int64 | |
type: integer | |
x-go-name: Total | |
usage: | |
description: Memory usage in bytes | |
example: 73248768 | |
format: int64 | |
type: integer | |
x-go-name: Usage | |
usage_peak: | |
description: Peak memory usage in bytes | |
example: 73785344 | |
format: int64 | |
type: integer | |
x-go-name: UsagePeak | |
title: InstanceStateMemory represents the memory information section of a LXD instance's state. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceStateNetwork: | |
properties: | |
addresses: | |
description: List of IP addresses | |
items: | |
$ref: '#/definitions/InstanceStateNetworkAddress' | |
type: array | |
x-go-name: Addresses | |
counters: | |
$ref: '#/definitions/InstanceStateNetworkCounters' | |
host_name: | |
description: Name of the interface on the host | |
example: vethbbcd39c7 | |
type: string | |
x-go-name: HostName | |
hwaddr: | |
description: MAC address | |
example: 00:16:3e:0c:ee:dd | |
type: string | |
x-go-name: Hwaddr | |
mtu: | |
description: MTU (maximum transmit unit) for the interface | |
example: 1500 | |
format: int64 | |
type: integer | |
x-go-name: Mtu | |
state: | |
description: Administrative state of the interface (up/down) | |
example: up | |
type: string | |
x-go-name: State | |
type: | |
description: Type of interface (broadcast, loopback, point-to-point, ...) | |
example: broadcast | |
type: string | |
x-go-name: Type | |
title: InstanceStateNetwork represents the network information section of a LXD instance's state. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceStateNetworkAddress: | |
description: |- | |
InstanceStateNetworkAddress represents a network address as part of the network section of a LXD | |
instance's state. | |
properties: | |
address: | |
description: IP address | |
example: fd42:4c81:5770:1eaf:216:3eff:fe0c:eedd | |
type: string | |
x-go-name: Address | |
family: | |
description: Network family (inet or inet6) | |
example: inet6 | |
type: string | |
x-go-name: Family | |
netmask: | |
description: Network mask | |
example: "64" | |
type: string | |
x-go-name: Netmask | |
scope: | |
description: Address scope (local, link or global) | |
example: global | |
type: string | |
x-go-name: Scope | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceStateNetworkCounters: | |
description: |- | |
InstanceStateNetworkCounters represents packet counters as part of the network section of a LXD | |
instance's state. | |
properties: | |
bytes_received: | |
description: Number of bytes received | |
example: 192021 | |
format: int64 | |
type: integer | |
x-go-name: BytesReceived | |
bytes_sent: | |
description: Number of bytes sent | |
example: 10888579 | |
format: int64 | |
type: integer | |
x-go-name: BytesSent | |
errors_received: | |
description: Number of errors received | |
example: 14 | |
format: int64 | |
type: integer | |
x-go-name: ErrorsReceived | |
errors_sent: | |
description: Number of errors sent | |
example: 41 | |
format: int64 | |
type: integer | |
x-go-name: ErrorsSent | |
packets_dropped_inbound: | |
description: Number of inbound packets dropped | |
example: 179 | |
format: int64 | |
type: integer | |
x-go-name: PacketsDroppedInbound | |
packets_dropped_outbound: | |
description: Number of outbound packets dropped | |
example: 541 | |
format: int64 | |
type: integer | |
x-go-name: PacketsDroppedOutbound | |
packets_received: | |
description: Number of packets received | |
example: 1748 | |
format: int64 | |
type: integer | |
x-go-name: PacketsReceived | |
packets_sent: | |
description: Number of packets sent | |
example: 964 | |
format: int64 | |
type: integer | |
x-go-name: PacketsSent | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceStatePut: | |
properties: | |
action: | |
description: State change action (start, stop, restart, freeze, unfreeze) | |
example: start | |
type: string | |
x-go-name: Action | |
force: | |
description: Whether to force the action (for stop and restart) | |
example: false | |
type: boolean | |
x-go-name: Force | |
stateful: | |
description: Whether to store the runtime state (for stop) | |
example: false | |
type: boolean | |
x-go-name: Stateful | |
timeout: | |
description: How long to wait (in s) before giving up (when force isn't set) | |
example: 30 | |
format: int64 | |
type: integer | |
x-go-name: Timeout | |
title: InstanceStatePut represents the modifiable fields of a LXD instance's state. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstanceType: | |
title: InstanceType represents the type if instance being returned or requested via the API. | |
type: string | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstancesPost: | |
properties: | |
architecture: | |
description: Architecture name | |
example: x86_64 | |
type: string | |
x-go-name: Architecture | |
config: | |
additionalProperties: | |
type: string | |
description: Instance configuration (see doc/instances.md) | |
example: | |
security.nesting: "true" | |
type: object | |
x-go-name: Config | |
description: | |
description: Instance description | |
example: My test instance | |
type: string | |
x-go-name: Description | |
devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: Instance devices (see doc/instances.md) | |
example: | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: Devices | |
ephemeral: | |
description: Whether the instance is ephemeral (deleted on shutdown) | |
example: false | |
type: boolean | |
x-go-name: Ephemeral | |
instance_type: | |
description: Cloud instance type (AWS, GCP, Azure, ...) to emulate with limits | |
example: t1.micro | |
type: string | |
x-go-name: InstanceType | |
name: | |
description: Instance name | |
example: foo | |
type: string | |
x-go-name: Name | |
profiles: | |
description: List of profiles applied to the instance | |
example: | |
- default | |
items: | |
type: string | |
type: array | |
x-go-name: Profiles | |
restore: | |
description: If set, instance will be restored to the provided snapshot name | |
example: snap0 | |
type: string | |
x-go-name: Restore | |
source: | |
$ref: '#/definitions/InstanceSource' | |
stateful: | |
description: Whether the instance currently has saved state on disk | |
example: false | |
type: boolean | |
x-go-name: Stateful | |
type: | |
$ref: '#/definitions/InstanceType' | |
title: InstancesPost represents the fields available for a new LXD instance. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
InstancesPut: | |
properties: | |
state: | |
$ref: '#/definitions/InstanceStatePut' | |
title: InstancesPut represents the fields available for a mass update. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Network: | |
description: Network represents a LXD network | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Network configuration map (refer to doc/networks.md) | |
example: | |
ipv4.address: 10.0.0.1/24 | |
ipv4.nat: "true" | |
ipv6.address: none | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the profile | |
example: My new LXD bridge | |
type: string | |
x-go-name: Description | |
locations: | |
description: Cluster members on which the network has been defined | |
example: | |
- lxd01 | |
- lxd02 | |
- lxd03 | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: Locations | |
managed: | |
description: Whether this is a LXD managed network | |
example: true | |
readOnly: true | |
type: boolean | |
x-go-name: Managed | |
name: | |
description: The network name | |
example: lxdbr0 | |
readOnly: true | |
type: string | |
x-go-name: Name | |
status: | |
description: The state of the network (for managed network in clusters) | |
example: Created | |
readOnly: true | |
type: string | |
x-go-name: Status | |
type: | |
description: The network type | |
example: bridge | |
readOnly: true | |
type: string | |
x-go-name: Type | |
used_by: | |
description: List of URLs of objects using this profile | |
example: | |
- /1.0/profiles/default | |
- /1.0/instances/c1 | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: UsedBy | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkACL: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: ACL configuration map (refer to doc/network-acls.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the ACL | |
example: Web servers | |
type: string | |
x-go-name: Description | |
egress: | |
description: List of egress rules (order independent) | |
items: | |
$ref: '#/definitions/NetworkACLRule' | |
type: array | |
x-go-name: Egress | |
ingress: | |
description: List of ingress rules (order independent) | |
items: | |
$ref: '#/definitions/NetworkACLRule' | |
type: array | |
x-go-name: Ingress | |
name: | |
description: The new name for the ACL | |
example: bar | |
type: string | |
x-go-name: Name | |
used_by: | |
description: List of URLs of objects using this profile | |
example: | |
- /1.0/instances/c1 | |
- /1.0/instances/v1 | |
- /1.0/networks/lxdbr0 | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: UsedBy | |
title: NetworkACL used for displaying an ACL. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkACLPost: | |
properties: | |
name: | |
description: The new name for the ACL | |
example: bar | |
type: string | |
x-go-name: Name | |
title: NetworkACLPost used for renaming an ACL. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkACLPut: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: ACL configuration map (refer to doc/network-acls.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the ACL | |
example: Web servers | |
type: string | |
x-go-name: Description | |
egress: | |
description: List of egress rules (order independent) | |
items: | |
$ref: '#/definitions/NetworkACLRule' | |
type: array | |
x-go-name: Egress | |
ingress: | |
description: List of ingress rules (order independent) | |
items: | |
$ref: '#/definitions/NetworkACLRule' | |
type: array | |
x-go-name: Ingress | |
title: NetworkACLPut used for updating an ACL. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkACLRule: | |
description: Refer to doc/network-acls.md for details. | |
properties: | |
action: | |
description: Action to perform on rule match | |
example: allow | |
type: string | |
x-go-name: Action | |
description: | |
description: Description of the rule | |
example: Allow DNS queries to Google DNS | |
type: string | |
x-go-name: Description | |
destination: | |
description: Destination address | |
example: 8.8.8.8/32,8.8.4.4/32 | |
type: string | |
x-go-name: Destination | |
destination_port: | |
description: Destination port | |
example: "53" | |
type: string | |
x-go-name: DestinationPort | |
icmp_code: | |
description: ICMP message code (for ICMP protocol) | |
example: "0" | |
type: string | |
x-go-name: ICMPCode | |
icmp_type: | |
description: Type of ICMP message (for ICMP protocol) | |
example: "8" | |
type: string | |
x-go-name: ICMPType | |
protocol: | |
description: Protocol | |
example: udp | |
type: string | |
x-go-name: Protocol | |
source: | |
description: Source address | |
example: '@internal' | |
type: string | |
x-go-name: Source | |
source_port: | |
description: Source port | |
example: "1234" | |
type: string | |
x-go-name: SourcePort | |
state: | |
description: State of the rule | |
example: enabled | |
type: string | |
x-go-name: State | |
title: NetworkACLRule represents a single rule in an ACL ruleset. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkACLsPost: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: ACL configuration map (refer to doc/network-acls.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the ACL | |
example: Web servers | |
type: string | |
x-go-name: Description | |
egress: | |
description: List of egress rules (order independent) | |
items: | |
$ref: '#/definitions/NetworkACLRule' | |
type: array | |
x-go-name: Egress | |
ingress: | |
description: List of ingress rules (order independent) | |
items: | |
$ref: '#/definitions/NetworkACLRule' | |
type: array | |
x-go-name: Ingress | |
name: | |
description: The new name for the ACL | |
example: bar | |
type: string | |
x-go-name: Name | |
title: NetworkACLsPost used for creating an ACL. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkAllocations: | |
description: |- | |
NetworkAllocations used for displaying network addresses used by a consuming entity | |
e.g, instance, network forward, load-balancer, network... | |
properties: | |
addresses: | |
description: The network address of the allocation (in CIDR format) | |
example: 192.0.2.1/24 | |
type: string | |
x-go-name: Address | |
hwaddr: | |
description: Hwaddr is the MAC address of the entity consuming the network address | |
type: string | |
x-go-name: Hwaddr | |
nat: | |
description: Whether the entity comes from a network that LXD performs egress source NAT on | |
type: boolean | |
x-go-name: NAT | |
type: | |
description: Type of the entity consuming the network address | |
type: string | |
x-go-name: Type | |
used_by: | |
description: Name of the entity consuming the network address | |
type: string | |
x-go-name: UsedBy | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkForward: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Forward configuration map (refer to doc/network-forwards.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the forward listen IP | |
example: My public IP forward | |
type: string | |
x-go-name: Description | |
listen_address: | |
description: The listen address of the forward | |
example: 192.0.2.1 | |
type: string | |
x-go-name: ListenAddress | |
location: | |
description: What cluster member this record was found on | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
ports: | |
description: Port forwards (optional) | |
items: | |
$ref: '#/definitions/NetworkForwardPort' | |
type: array | |
x-go-name: Ports | |
title: NetworkForward used for displaying an network address forward. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkForwardPort: | |
description: NetworkForwardPort represents a port specification in a network address forward | |
properties: | |
description: | |
description: Description of the forward port | |
example: My web server forward | |
type: string | |
x-go-name: Description | |
listen_port: | |
description: ListenPort(s) to forward (comma delimited ranges) | |
example: 80,81,8080-8090 | |
type: string | |
x-go-name: ListenPort | |
protocol: | |
description: Protocol for port forward (either tcp or udp) | |
example: tcp | |
type: string | |
x-go-name: Protocol | |
target_address: | |
description: TargetAddress to forward ListenPorts to | |
example: 198.51.100.2 | |
type: string | |
x-go-name: TargetAddress | |
target_port: | |
description: TargetPort(s) to forward ListenPorts to (allows for many-to-one) | |
example: 80,81,8080-8090 | |
type: string | |
x-go-name: TargetPort | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkForwardPut: | |
description: NetworkForwardPut represents the modifiable fields of a LXD network address forward | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Forward configuration map (refer to doc/network-forwards.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the forward listen IP | |
example: My public IP forward | |
type: string | |
x-go-name: Description | |
ports: | |
description: Port forwards (optional) | |
items: | |
$ref: '#/definitions/NetworkForwardPort' | |
type: array | |
x-go-name: Ports | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkForwardsPost: | |
description: NetworkForwardsPost represents the fields of a new LXD network address forward | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Forward configuration map (refer to doc/network-forwards.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the forward listen IP | |
example: My public IP forward | |
type: string | |
x-go-name: Description | |
listen_address: | |
description: The listen address of the forward | |
example: 192.0.2.1 | |
type: string | |
x-go-name: ListenAddress | |
ports: | |
description: Port forwards (optional) | |
items: | |
$ref: '#/definitions/NetworkForwardPort' | |
type: array | |
x-go-name: Ports | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkLease: | |
description: NetworkLease represents a DHCP lease | |
properties: | |
address: | |
description: The IP address | |
example: 10.0.0.98 | |
type: string | |
x-go-name: Address | |
hostname: | |
description: The hostname associated with the record | |
example: c1 | |
type: string | |
x-go-name: Hostname | |
hwaddr: | |
description: The MAC address | |
example: 00:16:3e:2c:89:d9 | |
type: string | |
x-go-name: Hwaddr | |
location: | |
description: What cluster member this record was found on | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
type: | |
description: The type of record (static or dynamic) | |
example: dynamic | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkLoadBalancer: | |
description: NetworkLoadBalancer used for displaying a network load balancer | |
properties: | |
backends: | |
description: Backends (optional) | |
items: | |
$ref: '#/definitions/NetworkLoadBalancerBackend' | |
type: array | |
x-go-name: Backends | |
config: | |
additionalProperties: | |
type: string | |
description: Load balancer configuration map (refer to doc/network-load-balancers.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the load balancer listen IP | |
example: My public IP load balancer | |
type: string | |
x-go-name: Description | |
listen_address: | |
description: The listen address of the load balancer | |
example: 192.0.2.1 | |
type: string | |
x-go-name: ListenAddress | |
location: | |
description: What cluster member this record was found on | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
ports: | |
description: Port forwards (optional) | |
items: | |
$ref: '#/definitions/NetworkLoadBalancerPort' | |
type: array | |
x-go-name: Ports | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkLoadBalancerBackend: | |
description: NetworkLoadBalancerBackend represents a target backend specification in a network load balancer | |
properties: | |
description: | |
description: Description of the load balancer backend | |
example: C1 webserver | |
type: string | |
x-go-name: Description | |
name: | |
description: Name of the load balancer backend | |
example: c1-http | |
type: string | |
x-go-name: Name | |
target_address: | |
description: TargetAddress to forward ListenPorts to | |
example: 198.51.100.2 | |
type: string | |
x-go-name: TargetAddress | |
target_port: | |
description: TargetPort(s) to forward ListenPorts to (allows for many-to-one) | |
example: 80,81,8080-8090 | |
type: string | |
x-go-name: TargetPort | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkLoadBalancerPort: | |
description: NetworkLoadBalancerPort represents a port specification in a network load balancer | |
properties: | |
description: | |
description: Description of the load balancer port | |
example: My web server load balancer | |
type: string | |
x-go-name: Description | |
listen_port: | |
description: ListenPort(s) of load balancer (comma delimited ranges) | |
example: 80,81,8080-8090 | |
type: string | |
x-go-name: ListenPort | |
protocol: | |
description: Protocol for load balancer port (either tcp or udp) | |
example: tcp | |
type: string | |
x-go-name: Protocol | |
target_backend: | |
description: TargetBackend backend names to load balance ListenPorts to | |
example: | |
- c1-http | |
- c2-http | |
items: | |
type: string | |
type: array | |
x-go-name: TargetBackend | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkLoadBalancerPut: | |
description: NetworkLoadBalancerPut represents the modifiable fields of a LXD network load balancer | |
properties: | |
backends: | |
description: Backends (optional) | |
items: | |
$ref: '#/definitions/NetworkLoadBalancerBackend' | |
type: array | |
x-go-name: Backends | |
config: | |
additionalProperties: | |
type: string | |
description: Load balancer configuration map (refer to doc/network-load-balancers.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the load balancer listen IP | |
example: My public IP load balancer | |
type: string | |
x-go-name: Description | |
ports: | |
description: Port forwards (optional) | |
items: | |
$ref: '#/definitions/NetworkLoadBalancerPort' | |
type: array | |
x-go-name: Ports | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkLoadBalancersPost: | |
description: NetworkLoadBalancersPost represents the fields of a new LXD network load balancer | |
properties: | |
backends: | |
description: Backends (optional) | |
items: | |
$ref: '#/definitions/NetworkLoadBalancerBackend' | |
type: array | |
x-go-name: Backends | |
config: | |
additionalProperties: | |
type: string | |
description: Load balancer configuration map (refer to doc/network-load-balancers.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the load balancer listen IP | |
example: My public IP load balancer | |
type: string | |
x-go-name: Description | |
listen_address: | |
description: The listen address of the load balancer | |
example: 192.0.2.1 | |
type: string | |
x-go-name: ListenAddress | |
ports: | |
description: Port forwards (optional) | |
items: | |
$ref: '#/definitions/NetworkLoadBalancerPort' | |
type: array | |
x-go-name: Ports | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkPeer: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Peer configuration map (refer to doc/network-peers.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the peer | |
example: Peering with network1 in project1 | |
type: string | |
x-go-name: Description | |
name: | |
description: Name of the peer | |
example: project1-network1 | |
readOnly: true | |
type: string | |
x-go-name: Name | |
status: | |
description: The state of the peering | |
example: Pending | |
readOnly: true | |
type: string | |
x-go-name: Status | |
target_network: | |
description: Name of the target network | |
example: network1 | |
readOnly: true | |
type: string | |
x-go-name: TargetNetwork | |
target_project: | |
description: Name of the target project | |
example: project1 | |
readOnly: true | |
type: string | |
x-go-name: TargetProject | |
used_by: | |
description: List of URLs of objects using this network peering | |
example: | |
- /1.0/network-acls/test | |
- /1.0/network-acls/foo | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: UsedBy | |
title: NetworkPeer used for displaying a LXD network peering. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkPeerPut: | |
description: NetworkPeerPut represents the modifiable fields of a LXD network peering | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Peer configuration map (refer to doc/network-peers.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the peer | |
example: Peering with network1 in project1 | |
type: string | |
x-go-name: Description | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkPeersPost: | |
description: NetworkPeersPost represents the fields of a new LXD network peering | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Peer configuration map (refer to doc/network-peers.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the peer | |
example: Peering with network1 in project1 | |
type: string | |
x-go-name: Description | |
name: | |
description: Name of the peer | |
example: project1-network1 | |
type: string | |
x-go-name: Name | |
target_network: | |
description: Name of the target network | |
example: network1 | |
type: string | |
x-go-name: TargetNetwork | |
target_project: | |
description: Name of the target project | |
example: project1 | |
type: string | |
x-go-name: TargetProject | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkPost: | |
description: NetworkPost represents the fields required to rename a LXD network | |
properties: | |
name: | |
description: The new name for the network | |
example: lxdbr1 | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkPut: | |
description: NetworkPut represents the modifiable fields of a LXD network | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Network configuration map (refer to doc/networks.md) | |
example: | |
ipv4.address: 10.0.0.1/24 | |
ipv4.nat: "true" | |
ipv6.address: none | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the profile | |
example: My new LXD bridge | |
type: string | |
x-go-name: Description | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkState: | |
description: NetworkState represents the network state | |
properties: | |
addresses: | |
description: List of addresses | |
items: | |
$ref: '#/definitions/NetworkStateAddress' | |
type: array | |
x-go-name: Addresses | |
bond: | |
$ref: '#/definitions/NetworkStateBond' | |
bridge: | |
$ref: '#/definitions/NetworkStateBridge' | |
counters: | |
$ref: '#/definitions/NetworkStateCounters' | |
hwaddr: | |
description: MAC address | |
example: 00:16:3e:5a:83:57 | |
type: string | |
x-go-name: Hwaddr | |
mtu: | |
description: MTU | |
example: 1500 | |
format: int64 | |
type: integer | |
x-go-name: Mtu | |
ovn: | |
$ref: '#/definitions/NetworkStateOVN' | |
state: | |
description: Link state | |
example: up | |
type: string | |
x-go-name: State | |
type: | |
description: Interface type | |
example: broadcast | |
type: string | |
x-go-name: Type | |
vlan: | |
$ref: '#/definitions/NetworkStateVLAN' | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkStateAddress: | |
description: NetworkStateAddress represents a network address | |
properties: | |
address: | |
description: IP address | |
example: 10.0.0.1 | |
type: string | |
x-go-name: Address | |
family: | |
description: Address family | |
example: inet | |
type: string | |
x-go-name: Family | |
netmask: | |
description: IP netmask (CIDR) | |
example: "24" | |
type: string | |
x-go-name: Netmask | |
scope: | |
description: Address scope | |
example: global | |
type: string | |
x-go-name: Scope | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkStateBond: | |
description: NetworkStateBond represents bond specific state | |
properties: | |
down_delay: | |
description: Delay on link down (ms) | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: DownDelay | |
lower_devices: | |
description: List of devices that are part of the bond | |
example: | |
- eth0 | |
- eth1 | |
items: | |
type: string | |
type: array | |
x-go-name: LowerDevices | |
mii_frequency: | |
description: How often to check for link state (ms) | |
example: 100 | |
format: uint64 | |
type: integer | |
x-go-name: MIIFrequency | |
mii_state: | |
description: Bond link state | |
example: up | |
type: string | |
x-go-name: MIIState | |
mode: | |
description: Bonding mode | |
example: 802.3ad | |
type: string | |
x-go-name: Mode | |
transmit_policy: | |
description: Transmit balancing policy | |
example: layer3+4 | |
type: string | |
x-go-name: TransmitPolicy | |
up_delay: | |
description: Delay on link up (ms) | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: UpDelay | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkStateBridge: | |
description: NetworkStateBridge represents bridge specific state | |
properties: | |
forward_delay: | |
description: Delay on port join (ms) | |
example: 1500 | |
format: uint64 | |
type: integer | |
x-go-name: ForwardDelay | |
id: | |
description: Bridge ID | |
example: 8000.0a0f7c6edbd9 | |
type: string | |
x-go-name: ID | |
stp: | |
description: Whether STP is enabled | |
example: false | |
type: boolean | |
x-go-name: STP | |
upper_devices: | |
description: List of devices that are in the bridge | |
example: | |
- eth0 | |
- eth1 | |
items: | |
type: string | |
type: array | |
x-go-name: UpperDevices | |
vlan_default: | |
description: Default VLAN ID | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: VLANDefault | |
vlan_filtering: | |
description: Whether VLAN filtering is enabled | |
example: false | |
type: boolean | |
x-go-name: VLANFiltering | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkStateCounters: | |
description: NetworkStateCounters represents packet counters | |
properties: | |
bytes_received: | |
description: Number of bytes received | |
example: 250542118 | |
format: int64 | |
type: integer | |
x-go-name: BytesReceived | |
bytes_sent: | |
description: Number of bytes sent | |
example: 17524040140 | |
format: int64 | |
type: integer | |
x-go-name: BytesSent | |
packets_received: | |
description: Number of packets received | |
example: 1182515 | |
format: int64 | |
type: integer | |
x-go-name: PacketsReceived | |
packets_sent: | |
description: Number of packets sent | |
example: 1567934 | |
format: int64 | |
type: integer | |
x-go-name: PacketsSent | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkStateOVN: | |
description: NetworkStateOVN represents OVN specific state | |
properties: | |
chassis: | |
description: OVN network chassis name | |
type: string | |
x-go-name: Chassis | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkStateVLAN: | |
description: NetworkStateVLAN represents VLAN specific state | |
properties: | |
lower_device: | |
description: Parent device | |
example: eth0 | |
type: string | |
x-go-name: LowerDevice | |
vid: | |
description: VLAN ID | |
example: 100 | |
format: uint64 | |
type: integer | |
x-go-name: VID | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkZone: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Zone configuration map (refer to doc/network-zones.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the network zone | |
example: Internal domain | |
type: string | |
x-go-name: Description | |
name: | |
description: The name of the zone (DNS domain name) | |
example: example.net | |
type: string | |
x-go-name: Name | |
used_by: | |
description: List of URLs of objects using this network zone | |
example: | |
- /1.0/networks/foo | |
- /1.0/networks/bar | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: UsedBy | |
title: NetworkZone represents a network zone (DNS). | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkZonePut: | |
description: NetworkZonePut represents the modifiable fields of a LXD network zone | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Zone configuration map (refer to doc/network-zones.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the network zone | |
example: Internal domain | |
type: string | |
x-go-name: Description | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkZoneRecord: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Advanced configuration for the record | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the record | |
example: SPF record | |
type: string | |
x-go-name: Description | |
entries: | |
description: Entries in the record | |
items: | |
$ref: '#/definitions/NetworkZoneRecordEntry' | |
type: array | |
x-go-name: Entries | |
name: | |
description: The name of the record | |
example: '@' | |
type: string | |
x-go-name: Name | |
title: NetworkZoneRecord represents a network zone (DNS) record. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkZoneRecordEntry: | |
description: NetworkZoneRecordEntry represents the fields in a record entry | |
properties: | |
ttl: | |
description: TTL for the entry | |
example: 3600 | |
format: uint64 | |
type: integer | |
x-go-name: TTL | |
type: | |
description: Type of DNS entry | |
example: TXT | |
type: string | |
x-go-name: Type | |
value: | |
description: Value for the record | |
example: v=spf1 mx ~all | |
type: string | |
x-go-name: Value | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkZoneRecordPut: | |
description: NetworkZoneRecordPut represents the modifiable fields of a LXD network zone record | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Advanced configuration for the record | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the record | |
example: SPF record | |
type: string | |
x-go-name: Description | |
entries: | |
description: Entries in the record | |
items: | |
$ref: '#/definitions/NetworkZoneRecordEntry' | |
type: array | |
x-go-name: Entries | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkZoneRecordsPost: | |
description: NetworkZoneRecordsPost represents the fields of a new LXD network zone record | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Advanced configuration for the record | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the record | |
example: SPF record | |
type: string | |
x-go-name: Description | |
entries: | |
description: Entries in the record | |
items: | |
$ref: '#/definitions/NetworkZoneRecordEntry' | |
type: array | |
x-go-name: Entries | |
name: | |
description: The record name in the zone | |
example: '@' | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworkZonesPost: | |
description: NetworkZonesPost represents the fields of a new LXD network zone | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Zone configuration map (refer to doc/network-zones.md) | |
example: | |
user.mykey: foo | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the network zone | |
example: Internal domain | |
type: string | |
x-go-name: Description | |
name: | |
description: The name of the zone (DNS domain name) | |
example: example.net | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
NetworksPost: | |
description: NetworksPost represents the fields of a new LXD network | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Network configuration map (refer to doc/networks.md) | |
example: | |
ipv4.address: 10.0.0.1/24 | |
ipv4.nat: "true" | |
ipv6.address: none | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the profile | |
example: My new LXD bridge | |
type: string | |
x-go-name: Description | |
name: | |
description: The name of the new network | |
example: lxdbr1 | |
type: string | |
x-go-name: Name | |
type: | |
description: The network type (refer to doc/networks.md) | |
example: bridge | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Operation: | |
description: Operation represents a LXD background operation | |
properties: | |
class: | |
description: Type of operation (task, token or websocket) | |
example: websocket | |
type: string | |
x-go-name: Class | |
created_at: | |
description: Operation creation time | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: CreatedAt | |
description: | |
description: Description of the operation | |
example: Executing command | |
type: string | |
x-go-name: Description | |
err: | |
description: Operation error mesage | |
example: Some error message | |
type: string | |
x-go-name: Err | |
id: | |
description: UUID of the operation | |
example: 6916c8a6-9b7d-4abd-90b3-aedfec7ec7da | |
type: string | |
x-go-name: ID | |
location: | |
description: What cluster member this record was found on | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
may_cancel: | |
description: Whether the operation can be canceled | |
example: false | |
type: boolean | |
x-go-name: MayCancel | |
metadata: | |
additionalProperties: {} | |
description: Operation specific metadata | |
example: | |
command: | |
- bash | |
environment: | |
HOME: /root | |
LANG: C.UTF-8 | |
PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | |
TERM: xterm | |
USER: root | |
fds: | |
"0": da3046cf02c0116febf4ef3fe4eaecdf308e720c05e5a9c730ce1a6f15417f66 | |
"1": 05896879d8692607bd6e4a09475667da3b5f6714418ab0ee0e5720b4c57f754b | |
interactive: true | |
type: object | |
x-go-name: Metadata | |
resources: | |
additionalProperties: | |
items: | |
type: string | |
type: array | |
description: Affected resourcs | |
example: | |
containers: | |
- /1.0/containers/foo | |
instances: | |
- /1.0/instances/foo | |
type: object | |
x-go-name: Resources | |
status: | |
description: Status name | |
example: Running | |
type: string | |
x-go-name: Status | |
status_code: | |
$ref: '#/definitions/StatusCode' | |
updated_at: | |
description: Operation last change | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: UpdatedAt | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Permission: | |
properties: | |
entitlement: | |
description: Entitlement is the entitlement define for the entity type. | |
example: can_view | |
type: string | |
x-go-name: Entitlement | |
entity_type: | |
description: EntityType is the string representation of the entity type. | |
example: instance | |
type: string | |
x-go-name: EntityType | |
url: | |
description: EntityReference is the URL of the entity that the permission applies to. | |
example: /1.0/instances/c1?project=default | |
type: string | |
x-go-name: EntityReference | |
title: Permission represents a permission that may be granted to a group. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
PermissionFull: | |
properties: | |
entitlement: | |
description: Entitlement is the entitlement define for the entity type. | |
example: can_view | |
type: string | |
x-go-name: Entitlement | |
entity_type: | |
description: EntityType is the string representation of the entity type. | |
example: instance | |
type: string | |
x-go-name: EntityType | |
groups: | |
description: Groups is a list of groups that have the Entitlement on the Entity. | |
example: | |
- foo | |
- bar | |
items: | |
type: string | |
type: array | |
x-go-name: Groups | |
url: | |
description: EntityReference is the URL of the entity that the permission applies to. | |
example: /1.0/instances/c1?project=default | |
type: string | |
x-go-name: EntityReference | |
title: PermissionFull expands a Permission to include any groups that may have the specified Permission. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Profile: | |
description: Profile represents a LXD profile | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Instance configuration map (refer to doc/instances.md) | |
example: | |
limits.cpu: "4" | |
limits.memory: 4GiB | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the profile | |
example: Medium size instances | |
type: string | |
x-go-name: Description | |
devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: List of devices | |
example: | |
eth0: | |
name: eth0 | |
network: lxdbr0 | |
type: nic | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: Devices | |
name: | |
description: The profile name | |
example: foo | |
readOnly: true | |
type: string | |
x-go-name: Name | |
used_by: | |
description: List of URLs of objects using this profile | |
example: | |
- /1.0/instances/c1 | |
- /1.0/instances/v1 | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: UsedBy | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ProfilePost: | |
description: ProfilePost represents the fields required to rename a LXD profile | |
properties: | |
name: | |
description: The new name for the profile | |
example: bar | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ProfilePut: | |
description: ProfilePut represents the modifiable fields of a LXD profile | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Instance configuration map (refer to doc/instances.md) | |
example: | |
limits.cpu: "4" | |
limits.memory: 4GiB | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the profile | |
example: Medium size instances | |
type: string | |
x-go-name: Description | |
devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: List of devices | |
example: | |
eth0: | |
name: eth0 | |
network: lxdbr0 | |
type: nic | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: Devices | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ProfilesPost: | |
description: ProfilesPost represents the fields of a new LXD profile | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Instance configuration map (refer to doc/instances.md) | |
example: | |
limits.cpu: "4" | |
limits.memory: 4GiB | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the profile | |
example: Medium size instances | |
type: string | |
x-go-name: Description | |
devices: | |
additionalProperties: | |
additionalProperties: | |
type: string | |
type: object | |
description: List of devices | |
example: | |
eth0: | |
name: eth0 | |
network: lxdbr0 | |
type: nic | |
root: | |
path: / | |
pool: default | |
type: disk | |
type: object | |
x-go-name: Devices | |
name: | |
description: The name of the new profile | |
example: foo | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Project: | |
description: Project represents a LXD project | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Project configuration map (refer to doc/projects.md) | |
example: | |
features.networks: "false" | |
features.profiles: "true" | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the project | |
example: My new project | |
type: string | |
x-go-name: Description | |
name: | |
description: The project name | |
example: foo | |
readOnly: true | |
type: string | |
x-go-name: Name | |
used_by: | |
description: List of URLs of objects using this project | |
example: | |
- /1.0/images/0e60015346f06627f10580d56ac7fffd9ea775f6d4f25987217d5eed94910a20 | |
- /1.0/instances/c1 | |
- /1.0/networks/lxdbr0 | |
- /1.0/profiles/default | |
- /1.0/storage-pools/default/volumes/custom/blah | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: UsedBy | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ProjectPost: | |
description: ProjectPost represents the fields required to rename a LXD project | |
properties: | |
name: | |
description: The new name for the project | |
example: bar | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ProjectPut: | |
description: ProjectPut represents the modifiable fields of a LXD project | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Project configuration map (refer to doc/projects.md) | |
example: | |
features.networks: "false" | |
features.profiles: "true" | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the project | |
example: My new project | |
type: string | |
x-go-name: Description | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ProjectState: | |
description: ProjectState represents the current running state of a LXD project | |
properties: | |
resources: | |
additionalProperties: | |
$ref: '#/definitions/ProjectStateResource' | |
description: Allocated and used resources | |
example: | |
containers: | |
limit: 10 | |
usage: 4 | |
cpu: | |
limit: 20 | |
usage: 16 | |
readOnly: true | |
type: object | |
x-go-name: Resources | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ProjectStateResource: | |
description: ProjectStateResource represents the state of a particular resource in a LXD project | |
properties: | |
Limit: | |
description: Limit for the resource (-1 if none) | |
example: 10 | |
format: int64 | |
type: integer | |
Usage: | |
description: Current usage for the resource | |
example: 4 | |
format: int64 | |
type: integer | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ProjectsPost: | |
description: ProjectsPost represents the fields of a new LXD project | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Project configuration map (refer to doc/projects.md) | |
example: | |
features.networks: "false" | |
features.profiles: "true" | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the project | |
example: My new project | |
type: string | |
x-go-name: Description | |
name: | |
description: The name of the new project | |
example: foo | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Resources: | |
description: Resources represents the system resources available for LXD | |
properties: | |
cpu: | |
$ref: '#/definitions/ResourcesCPU' | |
gpu: | |
$ref: '#/definitions/ResourcesGPU' | |
memory: | |
$ref: '#/definitions/ResourcesMemory' | |
network: | |
$ref: '#/definitions/ResourcesNetwork' | |
pci: | |
$ref: '#/definitions/ResourcesPCI' | |
storage: | |
$ref: '#/definitions/ResourcesStorage' | |
system: | |
$ref: '#/definitions/ResourcesSystem' | |
usb: | |
$ref: '#/definitions/ResourcesUSB' | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesCPU: | |
description: ResourcesCPU represents the cpu resources available on the system | |
properties: | |
architecture: | |
description: Architecture name | |
example: x86_64 | |
type: string | |
x-go-name: Architecture | |
sockets: | |
description: List of CPU sockets | |
items: | |
$ref: '#/definitions/ResourcesCPUSocket' | |
type: array | |
x-go-name: Sockets | |
total: | |
description: Total number of CPU threads (from all sockets and cores) | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesCPUCache: | |
description: ResourcesCPUCache represents a CPU cache | |
properties: | |
level: | |
description: Cache level (usually a number from 1 to 3) | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: Level | |
size: | |
description: Size of the cache (in bytes) | |
example: 32768 | |
format: uint64 | |
type: integer | |
x-go-name: Size | |
type: | |
description: Type of cache (Data, Instruction, Unified, ...) | |
example: Data | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesCPUCore: | |
description: ResourcesCPUCore represents a CPU core on the system | |
properties: | |
core: | |
description: Core identifier within the socket | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: Core | |
die: | |
description: What die the CPU is a part of (for chiplet designs) | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: Die | |
frequency: | |
description: Current frequency | |
example: 3500 | |
format: uint64 | |
type: integer | |
x-go-name: Frequency | |
threads: | |
description: List of threads | |
items: | |
$ref: '#/definitions/ResourcesCPUThread' | |
type: array | |
x-go-name: Threads | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesCPUSocket: | |
description: ResourcesCPUSocket represents a CPU socket on the system | |
properties: | |
cache: | |
description: List of CPU caches | |
items: | |
$ref: '#/definitions/ResourcesCPUCache' | |
type: array | |
x-go-name: Cache | |
cores: | |
description: List of CPU cores | |
items: | |
$ref: '#/definitions/ResourcesCPUCore' | |
type: array | |
x-go-name: Cores | |
frequency: | |
description: Current CPU frequency (Mhz) | |
example: 3499 | |
format: uint64 | |
type: integer | |
x-go-name: Frequency | |
frequency_minimum: | |
description: Minimum CPU frequency (Mhz) | |
example: 400 | |
format: uint64 | |
type: integer | |
x-go-name: FrequencyMinimum | |
frequency_turbo: | |
description: Maximum CPU frequency (Mhz) | |
example: 3500 | |
format: uint64 | |
type: integer | |
x-go-name: FrequencyTurbo | |
name: | |
description: Product name | |
example: Intel(R) Core(TM) i5-7300U CPU @ 2.60GHz | |
type: string | |
x-go-name: Name | |
socket: | |
description: Socket number | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: Socket | |
vendor: | |
description: Vendor name | |
example: GenuineIntel | |
type: string | |
x-go-name: Vendor | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesCPUThread: | |
description: ResourcesCPUThread represents a CPU thread on the system | |
properties: | |
id: | |
description: Thread ID (used for CPU pinning) | |
example: 0 | |
format: int64 | |
type: integer | |
x-go-name: ID | |
isolated: | |
description: Whether the thread has been isolated (outside of normal scheduling) | |
example: false | |
type: boolean | |
x-go-name: Isolated | |
numa_node: | |
description: NUMA node the thread is a part of | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: NUMANode | |
online: | |
description: Whether the thread is online (enabled) | |
example: true | |
type: boolean | |
x-go-name: Online | |
thread: | |
description: Thread identifier within the core | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: Thread | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesGPU: | |
description: ResourcesGPU represents the GPU resources available on the system | |
properties: | |
cards: | |
description: List of GPUs | |
items: | |
$ref: '#/definitions/ResourcesGPUCard' | |
type: array | |
x-go-name: Cards | |
total: | |
description: Total number of GPUs | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesGPUCard: | |
description: ResourcesGPUCard represents a GPU card on the system | |
properties: | |
driver: | |
description: Kernel driver currently associated with the GPU | |
example: i915 | |
type: string | |
x-go-name: Driver | |
driver_version: | |
description: Version of the kernel driver | |
example: 5.8.0-36-generic | |
type: string | |
x-go-name: DriverVersion | |
drm: | |
$ref: '#/definitions/ResourcesGPUCardDRM' | |
mdev: | |
additionalProperties: | |
$ref: '#/definitions/ResourcesGPUCardMdev' | |
description: Map of available mediated device profiles | |
example: null | |
type: object | |
x-go-name: Mdev | |
numa_node: | |
description: NUMA node the GPU is a part of | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: NUMANode | |
nvidia: | |
$ref: '#/definitions/ResourcesGPUCardNvidia' | |
pci_address: | |
description: PCI address | |
example: "0000:00:02.0" | |
type: string | |
x-go-name: PCIAddress | |
product: | |
description: Name of the product | |
example: HD Graphics 620 | |
type: string | |
x-go-name: Product | |
product_id: | |
description: PCI ID of the product | |
example: "5916" | |
type: string | |
x-go-name: ProductID | |
sriov: | |
$ref: '#/definitions/ResourcesGPUCardSRIOV' | |
usb_address: | |
description: USB address (for USB cards) | |
example: "2:7" | |
type: string | |
x-go-name: USBAddress | |
vendor: | |
description: Name of the vendor | |
example: Intel Corporation | |
type: string | |
x-go-name: Vendor | |
vendor_id: | |
description: PCI ID of the vendor | |
example: "8086" | |
type: string | |
x-go-name: VendorID | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesGPUCardDRM: | |
description: ResourcesGPUCardDRM represents the Linux DRM configuration of the GPU | |
properties: | |
card_device: | |
description: Card device number | |
example: "226:0" | |
type: string | |
x-go-name: CardDevice | |
card_name: | |
description: Card device name | |
example: card0 | |
type: string | |
x-go-name: CardName | |
control_device: | |
description: Control device number | |
example: "226:0" | |
type: string | |
x-go-name: ControlDevice | |
control_name: | |
description: Control device name | |
example: controlD64 | |
type: string | |
x-go-name: ControlName | |
id: | |
description: DRM card ID | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: ID | |
render_device: | |
description: Render device number | |
example: 226:128 | |
type: string | |
x-go-name: RenderDevice | |
render_name: | |
description: Render device name | |
example: renderD128 | |
type: string | |
x-go-name: RenderName | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesGPUCardMdev: | |
description: ResourcesGPUCardMdev represents the mediated devices configuration of the GPU | |
properties: | |
api: | |
description: The mechanism used by this device | |
example: vfio-pci | |
type: string | |
x-go-name: API | |
available: | |
description: Number of available devices of this profile | |
example: 2 | |
format: uint64 | |
type: integer | |
x-go-name: Available | |
description: | |
description: Profile description | |
example: 'low_gm_size: 128MB\nhigh_gm_size: 512MB\nfence: 4\nresolution: 1920x1200\nweight: 4' | |
type: string | |
x-go-name: Description | |
devices: | |
description: List of active devices (UUIDs) | |
example: | |
- 42200aac-0977-495c-8c9e-6c51b9092a01 | |
- b4950c00-1437-41d9-88f6-28d61cf9b9ef | |
items: | |
type: string | |
type: array | |
x-go-name: Devices | |
name: | |
description: Profile name | |
example: i915-GVTg_V5_8 | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesGPUCardNvidia: | |
description: ResourcesGPUCardNvidia represents additional information for NVIDIA GPUs | |
properties: | |
architecture: | |
description: Architecture (generation) | |
example: "3.5" | |
type: string | |
x-go-name: Architecture | |
brand: | |
description: Brand name | |
example: GeForce | |
type: string | |
x-go-name: Brand | |
card_device: | |
description: Card device number | |
example: "195:0" | |
type: string | |
x-go-name: CardDevice | |
card_name: | |
description: Card device name | |
example: nvidia0 | |
type: string | |
x-go-name: CardName | |
cuda_version: | |
description: Version of the CUDA API | |
example: "11.0" | |
type: string | |
x-go-name: CUDAVersion | |
model: | |
description: Model name | |
example: GeForce GT 730 | |
type: string | |
x-go-name: Model | |
nvrm_version: | |
description: Version of the NVRM (usually driver version) | |
example: 450.102.04 | |
type: string | |
x-go-name: NVRMVersion | |
uuid: | |
description: GPU UUID | |
example: GPU-6ddadebd-dafe-2db9-f10f-125719770fd3 | |
type: string | |
x-go-name: UUID | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesGPUCardSRIOV: | |
description: ResourcesGPUCardSRIOV represents the SRIOV configuration of the GPU | |
properties: | |
current_vfs: | |
description: Number of VFs currently configured | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: CurrentVFs | |
maximum_vfs: | |
description: Maximum number of supported VFs | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: MaximumVFs | |
vfs: | |
description: List of VFs (as additional GPU devices) | |
example: null | |
items: | |
$ref: '#/definitions/ResourcesGPUCard' | |
type: array | |
x-go-name: VFs | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesMemory: | |
description: ResourcesMemory represents the memory resources available on the system | |
properties: | |
hugepages_size: | |
description: Size of memory huge pages (bytes) | |
example: 2097152 | |
format: uint64 | |
type: integer | |
x-go-name: HugepagesSize | |
hugepages_total: | |
description: Total of memory huge pages (bytes) | |
example: 429284917248 | |
format: uint64 | |
type: integer | |
x-go-name: HugepagesTotal | |
hugepages_used: | |
description: Used memory huge pages (bytes) | |
example: 429284917248 | |
format: uint64 | |
type: integer | |
x-go-name: HugepagesUsed | |
nodes: | |
description: List of NUMA memory nodes | |
example: null | |
items: | |
$ref: '#/definitions/ResourcesMemoryNode' | |
type: array | |
x-go-name: Nodes | |
total: | |
description: Total system memory (bytes) | |
example: 687194767360 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
used: | |
description: Used system memory (bytes) | |
example: 557450502144 | |
format: uint64 | |
type: integer | |
x-go-name: Used | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesMemoryNode: | |
description: ResourcesMemoryNode represents the node-specific memory resources available on the system | |
properties: | |
hugepages_total: | |
description: Total of memory huge pages (bytes) | |
example: 214536552448 | |
format: uint64 | |
type: integer | |
x-go-name: HugepagesTotal | |
hugepages_used: | |
description: Used memory huge pages (bytes) | |
example: 214536552448 | |
format: uint64 | |
type: integer | |
x-go-name: HugepagesUsed | |
numa_node: | |
description: NUMA node identifier | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: NUMANode | |
total: | |
description: Total system memory (bytes) | |
example: 343597383680 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
used: | |
description: Used system memory (bytes) | |
example: 264880439296 | |
format: uint64 | |
type: integer | |
x-go-name: Used | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesNetwork: | |
description: ResourcesNetwork represents the network cards available on the system | |
properties: | |
cards: | |
description: List of network cards | |
items: | |
$ref: '#/definitions/ResourcesNetworkCard' | |
type: array | |
x-go-name: Cards | |
total: | |
description: Total number of network cards | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesNetworkCard: | |
description: ResourcesNetworkCard represents a network card on the system | |
properties: | |
driver: | |
description: Kernel driver currently associated with the card | |
example: atlantic | |
type: string | |
x-go-name: Driver | |
driver_version: | |
description: Version of the kernel driver | |
example: 5.8.0-36-generic | |
type: string | |
x-go-name: DriverVersion | |
firmware_version: | |
description: Current firmware version | |
example: 3.1.100 | |
type: string | |
x-go-name: FirmwareVersion | |
numa_node: | |
description: NUMA node the card is a part of | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: NUMANode | |
pci_address: | |
description: PCI address (for PCI cards) | |
example: 0000:0d:00.0 | |
type: string | |
x-go-name: PCIAddress | |
ports: | |
description: List of ports on the card | |
items: | |
$ref: '#/definitions/ResourcesNetworkCardPort' | |
type: array | |
x-go-name: Ports | |
product: | |
description: Name of the product | |
example: AQC107 NBase-T/IEEE | |
type: string | |
x-go-name: Product | |
product_id: | |
description: PCI ID of the product | |
example: 87b1 | |
type: string | |
x-go-name: ProductID | |
sriov: | |
$ref: '#/definitions/ResourcesNetworkCardSRIOV' | |
usb_address: | |
description: USB address (for USB cards) | |
example: "2:7" | |
type: string | |
x-go-name: USBAddress | |
vdpa: | |
$ref: '#/definitions/ResourcesNetworkCardVDPA' | |
vendor: | |
description: Name of the vendor | |
example: Aquantia Corp. | |
type: string | |
x-go-name: Vendor | |
vendor_id: | |
description: PCI ID of the vendor | |
example: 1d6a | |
type: string | |
x-go-name: VendorID | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesNetworkCardPort: | |
description: ResourcesNetworkCardPort represents a network port on the system | |
properties: | |
address: | |
description: MAC address | |
example: 00:23:a4:01:01:6f | |
type: string | |
x-go-name: Address | |
auto_negotiation: | |
description: Whether auto negotiation is used | |
example: true | |
type: boolean | |
x-go-name: AutoNegotiation | |
id: | |
description: Port identifier (interface name) | |
example: eth0 | |
type: string | |
x-go-name: ID | |
infiniband: | |
$ref: '#/definitions/ResourcesNetworkCardPortInfiniband' | |
link_detected: | |
description: Whether a link was detected | |
example: true | |
type: boolean | |
x-go-name: LinkDetected | |
link_duplex: | |
description: Duplex type | |
example: full | |
type: string | |
x-go-name: LinkDuplex | |
link_speed: | |
description: Current speed (Mbit/s) | |
example: 10000 | |
format: uint64 | |
type: integer | |
x-go-name: LinkSpeed | |
port: | |
description: Port number | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: Port | |
port_type: | |
description: Current port type | |
example: twisted pair | |
type: string | |
x-go-name: PortType | |
protocol: | |
description: Transport protocol | |
example: ethernet | |
type: string | |
x-go-name: Protocol | |
supported_modes: | |
description: List of supported modes | |
example: | |
- 100baseT/Full | |
- 1000baseT/Full | |
- 2500baseT/Full | |
- 5000baseT/Full | |
- 10000baseT/Full | |
items: | |
type: string | |
type: array | |
x-go-name: SupportedModes | |
supported_ports: | |
description: List of supported port types | |
example: | |
- twisted pair | |
items: | |
type: string | |
type: array | |
x-go-name: SupportedPorts | |
transceiver_type: | |
description: Type of transceiver used | |
example: internal | |
type: string | |
x-go-name: TransceiverType | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesNetworkCardPortInfiniband: | |
description: ResourcesNetworkCardPortInfiniband represents the Linux Infiniband configuration for the port | |
properties: | |
issm_device: | |
description: ISSM device number | |
example: 231:64 | |
type: string | |
x-go-name: IsSMDevice | |
issm_name: | |
description: ISSM device name | |
example: issm0 | |
type: string | |
x-go-name: IsSMName | |
mad_device: | |
description: MAD device number | |
example: "231:0" | |
type: string | |
x-go-name: MADDevice | |
mad_name: | |
description: MAD device name | |
example: umad0 | |
type: string | |
x-go-name: MADName | |
verb_device: | |
description: Verb device number | |
example: 231:192 | |
type: string | |
x-go-name: VerbDevice | |
verb_name: | |
description: Verb device name | |
example: uverbs0 | |
type: string | |
x-go-name: VerbName | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesNetworkCardSRIOV: | |
description: ResourcesNetworkCardSRIOV represents the SRIOV configuration of the network card | |
properties: | |
current_vfs: | |
description: Number of VFs currently configured | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: CurrentVFs | |
maximum_vfs: | |
description: Maximum number of supported VFs | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: MaximumVFs | |
vfs: | |
description: List of VFs (as additional Network devices) | |
example: null | |
items: | |
$ref: '#/definitions/ResourcesNetworkCard' | |
type: array | |
x-go-name: VFs | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesNetworkCardVDPA: | |
description: ResourceNetworkCardVDPA represents the VDPA configuration of the network card | |
properties: | |
device: | |
description: Device identifier of the VDPA device | |
type: string | |
x-go-name: Device | |
name: | |
description: Name of the VDPA device | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesPCI: | |
description: ResourcesPCI represents the PCI devices available on the system | |
properties: | |
devices: | |
description: List of PCI devices | |
items: | |
$ref: '#/definitions/ResourcesPCIDevice' | |
type: array | |
x-go-name: Devices | |
total: | |
description: Total number of PCI devices | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesPCIDevice: | |
description: ResourcesPCIDevice represents a PCI device | |
properties: | |
driver: | |
description: Kernel driver currently associated with the GPU | |
example: mgag200 | |
type: string | |
x-go-name: Driver | |
driver_version: | |
description: Version of the kernel driver | |
example: 5.8.0-36-generic | |
type: string | |
x-go-name: DriverVersion | |
iommu_group: | |
description: IOMMU group number | |
example: 20 | |
format: uint64 | |
type: integer | |
x-go-name: IOMMUGroup | |
numa_node: | |
description: NUMA node the card is a part of | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: NUMANode | |
pci_address: | |
description: PCI address | |
example: "0000:07:03.0" | |
type: string | |
x-go-name: PCIAddress | |
product: | |
description: Name of the product | |
example: MGA G200eW WPCM450 | |
type: string | |
x-go-name: Product | |
product_id: | |
description: PCI ID of the product | |
example: "0532" | |
type: string | |
x-go-name: ProductID | |
vendor: | |
description: Name of the vendor | |
example: Matrox Electronics Systems Ltd. | |
type: string | |
x-go-name: Vendor | |
vendor_id: | |
description: PCI ID of the vendor | |
example: 102b | |
type: string | |
x-go-name: VendorID | |
vpd: | |
$ref: '#/definitions/ResourcesPCIVPD' | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesPCIVPD: | |
description: ResourcesPCIVPD represents VPD entries for a device | |
properties: | |
entries: | |
additionalProperties: | |
type: string | |
description: Vendor provided key/value pairs. | |
example: '{"EC": ""A-5545", "MN": "103C", "V0": "5W PCIeGen2"}' | |
type: object | |
x-go-name: Entries | |
product_name: | |
description: Hardware provided product name. | |
example: HP Ethernet 1Gb 4-port 331i Adapter | |
type: string | |
x-go-name: ProductName | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesStorage: | |
description: ResourcesStorage represents the local storage | |
properties: | |
disks: | |
description: List of disks | |
items: | |
$ref: '#/definitions/ResourcesStorageDisk' | |
type: array | |
x-go-name: Disks | |
total: | |
description: Total number of partitions | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesStorageDisk: | |
description: ResourcesStorageDisk represents a disk | |
properties: | |
block_size: | |
description: Block size | |
example: 512 | |
format: uint64 | |
type: integer | |
x-go-name: BlockSize | |
device: | |
description: Device number | |
example: "259:0" | |
type: string | |
x-go-name: Device | |
device_id: | |
description: Device by-id identifier | |
example: nvme-eui.0000000001000000e4d25cafae2e4c00 | |
type: string | |
x-go-name: DeviceID | |
device_path: | |
description: Device by-path identifier | |
example: pci-0000:05:00.0-nvme-1 | |
type: string | |
x-go-name: DevicePath | |
firmware_version: | |
description: Current firmware version | |
example: PSF121C | |
type: string | |
x-go-name: FirmwareVersion | |
id: | |
description: ID of the disk (device name) | |
example: nvme0n1 | |
type: string | |
x-go-name: ID | |
model: | |
description: Disk model name | |
example: INTEL SSDPEKKW256G7 | |
type: string | |
x-go-name: Model | |
numa_node: | |
description: NUMA node the disk is a part of | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: NUMANode | |
partitions: | |
description: List of partitions | |
items: | |
$ref: '#/definitions/ResourcesStorageDiskPartition' | |
type: array | |
x-go-name: Partitions | |
pci_address: | |
description: PCI address | |
example: "0000:05:00.0" | |
type: string | |
x-go-name: PCIAddress | |
read_only: | |
description: Whether the disk is read-only | |
example: false | |
type: boolean | |
x-go-name: ReadOnly | |
removable: | |
description: Whether the disk is removable (hot-plug) | |
example: false | |
type: boolean | |
x-go-name: Removable | |
rpm: | |
description: Rotation speed (RPM) | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: RPM | |
serial: | |
description: Serial number | |
example: BTPY63440ARH256D | |
type: string | |
x-go-name: Serial | |
size: | |
description: Total size of the disk (bytes) | |
example: 256060514304 | |
format: uint64 | |
type: integer | |
x-go-name: Size | |
type: | |
description: Storage type | |
example: nvme | |
type: string | |
x-go-name: Type | |
usb_address: | |
description: USB address | |
example: "3:5" | |
type: string | |
x-go-name: USBAddress | |
wwn: | |
description: WWN identifier | |
example: eui.0000000001000000e4d25cafae2e4c00 | |
type: string | |
x-go-name: WWN | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesStorageDiskPartition: | |
description: ResourcesStorageDiskPartition represents a partition on a disk | |
properties: | |
device: | |
description: Device number | |
example: "259:1" | |
type: string | |
x-go-name: Device | |
id: | |
description: ID of the partition (device name) | |
example: nvme0n1p1 | |
type: string | |
x-go-name: ID | |
partition: | |
description: Partition number | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: Partition | |
read_only: | |
description: Whether the partition is read-only | |
example: false | |
type: boolean | |
x-go-name: ReadOnly | |
size: | |
description: Size of the partition (bytes) | |
example: 254933278208 | |
format: uint64 | |
type: integer | |
x-go-name: Size | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesStoragePool: | |
description: ResourcesStoragePool represents the resources available to a given storage pool | |
properties: | |
inodes: | |
$ref: '#/definitions/ResourcesStoragePoolInodes' | |
space: | |
$ref: '#/definitions/ResourcesStoragePoolSpace' | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesStoragePoolInodes: | |
description: ResourcesStoragePoolInodes represents the inodes available to a given storage pool | |
properties: | |
total: | |
description: Total inodes | |
example: 30709993797 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
used: | |
description: Used inodes | |
example: 23937695 | |
format: uint64 | |
type: integer | |
x-go-name: Used | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesStoragePoolSpace: | |
description: ResourcesStoragePoolSpace represents the space available to a given storage pool | |
properties: | |
total: | |
description: Total disk space (bytes) | |
example: 420100937728 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
used: | |
description: Used disk space (bytes) | |
example: 343537419776 | |
format: uint64 | |
type: integer | |
x-go-name: Used | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesSystem: | |
description: ResourcesSystem represents the system | |
properties: | |
chassis: | |
$ref: '#/definitions/ResourcesSystemChassis' | |
family: | |
description: System family | |
example: ThinkPad X1 Carbon 5th | |
type: string | |
x-go-name: Family | |
firmware: | |
$ref: '#/definitions/ResourcesSystemFirmware' | |
motherboard: | |
$ref: '#/definitions/ResourcesSystemMotherboard' | |
product: | |
description: System model | |
example: 20HRCTO1WW | |
type: string | |
x-go-name: Product | |
serial: | |
description: System serial number | |
example: PY3DD4X9 | |
type: string | |
x-go-name: Serial | |
sku: | |
description: |- | |
System nanufacturer SKU | |
LENOVO_MT_20HR_BU_Think_FM_ThinkPad X1 Carbon 5th | |
type: string | |
x-go-name: Sku | |
type: | |
description: System type (unknown, physical, virtual-machine, container, ...) | |
example: physical | |
type: string | |
x-go-name: Type | |
uuid: | |
description: System UUID | |
example: 7fa1c0cc-2271-11b2-a85c-aab32a05d71a | |
type: string | |
x-go-name: UUID | |
vendor: | |
description: System vendor | |
example: LENOVO | |
type: string | |
x-go-name: Vendor | |
version: | |
description: System version | |
example: ThinkPad X1 Carbon 5th | |
type: string | |
x-go-name: Version | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesSystemChassis: | |
description: ResourcesSystemChassis represents the system chassis | |
properties: | |
serial: | |
description: Chassis serial number | |
example: PY3DD4X9 | |
type: string | |
x-go-name: Serial | |
type: | |
description: Chassis type | |
example: Notebook | |
type: string | |
x-go-name: Type | |
vendor: | |
description: Chassis vendor | |
example: Lenovo | |
type: string | |
x-go-name: Vendor | |
version: | |
description: Chassis version/revision | |
example: None | |
type: string | |
x-go-name: Version | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesSystemFirmware: | |
description: ResourcesSystemFirmware represents the system firmware | |
properties: | |
date: | |
description: Firmware build date | |
example: 10/14/2020 | |
type: string | |
x-go-name: Date | |
vendor: | |
description: Firmware vendor | |
example: Lenovo | |
type: string | |
x-go-name: Vendor | |
version: | |
description: Firmware version | |
example: N1MET64W (1.49) | |
type: string | |
x-go-name: Version | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesSystemMotherboard: | |
description: ResourcesSystemMotherboard represents the motherboard | |
properties: | |
product: | |
description: Motherboard model | |
example: 20HRCTO1WW | |
type: string | |
x-go-name: Product | |
serial: | |
description: Motherboard serial number | |
example: L3CF4FX003A | |
type: string | |
x-go-name: Serial | |
vendor: | |
description: Motherboard vendor | |
example: Lenovo | |
type: string | |
x-go-name: Vendor | |
version: | |
description: Motherboard version/revision | |
example: None | |
type: string | |
x-go-name: Version | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesUSB: | |
description: ResourcesUSB represents the USB devices available on the system | |
properties: | |
devices: | |
description: List of USB devices | |
items: | |
$ref: '#/definitions/ResourcesUSBDevice' | |
type: array | |
x-go-name: Devices | |
total: | |
description: Total number of USB devices | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: Total | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesUSBDevice: | |
description: ResourcesUSBDevice represents a USB device | |
properties: | |
bus_address: | |
description: USB address (bus) | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: BusAddress | |
device_address: | |
description: USB address (device) | |
example: 3 | |
format: uint64 | |
type: integer | |
x-go-name: DeviceAddress | |
interfaces: | |
description: List of USB interfaces | |
items: | |
$ref: '#/definitions/ResourcesUSBDeviceInterface' | |
type: array | |
x-go-name: Interfaces | |
product: | |
description: Name of the product | |
example: Hermon USB hidmouse Device | |
type: string | |
x-go-name: Product | |
product_id: | |
description: USB ID of the product | |
example: "2221" | |
type: string | |
x-go-name: ProductID | |
speed: | |
description: Transfer speed (Mbit/s) | |
example: 12 | |
format: double | |
type: number | |
x-go-name: Speed | |
vendor: | |
description: Name of the vendor | |
example: ATEN International Co., Ltd | |
type: string | |
x-go-name: Vendor | |
vendor_id: | |
description: USB ID of the vendor | |
example: "0557" | |
type: string | |
x-go-name: VendorID | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ResourcesUSBDeviceInterface: | |
description: ResourcesUSBDeviceInterface represents a USB device interface | |
properties: | |
class: | |
description: Class of USB interface | |
example: Human Interface Device | |
type: string | |
x-go-name: Class | |
class_id: | |
description: ID of the USB interface class | |
example: 3 | |
format: uint64 | |
type: integer | |
x-go-name: ClassID | |
driver: | |
description: Kernel driver currently associated with the device | |
example: usbhid | |
type: string | |
x-go-name: Driver | |
driver_version: | |
description: Version of the kernel driver | |
example: 5.8.0-36-generic | |
type: string | |
x-go-name: DriverVersion | |
number: | |
description: Interface number | |
example: 0 | |
format: uint64 | |
type: integer | |
x-go-name: Number | |
subclass: | |
description: Sub class of the interface | |
example: Boot Interface Subclass | |
type: string | |
x-go-name: SubClass | |
subclass_id: | |
description: ID of the USB interface sub class | |
example: 1 | |
format: uint64 | |
type: integer | |
x-go-name: SubClassID | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Server: | |
description: Server represents a LXD server | |
properties: | |
api_extensions: | |
description: List of supported API extensions | |
example: | |
- etag | |
- patch | |
- network | |
- storage | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: APIExtensions | |
api_status: | |
description: Support status of the current API (one of "devel", "stable" or "deprecated") | |
example: stable | |
readOnly: true | |
type: string | |
x-go-name: APIStatus | |
api_version: | |
description: API version number | |
example: "1.0" | |
readOnly: true | |
type: string | |
x-go-name: APIVersion | |
auth: | |
description: Whether the client is trusted (one of "trusted" or "untrusted") | |
example: untrusted | |
readOnly: true | |
type: string | |
x-go-name: Auth | |
auth_methods: | |
description: List of supported authentication methods | |
example: | |
- tls | |
- candid | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: AuthMethods | |
auth_user_method: | |
description: The current user login method as seen by LXD | |
example: unix | |
readOnly: true | |
type: string | |
x-go-name: AuthUserMethod | |
auth_user_name: | |
description: The current user username as seen by LXD | |
example: uid=201105 | |
readOnly: true | |
type: string | |
x-go-name: AuthUserName | |
config: | |
additionalProperties: {} | |
description: Server configuration map (refer to doc/server.md) | |
example: | |
core.https_address: :8443 | |
core.trust_password: true | |
type: object | |
x-go-name: Config | |
environment: | |
$ref: '#/definitions/ServerEnvironment' | |
public: | |
description: Whether the server is public-only (only public endpoints are implemented) | |
example: false | |
readOnly: true | |
type: boolean | |
x-go-name: Public | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ServerEnvironment: | |
properties: | |
addresses: | |
description: List of addresses the server is listening on | |
example: | |
- :8443 | |
items: | |
type: string | |
type: array | |
x-go-name: Addresses | |
architectures: | |
description: List of architectures supported by the server | |
example: | |
- x86_64 | |
- i686 | |
items: | |
type: string | |
type: array | |
x-go-name: Architectures | |
certificate: | |
description: Server certificate as PEM encoded X509 | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
certificate_fingerprint: | |
description: Server certificate fingerprint as SHA256 | |
example: fd200419b271f1dc2a5591b693cc5774b7f234e1ff8c6b78ad703b6888fe2b69 | |
type: string | |
x-go-name: CertificateFingerprint | |
driver: | |
description: List of supported instance drivers (separate by " | ") | |
example: lxc | qemu | |
type: string | |
x-go-name: Driver | |
driver_version: | |
description: List of supported instance driver versions (separate by " | ") | |
example: 4.0.7 | 5.2.0 | |
type: string | |
x-go-name: DriverVersion | |
firewall: | |
description: Current firewall driver | |
example: nftables | |
type: string | |
x-go-name: Firewall | |
kernel: | |
description: OS kernel name | |
example: Linux | |
type: string | |
x-go-name: Kernel | |
kernel_architecture: | |
description: OS kernel architecture | |
example: x86_64 | |
type: string | |
x-go-name: KernelArchitecture | |
kernel_features: | |
additionalProperties: | |
type: string | |
description: Map of kernel features that were tested on startup | |
example: | |
netnsid_getifaddrs: "true" | |
seccomp_listener: "true" | |
type: object | |
x-go-name: KernelFeatures | |
kernel_version: | |
description: Kernel version | |
example: 5.4.0-36-generic | |
type: string | |
x-go-name: KernelVersion | |
lxc_features: | |
additionalProperties: | |
type: string | |
description: Map of LXC features that were tested on startup | |
example: | |
cgroup2: "true" | |
devpts_fd: "true" | |
pidfd: "true" | |
type: object | |
x-go-name: LXCFeatures | |
os_name: | |
description: Name of the operating system (Linux distribution) | |
example: Ubuntu | |
type: string | |
x-go-name: OSName | |
os_version: | |
description: Version of the operating system (Linux distribution) | |
example: "22.04" | |
type: string | |
x-go-name: OSVersion | |
project: | |
description: Current project name | |
example: default | |
type: string | |
x-go-name: Project | |
server: | |
description: Server implementation name | |
example: lxd | |
type: string | |
x-go-name: Server | |
server_clustered: | |
description: Whether the server is part of a cluster | |
example: false | |
type: boolean | |
x-go-name: ServerClustered | |
server_event_mode: | |
description: |- | |
Mode that the event distribution subsystem is operating in on this server. | |
Either "full-mesh", "hub-server" or "hub-client". | |
example: full-mesh | |
type: string | |
x-go-name: ServerEventMode | |
server_name: | |
description: Server hostname | |
example: castiana | |
type: string | |
x-go-name: ServerName | |
server_pid: | |
description: PID of the LXD process | |
example: 1453969 | |
format: int64 | |
type: integer | |
x-go-name: ServerPid | |
server_version: | |
description: Server version | |
example: "4.11" | |
type: string | |
x-go-name: ServerVersion | |
storage: | |
description: List of active storage drivers (separate by " | ") | |
example: dir | zfs | |
type: string | |
x-go-name: Storage | |
storage_supported_drivers: | |
description: List of supported storage drivers | |
items: | |
$ref: '#/definitions/ServerStorageDriverInfo' | |
type: array | |
x-go-name: StorageSupportedDrivers | |
storage_version: | |
description: List of active storage driver versions (separate by " | ") | |
example: 1 | 0.8.4-1ubuntu11 | |
type: string | |
x-go-name: StorageVersion | |
title: ServerEnvironment represents the read-only environment fields of a LXD server. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ServerPut: | |
description: ServerPut represents the modifiable fields of a LXD server configuration | |
properties: | |
config: | |
additionalProperties: {} | |
description: Server configuration map (refer to doc/server.md) | |
example: | |
core.https_address: :8443 | |
core.trust_password: true | |
type: object | |
x-go-name: Config | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ServerStorageDriverInfo: | |
description: ServerStorageDriverInfo represents the read-only info about a storage driver | |
properties: | |
Name: | |
description: Name of the driver | |
example: zfs | |
type: string | |
Remote: | |
description: Whether the driver has remote volumes | |
example: false | |
type: boolean | |
Version: | |
description: Version of the driver | |
example: 0.8.4-1ubuntu11 | |
type: string | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
ServerUntrusted: | |
description: ServerUntrusted represents a LXD server for an untrusted client | |
properties: | |
api_extensions: | |
description: List of supported API extensions | |
example: | |
- etag | |
- patch | |
- network | |
- storage | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: APIExtensions | |
api_status: | |
description: Support status of the current API (one of "devel", "stable" or "deprecated") | |
example: stable | |
readOnly: true | |
type: string | |
x-go-name: APIStatus | |
api_version: | |
description: API version number | |
example: "1.0" | |
readOnly: true | |
type: string | |
x-go-name: APIVersion | |
auth: | |
description: Whether the client is trusted (one of "trusted" or "untrusted") | |
example: untrusted | |
readOnly: true | |
type: string | |
x-go-name: Auth | |
auth_methods: | |
description: List of supported authentication methods | |
example: | |
- tls | |
- candid | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: AuthMethods | |
public: | |
description: Whether the server is public-only (only public endpoints are implemented) | |
example: false | |
readOnly: true | |
type: boolean | |
x-go-name: Public | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StatusCode: | |
format: int64 | |
title: StatusCode represents a valid LXD operation and container status. | |
type: integer | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageBucket: | |
description: StorageBucket represents the fields of a LXD storage pool bucket | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage bucket configuration map | |
example: | |
size: 50GiB | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the storage bucket | |
example: My custom bucket | |
type: string | |
x-go-name: Description | |
location: | |
description: What cluster member this record was found on | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
name: | |
description: Bucket name | |
example: foo | |
type: string | |
x-go-name: Name | |
s3_url: | |
description: Bucket S3 URL | |
example: https://127.0.0.1:8080/foo | |
type: string | |
x-go-name: S3URL | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageBucketKey: | |
description: StorageBucketKey represents the fields of a LXD storage pool bucket key | |
properties: | |
access-key: | |
description: Access key | |
example: 33UgkaIBLBIxb7O1 | |
type: string | |
x-go-name: AccessKey | |
description: | |
description: Description of the storage bucket key | |
example: My read-only bucket key | |
type: string | |
x-go-name: Description | |
name: | |
description: Key name | |
example: my-read-only-key | |
type: string | |
x-go-name: Name | |
role: | |
description: Whether the key can perform write actions or not. | |
example: read-only | |
type: string | |
x-go-name: Role | |
secret-key: | |
description: Secret key | |
example: kDQD6AOgwHgaQI1UIJBJpPaiLgZuJbq0 | |
type: string | |
x-go-name: SecretKey | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageBucketKeyPut: | |
description: StorageBucketKeyPut represents the modifiable fields of a LXD storage pool bucket key | |
properties: | |
access-key: | |
description: Access key | |
example: 33UgkaIBLBIxb7O1 | |
type: string | |
x-go-name: AccessKey | |
description: | |
description: Description of the storage bucket key | |
example: My read-only bucket key | |
type: string | |
x-go-name: Description | |
role: | |
description: Whether the key can perform write actions or not. | |
example: read-only | |
type: string | |
x-go-name: Role | |
secret-key: | |
description: Secret key | |
example: kDQD6AOgwHgaQI1UIJBJpPaiLgZuJbq0 | |
type: string | |
x-go-name: SecretKey | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageBucketKeysPost: | |
description: StorageBucketKeysPost represents the fields of a new LXD storage pool bucket key | |
properties: | |
access-key: | |
description: Access key | |
example: 33UgkaIBLBIxb7O1 | |
type: string | |
x-go-name: AccessKey | |
description: | |
description: Description of the storage bucket key | |
example: My read-only bucket key | |
type: string | |
x-go-name: Description | |
name: | |
description: Key name | |
example: my-read-only-key | |
type: string | |
x-go-name: Name | |
role: | |
description: Whether the key can perform write actions or not. | |
example: read-only | |
type: string | |
x-go-name: Role | |
secret-key: | |
description: Secret key | |
example: kDQD6AOgwHgaQI1UIJBJpPaiLgZuJbq0 | |
type: string | |
x-go-name: SecretKey | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageBucketPut: | |
description: StorageBucketPut represents the modifiable fields of a LXD storage pool bucket | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage bucket configuration map | |
example: | |
size: 50GiB | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the storage bucket | |
example: My custom bucket | |
type: string | |
x-go-name: Description | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageBucketsPost: | |
description: StorageBucketsPost represents the fields of a new LXD storage pool bucket | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage bucket configuration map | |
example: | |
size: 50GiB | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the storage bucket | |
example: My custom bucket | |
type: string | |
x-go-name: Description | |
name: | |
description: Bucket name | |
example: foo | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StoragePool: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage pool configuration map (refer to doc/storage.md) | |
example: | |
volume.block.filesystem: ext4 | |
volume.size: 50GiB | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the storage pool | |
example: Local SSD pool | |
type: string | |
x-go-name: Description | |
driver: | |
description: Storage pool driver (btrfs, ceph, cephfs, dir, lvm or zfs) | |
example: zfs | |
type: string | |
x-go-name: Driver | |
locations: | |
description: Cluster members on which the storage pool has been defined | |
example: | |
- lxd01 | |
- lxd02 | |
- lxd03 | |
items: | |
type: string | |
readOnly: true | |
type: array | |
x-go-name: Locations | |
name: | |
description: Storage pool name | |
example: local | |
type: string | |
x-go-name: Name | |
status: | |
description: Pool status (Pending, Created, Errored or Unknown) | |
example: Created | |
readOnly: true | |
type: string | |
x-go-name: Status | |
used_by: | |
description: List of URLs of objects using this storage pool | |
example: | |
- /1.0/profiles/default | |
- /1.0/instances/c1 | |
items: | |
type: string | |
type: array | |
x-go-name: UsedBy | |
title: StoragePool represents the fields of a LXD storage pool. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StoragePoolPut: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage pool configuration map (refer to doc/storage.md) | |
example: | |
volume.block.filesystem: ext4 | |
volume.size: 50GiB | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the storage pool | |
example: Local SSD pool | |
type: string | |
x-go-name: Description | |
title: StoragePoolPut represents the modifiable fields of a LXD storage pool. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StoragePoolState: | |
properties: | |
inodes: | |
$ref: '#/definitions/ResourcesStoragePoolInodes' | |
space: | |
$ref: '#/definitions/ResourcesStoragePoolSpace' | |
title: StoragePoolState represents the state of a storage pool. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StoragePoolVolumeBackup: | |
description: StoragePoolVolumeBackup represents a LXD volume backup | |
properties: | |
created_at: | |
description: When the backup was created | |
example: "2021-03-23T16:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: CreatedAt | |
expires_at: | |
description: When the backup expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
name: | |
description: Backup name | |
example: backup0 | |
type: string | |
x-go-name: Name | |
optimized_storage: | |
description: Whether to use a pool-optimized binary format (instead of plain tarball) | |
example: true | |
type: boolean | |
x-go-name: OptimizedStorage | |
volume_only: | |
description: Whether to ignore snapshots | |
example: false | |
type: boolean | |
x-go-name: VolumeOnly | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StoragePoolVolumeBackupPost: | |
description: StoragePoolVolumeBackupPost represents the fields available for the renaming of a volume backup | |
properties: | |
name: | |
description: New backup name | |
example: backup1 | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StoragePoolVolumeBackupsPost: | |
description: StoragePoolVolumeBackupsPost represents the fields available for a new LXD volume backup | |
properties: | |
compression_algorithm: | |
description: What compression algorithm to use | |
example: gzip | |
type: string | |
x-go-name: CompressionAlgorithm | |
expires_at: | |
description: When the backup expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
name: | |
description: Backup name | |
example: backup0 | |
type: string | |
x-go-name: Name | |
optimized_storage: | |
description: Whether to use a pool-optimized binary format (instead of plain tarball) | |
example: true | |
type: boolean | |
x-go-name: OptimizedStorage | |
volume_only: | |
description: Whether to ignore snapshots | |
example: false | |
type: boolean | |
x-go-name: VolumeOnly | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StoragePoolsPost: | |
description: StoragePoolsPost represents the fields of a new LXD storage pool | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage pool configuration map (refer to doc/storage.md) | |
example: | |
volume.block.filesystem: ext4 | |
volume.size: 50GiB | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the storage pool | |
example: Local SSD pool | |
type: string | |
x-go-name: Description | |
driver: | |
description: Storage pool driver (btrfs, ceph, cephfs, dir, lvm or zfs) | |
example: zfs | |
type: string | |
x-go-name: Driver | |
name: | |
description: Storage pool name | |
example: local | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolume: | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage volume configuration map (refer to doc/storage.md) | |
example: | |
size: 50GiB | |
zfs.remove_snapshots: "true" | |
type: object | |
x-go-name: Config | |
content_type: | |
description: Volume content type (filesystem or block) | |
example: filesystem | |
type: string | |
x-go-name: ContentType | |
created_at: | |
description: Volume creation timestamp | |
example: "2021-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: CreatedAt | |
description: | |
description: Description of the storage volume | |
example: My custom volume | |
type: string | |
x-go-name: Description | |
location: | |
description: What cluster member this record was found on | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
name: | |
description: Volume name | |
example: foo | |
type: string | |
x-go-name: Name | |
project: | |
description: Project containing the volume. | |
example: default | |
type: string | |
x-go-name: Project | |
restore: | |
description: Name of a snapshot to restore | |
example: snap0 | |
type: string | |
x-go-name: Restore | |
type: | |
description: Volume type | |
example: custom | |
type: string | |
x-go-name: Type | |
used_by: | |
description: List of URLs of objects using this storage volume | |
example: | |
- /1.0/instances/blah | |
items: | |
type: string | |
type: array | |
x-go-name: UsedBy | |
title: StorageVolume represents the fields of a LXD storage volume. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumePost: | |
description: StorageVolumePost represents the fields required to rename a LXD storage pool volume | |
properties: | |
migration: | |
description: Initiate volume migration | |
example: false | |
type: boolean | |
x-go-name: Migration | |
name: | |
description: New volume name | |
example: foo | |
type: string | |
x-go-name: Name | |
pool: | |
description: New storage pool | |
example: remote | |
type: string | |
x-go-name: Pool | |
project: | |
description: New project name | |
example: foo | |
type: string | |
x-go-name: Project | |
source: | |
$ref: '#/definitions/StorageVolumeSource' | |
target: | |
$ref: '#/definitions/StorageVolumePostTarget' | |
volume_only: | |
description: Whether snapshots should be discarded (migration only) | |
example: false | |
type: boolean | |
x-go-name: VolumeOnly | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumePostTarget: | |
description: StorageVolumePostTarget represents the migration target host and operation | |
properties: | |
certificate: | |
description: The certificate of the migration target | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
operation: | |
description: Remote operation URL (for migration) | |
example: https://1.2.3.4:8443/1.0/operations/1721ae08-b6a8-416a-9614-3f89302466e1 | |
type: string | |
x-go-name: Operation | |
secrets: | |
additionalProperties: | |
type: string | |
description: Migration websockets credentials | |
example: | |
migration: random-string | |
type: object | |
x-go-name: Websockets | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumePut: | |
description: StorageVolumePut represents the modifiable fields of a LXD storage volume | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage volume configuration map (refer to doc/storage.md) | |
example: | |
size: 50GiB | |
zfs.remove_snapshots: "true" | |
type: object | |
x-go-name: Config | |
description: | |
description: Description of the storage volume | |
example: My custom volume | |
type: string | |
x-go-name: Description | |
restore: | |
description: Name of a snapshot to restore | |
example: snap0 | |
type: string | |
x-go-name: Restore | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumeSnapshot: | |
description: StorageVolumeSnapshot represents a LXD storage volume snapshot | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage volume configuration map (refer to doc/storage.md) | |
example: | |
size: 50GiB | |
zfs.remove_snapshots: "true" | |
type: object | |
x-go-name: Config | |
content_type: | |
description: The content type (filesystem or block) | |
example: filesystem | |
type: string | |
x-go-name: ContentType | |
created_at: | |
description: Volume snapshot creation timestamp | |
example: "2021-03-23T20:00:00-04:00" | |
format: date-time | |
type: string | |
x-go-name: CreatedAt | |
description: | |
description: Description of the storage volume | |
example: My custom volume | |
type: string | |
x-go-name: Description | |
expires_at: | |
description: When the snapshot expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
name: | |
description: Snapshot name | |
example: snap0 | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumeSnapshotPost: | |
description: StorageVolumeSnapshotPost represents the fields required to rename/move a LXD storage volume snapshot | |
properties: | |
migration: | |
description: Initiate volume snapshot migration | |
example: false | |
type: boolean | |
x-go-name: Migration | |
name: | |
description: New snapshot name | |
example: snap1 | |
type: string | |
x-go-name: Name | |
target: | |
$ref: '#/definitions/StorageVolumePostTarget' | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumeSnapshotPut: | |
description: StorageVolumeSnapshotPut represents the modifiable fields of a LXD storage volume | |
properties: | |
description: | |
description: Description of the storage volume | |
example: My custom volume | |
type: string | |
x-go-name: Description | |
expires_at: | |
description: When the snapshot expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumeSnapshotsPost: | |
description: StorageVolumeSnapshotsPost represents the fields available for a new LXD storage volume snapshot | |
properties: | |
expires_at: | |
description: When the snapshot expires (gets auto-deleted) | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: ExpiresAt | |
name: | |
description: Snapshot name | |
example: snap0 | |
type: string | |
x-go-name: Name | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumeSource: | |
description: StorageVolumeSource represents the creation source for a new storage volume | |
properties: | |
certificate: | |
description: Certificate (for migration) | |
example: X509 PEM certificate | |
type: string | |
x-go-name: Certificate | |
location: | |
description: What cluster member this record was found on | |
example: lxd01 | |
type: string | |
x-go-name: Location | |
mode: | |
description: Whether to use pull or push mode (for migration) | |
example: pull | |
type: string | |
x-go-name: Mode | |
name: | |
description: Source volume name (for copy) | |
example: foo | |
type: string | |
x-go-name: Name | |
operation: | |
description: Remote operation URL (for migration) | |
example: https://1.2.3.4:8443/1.0/operations/1721ae08-b6a8-416a-9614-3f89302466e1 | |
type: string | |
x-go-name: Operation | |
pool: | |
description: Source storage pool (for copy) | |
example: local | |
type: string | |
x-go-name: Pool | |
project: | |
description: Source project name | |
example: foo | |
type: string | |
x-go-name: Project | |
refresh: | |
description: Whether existing destination volume should be refreshed | |
example: false | |
type: boolean | |
x-go-name: Refresh | |
secrets: | |
additionalProperties: | |
type: string | |
description: Map of migration websockets (for migration) | |
example: | |
rsync: RANDOM-STRING | |
type: object | |
x-go-name: Websockets | |
type: | |
description: Source type (copy or migration) | |
example: copy | |
type: string | |
x-go-name: Type | |
volume_only: | |
description: Whether snapshots should be discarded (for migration) | |
example: false | |
type: boolean | |
x-go-name: VolumeOnly | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumeState: | |
description: StorageVolumeState represents the live state of the volume | |
properties: | |
usage: | |
$ref: '#/definitions/StorageVolumeStateUsage' | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumeStateUsage: | |
description: StorageVolumeStateUsage represents the disk usage of a volume | |
properties: | |
total: | |
description: Storage volume size in bytes | |
example: 5189222192 | |
format: int64 | |
type: integer | |
x-go-name: Total | |
used: | |
description: Used space in bytes | |
example: 1693552640 | |
format: uint64 | |
type: integer | |
x-go-name: Used | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
StorageVolumesPost: | |
description: StorageVolumesPost represents the fields of a new LXD storage pool volume | |
properties: | |
config: | |
additionalProperties: | |
type: string | |
description: Storage volume configuration map (refer to doc/storage.md) | |
example: | |
size: 50GiB | |
zfs.remove_snapshots: "true" | |
type: object | |
x-go-name: Config | |
content_type: | |
description: Volume content type (filesystem or block) | |
example: filesystem | |
type: string | |
x-go-name: ContentType | |
description: | |
description: Description of the storage volume | |
example: My custom volume | |
type: string | |
x-go-name: Description | |
name: | |
description: Volume name | |
example: foo | |
type: string | |
x-go-name: Name | |
restore: | |
description: Name of a snapshot to restore | |
example: snap0 | |
type: string | |
x-go-name: Restore | |
source: | |
$ref: '#/definitions/StorageVolumeSource' | |
type: | |
description: Volume type (container, custom, image or virtual-machine) | |
example: custom | |
type: string | |
x-go-name: Type | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
Warning: | |
properties: | |
count: | |
description: The number of times this warning occurred | |
example: 1 | |
format: int64 | |
type: integer | |
x-go-name: Count | |
entity_url: | |
description: The entity affected by this warning | |
example: /1.0/instances/c1?project=default | |
type: string | |
x-go-name: EntityURL | |
first_seen_at: | |
description: The first time this warning occurred | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: FirstSeenAt | |
last_message: | |
description: The warning message | |
example: Couldn't find the CGroup blkio.weight, disk priority will be ignored | |
type: string | |
x-go-name: LastMessage | |
last_seen_at: | |
description: The last time this warning occurred | |
example: "2021-03-23T17:38:37.753398689-04:00" | |
format: date-time | |
type: string | |
x-go-name: LastSeenAt | |
location: | |
description: What cluster member this warning occurred on | |
example: node1 | |
type: string | |
x-go-name: Location | |
project: | |
description: The project the warning occurred in | |
example: default | |
type: string | |
x-go-name: Project | |
severity: | |
description: The severity of this warning | |
example: low | |
type: string | |
x-go-name: Severity | |
status: | |
description: Status of the warning (new, acknowledged, or resolved) | |
example: new | |
type: string | |
x-go-name: Status | |
type: | |
description: Type type of warning | |
example: Couldn't find CGroup | |
type: string | |
x-go-name: Type | |
uuid: | |
description: UUID of the warning | |
example: e9e9da0d-2538-4351-8047-46d4a8ae4dbb | |
type: string | |
x-go-name: UUID | |
title: Warning represents a warning entry. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
WarningPut: | |
properties: | |
status: | |
description: Status of the warning (new, acknowledged, or resolved) | |
example: new | |
type: string | |
x-go-name: Status | |
title: WarningPut represents the modifiable fields of a warning. | |
type: object | |
x-go-package: github.com/canonical/lxd/shared/api | |
info: | |
contact: | |
email: lxd@lists.canonical.com | |
name: LXD upstream | |
url: https://github.com/canonical/lxd | |
description: |- | |
This is the REST API used by all LXD clients. | |
Internal endpoints aren't included in this documentation. | |
The LXD API is available over both a local unix+http and remote https API. | |
Authentication for local users relies on group membership and access to the unix socket. | |
For remote users, the default authentication method is TLS client | |
certificates with a macaroon based (candid) authentication method also | |
supported. | |
license: | |
name: AGPLv3 | |
url: https://www.gnu.org/licenses/agpl-3.0.en.html | |
title: LXD external REST API | |
version: "1.0" | |
paths: | |
/: | |
get: | |
description: |- | |
Returns a list of supported API versions (URLs). | |
Internal API endpoints are not reported as those aren't versioned and | |
should only be used by LXD itself. | |
operationId: api_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: | |
- /1.0 | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
summary: Get the supported API endpoints | |
tags: | |
- server | |
/1.0: | |
get: | |
description: Shows the full server environment and configuration. | |
operationId: server_get | |
parameters: | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Server environment and configuration | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Server' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the server environment and configuration | |
tags: | |
- server | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the server configuration. | |
operationId: server_patch | |
parameters: | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Server configuration | |
in: body | |
name: server | |
required: true | |
schema: | |
$ref: '#/definitions/ServerPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the server configuration | |
tags: | |
- server | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire server configuration. | |
operationId: server_put | |
parameters: | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Server configuration | |
in: body | |
name: server | |
required: true | |
schema: | |
$ref: '#/definitions/ServerPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the server configuration | |
tags: | |
- server | |
/1.0/auth/groups: | |
get: | |
description: Returns a list of groups (URLs). | |
operationId: groups_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/auth/groups/foo", | |
"/1.0/auth/groups/bar" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the groups | |
tags: | |
- groups | |
post: | |
consumes: | |
- application/json | |
description: Creates a new LXD group. | |
operationId: groups_post | |
parameters: | |
- description: Group request | |
in: body | |
name: group | |
required: true | |
schema: | |
$ref: '#/definitions/GroupsPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create a new group | |
tags: | |
- groups | |
/1.0/auth/groups/{groupName}: | |
delete: | |
description: Deletes the group | |
operationId: group_delete | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the group | |
tags: | |
- groups | |
get: | |
description: Gets a specific group. | |
operationId: group_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: "" | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Group' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the group | |
tags: | |
- groups | |
patch: | |
consumes: | |
- application/json | |
description: Updates the editable fields of a group | |
operationId: group_patch | |
parameters: | |
- description: Update request | |
in: body | |
name: group | |
schema: | |
$ref: '#/definitions/GroupPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially Update the group | |
tags: | |
- groups | |
post: | |
consumes: | |
- application/json | |
description: Renames the group | |
operationId: group_post | |
parameters: | |
- description: Update request | |
in: body | |
name: group | |
schema: | |
$ref: '#/definitions/GroupPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename the group | |
tags: | |
- groups | |
put: | |
consumes: | |
- application/json | |
description: Replaces the editable fields of a group | |
operationId: group_put | |
parameters: | |
- description: Update request | |
in: body | |
name: group | |
schema: | |
$ref: '#/definitions/GroupPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the group | |
tags: | |
- groups | |
/1.0/auth/groups?recursion=1: | |
get: | |
description: Returns a list of groups. | |
operationId: groups_get_recursion1 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of groups | |
items: | |
$ref: '#/definitions/Group' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the groups | |
tags: | |
- groups | |
/1.0/auth/identities: | |
get: | |
description: Returns a list of identities (URLs). | |
operationId: identities_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/auth/identities/tls/e1e06266e36f67431c996d5678e66d732dfd12fe5073c161e62e6360619fc226", | |
"/1.0/auth/identities/oidc/auth0|4daf5e37ce230e455b64b65b" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the identities | |
tags: | |
- identities | |
/1.0/auth/identities/{authenticationMethod}: | |
get: | |
description: Returns a list of identities (URLs). | |
operationId: identities_get_by_auth_method | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/auth/identities/tls/e1e06266e36f67431c996d5678e66d732dfd12fe5073c161e62e6360619fc226", | |
"/1.0/auth/identities/oidc/auth0|4daf5e37ce230e455b64b65b" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the identities | |
tags: | |
- identities | |
/1.0/auth/identities/{authenticationMethod}/{nameOrIdentifier}: | |
get: | |
description: Gets a specific identity. | |
operationId: identity_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/IdentityFull' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the identity | |
tags: | |
- identities | |
patch: | |
consumes: | |
- application/json | |
description: Updates the editable fields of an identity | |
operationId: identity_patch | |
parameters: | |
- description: Update request | |
in: body | |
name: identity | |
schema: | |
$ref: '#/definitions/IdentityPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the identity | |
tags: | |
- identities | |
put: | |
consumes: | |
- application/json | |
description: Replaces the editable fields of an identity | |
operationId: identity_put | |
parameters: | |
- description: Update request | |
in: body | |
name: identity | |
schema: | |
$ref: '#/definitions/IdentityPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the identity | |
tags: | |
- identities | |
/1.0/auth/identities/{authenticationMethod}?recursion=1: | |
get: | |
description: Returns a list of identities. | |
operationId: identities_get_by_auth_method_recursion1 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of identities | |
items: | |
$ref: '#/definitions/Identity' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the identities | |
tags: | |
- identities | |
/1.0/auth/identities/{authenticationMethod}?recursion=2: | |
get: | |
description: Returns a list of identities including group membership. | |
operationId: identities_get_by_auth_method_recursion2 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of identities | |
items: | |
$ref: '#/definitions/IdentityFull' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the identities | |
tags: | |
- identities | |
/1.0/auth/identities?recursion=1: | |
get: | |
description: Returns a list of identities. | |
operationId: identities_get_recursion1 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of identities | |
items: | |
$ref: '#/definitions/Identity' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the identities | |
tags: | |
- identities | |
/1.0/auth/identities?recursion=2: | |
get: | |
description: Returns a list of identities including group membership. | |
operationId: identities_get_recursion2 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of identities | |
items: | |
$ref: '#/definitions/IdentityFull' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the identities | |
tags: | |
- identities | |
/1.0/auth/identity-provider-groups: | |
get: | |
description: Returns a list of identity provider groups (URLs). | |
operationId: identity_provider_groups_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/auth/identity-provider-groups/sales", | |
"/1.0/auth/identity-provider-groups/operations" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the identity provider groups | |
tags: | |
- identity_provider_groups | |
post: | |
consumes: | |
- application/json | |
description: Creates a new identity provider group. | |
operationId: identity_provider_groups_post | |
parameters: | |
- description: Identity provider request | |
in: body | |
name: group | |
required: true | |
schema: | |
$ref: '#/definitions/IdentityProviderGroup' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create a new identity provider group | |
tags: | |
- identity_provider_groups | |
/1.0/auth/identity-provider-groups/{idpGroupName}: | |
delete: | |
description: Deletes the identity provider group | |
operationId: identity_provider_group_delete | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the identity provider group | |
tags: | |
- identity_provider_groups | |
get: | |
description: Gets a specific identity provider group. | |
operationId: identity_provider_group_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: "" | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/IdentityProviderGroup' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the identity provider group | |
tags: | |
- identity_provider_groups | |
patch: | |
consumes: | |
- application/json | |
description: Updates the editable fields of an identity provider group | |
operationId: identity_provider_group_patch | |
parameters: | |
- description: Update request | |
in: body | |
name: group | |
schema: | |
$ref: '#/definitions/IdentityProviderGroupPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the identity provider group | |
tags: | |
- identity_provider_groups | |
post: | |
consumes: | |
- application/json | |
description: Renames the identity provider group | |
operationId: identity_provider_group_post | |
parameters: | |
- description: Update request | |
in: body | |
name: group | |
schema: | |
$ref: '#/definitions/IdentityProviderGroupPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename the identity provider group | |
tags: | |
- identity_provider_groups | |
put: | |
consumes: | |
- application/json | |
description: Replaces the editable fields of an identity provider group | |
operationId: identity_provider_group_put | |
parameters: | |
- description: Update request | |
in: body | |
name: group | |
schema: | |
$ref: '#/definitions/IdentityProviderGroupPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the identity provider group | |
tags: | |
- identity_provider_groups | |
/1.0/auth/identity-provider-groups?recursion=1: | |
get: | |
description: Returns a list of identity provider groups. | |
operationId: identity_provider_groups_get_recursion1 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of identity provider groups | |
items: | |
$ref: '#/definitions/IdentityProviderGroup' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the groups | |
tags: | |
- identity_provider_groups | |
/1.0/auth/permissions: | |
get: | |
description: Returns a list of available permissions. | |
operationId: permissions_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Type of entity | |
example: instance | |
in: query | |
name: entityType | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of permissions | |
items: | |
$ref: '#/definitions/Permission' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the permissions | |
tags: | |
- permissions | |
/1.0/auth/permissions?recursion=1: | |
get: | |
description: Returns a list of available permissions (including groups that have those permissions). | |
operationId: permissions_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Type of entity | |
example: instance | |
in: query | |
name: entityType | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of permissions | |
items: | |
$ref: '#/definitions/PermissionFull' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the permissions | |
tags: | |
- permissions | |
/1.0/certificates: | |
get: | |
description: Returns a list of trusted certificates (URLs). | |
operationId: certificates_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/certificates/390fdd27ed5dc2408edc11fe602eafceb6c025ddbad9341dfdcb1056a8dd98b1", | |
"/1.0/certificates/22aee3f051f96abe6d7756892eecabf4b4b22e2ba877840a4ca981e9ea54030a" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the trusted certificates | |
tags: | |
- certificates | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Adds a certificate to the trust store. | |
In this mode, the `password` property is always ignored. | |
operationId: certificates_post | |
parameters: | |
- description: Certificate | |
in: body | |
name: certificate | |
required: true | |
schema: | |
$ref: '#/definitions/CertificatesPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a trusted certificate | |
tags: | |
- certificates | |
/1.0/certificates/{fingerprint}: | |
delete: | |
description: Removes the certificate from the trust store. | |
operationId: certificate_delete | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the trusted certificate | |
tags: | |
- certificates | |
get: | |
description: Gets a specific certificate entry from the trust store. | |
operationId: certificate_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Certificate | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Certificate' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the trusted certificate | |
tags: | |
- certificates | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the certificate configuration. | |
operationId: certificate_patch | |
parameters: | |
- description: Certificate configuration | |
in: body | |
name: certificate | |
required: true | |
schema: | |
$ref: '#/definitions/CertificatePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the trusted certificate | |
tags: | |
- certificates | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire certificate configuration. | |
operationId: certificate_put | |
parameters: | |
- description: Certificate configuration | |
in: body | |
name: certificate | |
required: true | |
schema: | |
$ref: '#/definitions/CertificatePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the trusted certificate | |
tags: | |
- certificates | |
/1.0/certificates?public: | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Adds a certificate to the trust store as an untrusted user. | |
In this mode, the `password` property must be set to the correct value. | |
The `certificate` field can be omitted in which case the TLS client | |
certificate in use for the connection will be retrieved and added to the | |
trust store. | |
The `?public` part of the URL isn't required, it's simply used to | |
separate the two behaviors of this endpoint. | |
operationId: certificates_post_untrusted | |
parameters: | |
- description: Certificate | |
in: body | |
name: certificate | |
required: true | |
schema: | |
$ref: '#/definitions/CertificatesPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a trusted certificate | |
tags: | |
- certificates | |
/1.0/certificates?recursion=1: | |
get: | |
description: Returns a list of trusted certificates (structs). | |
operationId: certificates_get_recursion1 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of certificates | |
items: | |
$ref: '#/definitions/Certificate' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the trusted certificates | |
tags: | |
- certificates | |
/1.0/cluster: | |
get: | |
description: Gets the current cluster configuration. | |
operationId: cluster_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Cluster configuration | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Cluster' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the cluster configuration | |
tags: | |
- cluster | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire cluster configuration. | |
operationId: cluster_put | |
parameters: | |
- description: Cluster configuration | |
in: body | |
name: cluster | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the cluster configuration | |
tags: | |
- cluster | |
/1.0/cluster/certificate: | |
put: | |
consumes: | |
- application/json | |
description: |- | |
Replaces existing cluster certificate and reloads LXD on each cluster | |
member. | |
operationId: clustering_update_cert | |
parameters: | |
- description: Cluster certificate replace request | |
in: body | |
name: cluster | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterCertificatePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the certificate for the cluster | |
tags: | |
- cluster | |
/1.0/cluster/groups: | |
get: | |
description: Returns a list of cluster groups (URLs). | |
operationId: cluster_groups_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/cluster/groups/lxd01", | |
"/1.0/cluster/groups/lxd02" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the cluster groups | |
tags: | |
- cluster-groups | |
post: | |
consumes: | |
- application/json | |
description: Creates a new cluster group. | |
operationId: cluster_groups_post | |
parameters: | |
- description: Cluster group to create | |
in: body | |
name: cluster | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterGroupsPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create a cluster group. | |
tags: | |
- cluster | |
/1.0/cluster/groups/{name}: | |
delete: | |
description: Removes the cluster group. | |
operationId: cluster_group_delete | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the cluster group. | |
tags: | |
- cluster-groups | |
get: | |
description: Gets a specific cluster group. | |
operationId: cluster_group_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Cluster group | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/ClusterGroup' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the cluster group | |
tags: | |
- cluster-groups | |
patch: | |
consumes: | |
- application/json | |
description: Updates the cluster group configuration. | |
operationId: cluster_group_patch | |
parameters: | |
- description: cluster group configuration | |
in: body | |
name: cluster group | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterGroupPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the cluster group | |
tags: | |
- cluster-groups | |
post: | |
consumes: | |
- application/json | |
description: Renames an existing cluster group. | |
operationId: cluster_group_post | |
parameters: | |
- description: Cluster group rename request | |
in: body | |
name: name | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterGroupPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename the cluster group | |
tags: | |
- cluster-groups | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire cluster group configuration. | |
operationId: cluster_group_put | |
parameters: | |
- description: cluster group configuration | |
in: body | |
name: cluster group | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterGroupPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the cluster group | |
tags: | |
- cluster-groups | |
/1.0/cluster/groups?recursion=1: | |
get: | |
description: Returns a list of cluster groups (structs). | |
operationId: cluster_groups_get_recursion1 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of cluster groups | |
items: | |
$ref: '#/definitions/ClusterGroup' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the cluster groups | |
tags: | |
- cluster-groups | |
/1.0/cluster/members: | |
get: | |
description: Returns a list of cluster members (URLs). | |
operationId: cluster_members_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/cluster/members/lxd01", | |
"/1.0/cluster/members/lxd02" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the cluster members | |
tags: | |
- cluster | |
post: | |
consumes: | |
- application/json | |
description: Requests a join token to add a cluster member. | |
operationId: cluster_members_post | |
parameters: | |
- description: Cluster member add request | |
in: body | |
name: cluster | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterMembersPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Request a join token | |
tags: | |
- cluster | |
/1.0/cluster/members/{name}: | |
delete: | |
description: Removes the member from the cluster. | |
operationId: cluster_member_delete | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the cluster member | |
tags: | |
- cluster | |
get: | |
description: Gets a specific cluster member. | |
operationId: cluster_member_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Cluster member | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/ClusterMember' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the cluster member | |
tags: | |
- cluster | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the cluster member configuration. | |
operationId: cluster_member_patch | |
parameters: | |
- description: Cluster member configuration | |
in: body | |
name: cluster | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterMemberPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the cluster member | |
tags: | |
- cluster | |
post: | |
consumes: | |
- application/json | |
description: Renames an existing cluster member. | |
operationId: cluster_member_post | |
parameters: | |
- description: Cluster member rename request | |
in: body | |
name: cluster | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterMemberPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename the cluster member | |
tags: | |
- cluster | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire cluster member configuration. | |
operationId: cluster_member_put | |
parameters: | |
- description: Cluster member configuration | |
in: body | |
name: cluster | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterMemberPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the cluster member | |
tags: | |
- cluster | |
/1.0/cluster/members/{name}/state: | |
get: | |
description: Gets state of a specific cluster member. | |
operationId: cluster_member_state_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Cluster member state | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/ClusterMemberState' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get state of the cluster member | |
tags: | |
- cluster | |
post: | |
consumes: | |
- application/json | |
description: Evacuates or restores a cluster member. | |
operationId: cluster_member_state_post | |
parameters: | |
- description: Cluster member state | |
in: body | |
name: cluster | |
required: true | |
schema: | |
$ref: '#/definitions/ClusterMemberStatePost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Evacuate or restore a cluster member | |
tags: | |
- cluster | |
/1.0/cluster/members?recursion=1: | |
get: | |
description: Returns a list of cluster members (structs). | |
operationId: cluster_members_get_recursion1 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of cluster members | |
items: | |
$ref: '#/definitions/ClusterMember' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the cluster members | |
tags: | |
- cluster | |
/1.0/events: | |
get: | |
description: Connects to the event API using websocket. | |
operationId: events_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Event type(s), comma separated (valid types are logging, operation or lifecycle) | |
example: logging,lifecycle | |
in: query | |
name: type | |
type: string | |
- description: Retrieve instances from all projects | |
in: query | |
name: all-projects | |
type: boolean | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Websocket message (JSON) | |
schema: | |
$ref: '#/definitions/Event' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the event stream | |
tags: | |
- server | |
/1.0/images: | |
get: | |
description: Returns a list of images (URLs). | |
operationId: images_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Collection filter | |
example: default | |
in: query | |
name: filter | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/images/06b86454720d36b20f94e31c6812e05ec51c1b568cf3a8abd273769d213394bb", | |
"/1.0/images/084dd79dd1360fd25a2479eb46674c2a5ef3022a40fe03c91ab3603e3402b8e1" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the images | |
tags: | |
- images | |
post: | |
consumes: | |
- application/json | |
description: Adds a new image to the image store. | |
operationId: images_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image | |
in: body | |
name: image | |
schema: | |
$ref: '#/definitions/ImagesPost' | |
- description: Raw image file | |
in: body | |
name: raw_image | |
- description: Push secret for server to server communication | |
example: RANDOM-STRING | |
in: header | |
name: X-LXD-secret | |
schema: | |
type: string | |
- description: Expected fingerprint when pushing a raw image | |
in: header | |
name: X-LXD-fingerprint | |
schema: | |
type: string | |
- description: Descriptive properties | |
in: header | |
name: X-LXD-properties | |
schema: | |
additionalProperties: | |
type: string | |
type: object | |
- description: Whether the image is available to unauthenticated users | |
in: header | |
name: X-LXD-public | |
schema: | |
type: boolean | |
- description: Original filename of the image | |
in: header | |
name: X-LXD-filename | |
schema: | |
type: string | |
- description: List of profiles to use | |
in: header | |
name: X-LXD-profiles | |
schema: | |
items: | |
type: string | |
type: array | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add an image | |
tags: | |
- images | |
/1.0/images/{fingerprint}: | |
delete: | |
description: Removes the image from the image store. | |
operationId: image_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the image | |
tags: | |
- images | |
get: | |
description: Gets a specific image. | |
operationId: image_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Image | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Image' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the image | |
tags: | |
- images | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the image definition. | |
operationId: image_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image configuration | |
in: body | |
name: image | |
required: true | |
schema: | |
$ref: '#/definitions/ImagePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the image | |
tags: | |
- images | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire image definition. | |
operationId: image_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image configuration | |
in: body | |
name: image | |
required: true | |
schema: | |
$ref: '#/definitions/ImagePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the image | |
tags: | |
- images | |
/1.0/images/{fingerprint}/export: | |
get: | |
description: |- | |
Download the raw image file(s) from the server. | |
If the image is in split format, a multipart http transfer occurs. | |
operationId: image_export_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/octet-stream | |
- multipart/form-data | |
responses: | |
"200": | |
description: Raw image data | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the raw image file(s) | |
tags: | |
- images | |
post: | |
description: Gets LXD to connect to a remote server and push the image to it. | |
operationId: images_export_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image push request | |
in: body | |
name: image | |
required: true | |
schema: | |
$ref: '#/definitions/ImageExportPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Make LXD push the image to a remote server | |
tags: | |
- images | |
/1.0/images/{fingerprint}/export?public: | |
get: | |
description: |- | |
Download the raw image file(s) of a public image from the server. | |
If the image is in split format, a multipart http transfer occurs. | |
operationId: image_export_get_untrusted | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Secret token to retrieve a private image | |
example: RANDOM-STRING | |
in: query | |
name: secret | |
type: string | |
produces: | |
- application/octet-stream | |
- multipart/form-data | |
responses: | |
"200": | |
description: Raw image data | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the raw image file(s) | |
tags: | |
- images | |
/1.0/images/{fingerprint}/refresh: | |
post: | |
description: |- | |
This causes LXD to check the image source server for an updated | |
version of the image and if available to refresh the local copy with the | |
new version. | |
operationId: images_refresh_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Refresh an image | |
tags: | |
- images | |
/1.0/images/{fingerprint}/secret: | |
post: | |
description: |- | |
This generates a background operation including a secret one time key | |
in its metadata which can be used to fetch this image from an untrusted | |
client. | |
operationId: images_secret_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Generate secret for retrieval of the image by an untrusted client | |
tags: | |
- images | |
/1.0/images/{fingerprint}?public: | |
get: | |
description: Gets a specific public image. | |
operationId: image_get_untrusted | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Secret token to retrieve a private image | |
example: RANDOM-STRING | |
in: query | |
name: secret | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Image | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Image' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the public image | |
tags: | |
- images | |
/1.0/images/aliases: | |
get: | |
description: Returns a list of image aliases (URLs). | |
operationId: images_aliases_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/images/aliases/foo", | |
"/1.0/images/aliases/bar1" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the image aliases | |
tags: | |
- images | |
post: | |
consumes: | |
- application/json | |
description: Creates a new image alias. | |
operationId: images_aliases_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image alias | |
in: body | |
name: image alias | |
required: true | |
schema: | |
$ref: '#/definitions/ImageAliasesPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add an image alias | |
tags: | |
- images | |
/1.0/images/aliases/{name}: | |
delete: | |
description: Deletes a specific image alias. | |
operationId: image_alias_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the image alias | |
tags: | |
- images | |
get: | |
description: Gets a specific image alias. | |
operationId: image_alias_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Image alias | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/ImageAliasesEntry' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the image alias | |
tags: | |
- images | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the image alias configuration. | |
operationId: images_alias_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image alias configuration | |
in: body | |
name: image alias | |
required: true | |
schema: | |
$ref: '#/definitions/ImageAliasesEntryPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the image alias | |
tags: | |
- images | |
post: | |
consumes: | |
- application/json | |
description: Renames an existing image alias. | |
operationId: images_alias_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image alias rename request | |
in: body | |
name: image alias | |
required: true | |
schema: | |
$ref: '#/definitions/ImageAliasesEntryPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename the image alias | |
tags: | |
- images | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire image alias configuration. | |
operationId: images_aliases_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image alias configuration | |
in: body | |
name: image alias | |
required: true | |
schema: | |
$ref: '#/definitions/ImageAliasesEntryPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the image alias | |
tags: | |
- images | |
/1.0/images/aliases/{name}?public: | |
get: | |
description: |- | |
Gets a specific public image alias. | |
This untrusted endpoint only works for aliases pointing to public images. | |
operationId: image_alias_get_untrusted | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Image alias | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/ImageAliasesEntry' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the public image alias | |
tags: | |
- images | |
/1.0/images/aliases?recursion=1: | |
get: | |
description: Returns a list of image aliases (structs). | |
operationId: images_aliases_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of image aliases | |
items: | |
$ref: '#/definitions/ImageAliasesEntry' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the image aliases | |
tags: | |
- images | |
/1.0/images?public: | |
get: | |
description: Returns a list of publicly available images (URLs). | |
operationId: images_get_untrusted | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Collection filter | |
example: default | |
in: query | |
name: filter | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/images/06b86454720d36b20f94e31c6812e05ec51c1b568cf3a8abd273769d213394bb", | |
"/1.0/images/084dd79dd1360fd25a2479eb46674c2a5ef3022a40fe03c91ab3603e3402b8e1" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the public images | |
tags: | |
- images | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Pushes the data to the target image server. | |
This is meant for LXD to LXD communication where a new image entry is | |
prepared on the target server and the source server is provided that URL | |
and a secret token to push the image content over. | |
operationId: images_post_untrusted | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image | |
in: body | |
name: image | |
required: true | |
schema: | |
$ref: '#/definitions/ImagesPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add an image | |
tags: | |
- images | |
/1.0/images?public&recursion=1: | |
get: | |
description: Returns a list of publicly available images (structs). | |
operationId: images_get_recursion1_untrusted | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Collection filter | |
example: default | |
in: query | |
name: filter | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of images | |
items: | |
$ref: '#/definitions/Image' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the public images | |
tags: | |
- images | |
/1.0/images?recursion=1: | |
get: | |
description: Returns a list of images (structs). | |
operationId: images_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Collection filter | |
example: default | |
in: query | |
name: filter | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of images | |
items: | |
$ref: '#/definitions/Image' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the images | |
tags: | |
- images | |
/1.0/instances: | |
get: | |
description: Returns a list of instances (URLs). | |
operationId: instances_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Collection filter | |
example: default | |
in: query | |
name: filter | |
type: string | |
- description: Retrieve instances from all projects | |
in: query | |
name: all-projects | |
type: boolean | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/instances/foo", | |
"/1.0/instances/bar" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the instances | |
tags: | |
- instances | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Creates a new instance on LXD. | |
Depending on the source, this can create an instance from an existing | |
local image, remote image, existing local instance or snapshot, remote | |
migration stream or backup file. | |
operationId: instances_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member | |
example: default | |
in: query | |
name: target | |
type: string | |
- description: Instance request | |
in: body | |
name: instance | |
schema: | |
$ref: '#/definitions/InstancesPost' | |
- description: Raw backup file | |
in: body | |
name: raw_backup | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create a new instance | |
tags: | |
- instances | |
put: | |
consumes: | |
- application/json | |
description: Changes the running state of all instances. | |
operationId: instances_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: State | |
in: body | |
name: state | |
schema: | |
$ref: '#/definitions/InstancesPut' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Bulk instance state update | |
tags: | |
- instances | |
/1.0/instances/{name}: | |
delete: | |
description: |- | |
Deletes a specific instance. | |
This also deletes anything owned by the instance such as snapshots and backups. | |
operationId: instance_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete an instance | |
tags: | |
- instances | |
get: | |
description: Gets a specific instance (basic struct). | |
operationId: instance_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Instance | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Instance' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the instance | |
tags: | |
- instances | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the instance configuration | |
operationId: instance_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Update request | |
in: body | |
name: instance | |
schema: | |
$ref: '#/definitions/InstancePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the instance | |
tags: | |
- instances | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Renames, moves an instance between pools or migrates an instance to another server. | |
The returned operation metadata will vary based on what's requested. | |
For rename or move within the same server, this is a simple background operation with progress data. | |
For migration, in the push case, this will similarly be a background | |
operation with progress data, for the pull case, it will be a websocket | |
operation with a number of secrets to be passed to the target server. | |
operationId: instance_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Migration request | |
in: body | |
name: migration | |
schema: | |
$ref: '#/definitions/InstancePost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename or move/migrate an instance | |
tags: | |
- instances | |
put: | |
consumes: | |
- application/json | |
description: Updates the instance configuration or trigger a snapshot restore. | |
operationId: instance_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Update request | |
in: body | |
name: instance | |
schema: | |
$ref: '#/definitions/InstancePut' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the instance | |
tags: | |
- instances | |
/1.0/instances/{name}/backups: | |
get: | |
description: Returns a list of instance backups (URLs). | |
operationId: instance_backups_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/instances/foo/backups/backup0", | |
"/1.0/instances/foo/backups/backup1" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the backups | |
tags: | |
- instances | |
post: | |
consumes: | |
- application/json | |
description: Creates a new backup. | |
operationId: instance_backups_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Backup request | |
in: body | |
name: backup | |
schema: | |
$ref: '#/definitions/InstanceBackupsPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create a backup | |
tags: | |
- instances | |
/1.0/instances/{name}/backups/{backup}: | |
delete: | |
consumes: | |
- application/json | |
description: Deletes the instance backup. | |
operationId: instance_backup_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete a backup | |
tags: | |
- instances | |
get: | |
description: Gets a specific instance backup. | |
operationId: instance_backup_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Instance backup | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/InstanceBackup' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the backup | |
tags: | |
- instances | |
post: | |
consumes: | |
- application/json | |
description: Renames an instance backup. | |
operationId: instance_backup_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Backup rename | |
in: body | |
name: backup | |
schema: | |
$ref: '#/definitions/InstanceBackupPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename a backup | |
tags: | |
- instances | |
/1.0/instances/{name}/backups/{backup}/export: | |
get: | |
description: Download the raw backup file(s) from the server. | |
operationId: instance_backup_export | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/octet-stream | |
responses: | |
"200": | |
description: Raw image data | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the raw backup file(s) | |
tags: | |
- instances | |
/1.0/instances/{name}/backups?recursion=1: | |
get: | |
description: Returns a list of instance backups (structs). | |
operationId: instance_backups_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of instance backups | |
items: | |
$ref: '#/definitions/InstanceBackup' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the backups | |
tags: | |
- instances | |
/1.0/instances/{name}/console: | |
delete: | |
description: Clears the console log buffer. | |
operationId: instance_console_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Clear the console log | |
tags: | |
- instances | |
get: | |
description: Gets the console log for the instance. | |
operationId: instance_console_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Raw console log | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get console log | |
tags: | |
- instances | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Connects to the console of an instance. | |
The returned operation metadata will contain two websockets, one for data and one for control. | |
operationId: instance_console_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Console request | |
in: body | |
name: console | |
schema: | |
$ref: '#/definitions/InstanceConsolePost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Connect to console | |
tags: | |
- instances | |
/1.0/instances/{name}/exec: | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Executes a command inside an instance. | |
The returned operation metadata will contain either 2 or 4 websockets. | |
In non-interactive mode, you'll get one websocket for each of stdin, stdout and stderr. | |
In interactive mode, a single bi-directional websocket is used for stdin and stdout/stderr. | |
An additional "control" socket is always added on top which can be used for out of band communication with LXD. | |
This allows sending signals and window sizing information through. | |
operationId: instance_exec_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Exec request | |
in: body | |
name: exec | |
schema: | |
$ref: '#/definitions/InstanceExecPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Run a command | |
tags: | |
- instances | |
/1.0/instances/{name}/files: | |
delete: | |
description: Removes the file. | |
operationId: instance_files_delete | |
parameters: | |
- description: Path to the file | |
example: default | |
in: query | |
name: path | |
type: string | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete a file | |
tags: | |
- instances | |
get: | |
description: Gets the file content. If it's a directory, a json list of files will be returned instead. | |
operationId: instance_files_get | |
parameters: | |
- description: Path to the file | |
example: default | |
in: query | |
name: path | |
type: string | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
- application/octet-stream | |
responses: | |
"200": | |
description: Raw file or directory listing | |
headers: | |
X-LXD-gid: | |
description: File owner GID | |
X-LXD-mode: | |
description: Mode mask | |
X-LXD-modified: | |
description: Last modified date | |
X-LXD-type: | |
description: Type of file (file, symlink or directory) | |
X-LXD-uid: | |
description: File owner UID | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get a file | |
tags: | |
- instances | |
head: | |
description: Gets the file or directory metadata. | |
operationId: instance_files_head | |
parameters: | |
- description: Path to the file | |
example: default | |
in: query | |
name: path | |
type: string | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
responses: | |
"200": | |
description: Raw file or directory listing | |
headers: | |
X-LXD-gid: | |
description: File owner GID | |
X-LXD-mode: | |
description: Mode mask | |
X-LXD-modified: | |
description: Last modified date | |
X-LXD-type: | |
description: Type of file (file, symlink or directory) | |
X-LXD-uid: | |
description: File owner UID | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get metadata for a file | |
tags: | |
- instances | |
post: | |
consumes: | |
- application/octet-stream | |
description: Creates a new file in the instance. | |
operationId: instance_files_post | |
parameters: | |
- description: Path to the file | |
example: default | |
in: query | |
name: path | |
type: string | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Raw file content | |
in: body | |
name: raw_file | |
- description: File owner UID | |
example: 1000 | |
in: header | |
name: X-LXD-uid | |
schema: | |
type: integer | |
- description: File owner GID | |
example: 1000 | |
in: header | |
name: X-LXD-gid | |
schema: | |
type: integer | |
- description: File mode | |
example: 420 | |
in: header | |
name: X-LXD-mode | |
schema: | |
type: integer | |
- description: Type of file (file, symlink or directory) | |
example: file | |
in: header | |
name: X-LXD-type | |
schema: | |
type: string | |
- description: Write mode (overwrite or append) | |
example: overwrite | |
in: header | |
name: X-LXD-write | |
schema: | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create or replace a file | |
tags: | |
- instances | |
/1.0/instances/{name}/logs: | |
get: | |
description: Returns a list of log files (URLs). | |
operationId: instance_logs_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/instances/foo/logs/lxc.conf", | |
"/1.0/instances/foo/logs/lxc.log" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the log files | |
tags: | |
- instances | |
/1.0/instances/{name}/logs/{filename}: | |
delete: | |
description: Removes the log file. | |
operationId: instance_log_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the log file | |
tags: | |
- instances | |
get: | |
description: Gets the log file. | |
operationId: instance_log_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
- application/octet-stream | |
responses: | |
"200": | |
description: Raw file | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the log file | |
tags: | |
- instances | |
/1.0/instances/{name}/logs/exec-output: | |
get: | |
description: Returns a list of exec record-output files (URLs). | |
operationId: instance_exec-outputs_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/instances/foo/logs/exec-output/exec_d0a89537-0617-4ed6-a79b-c2e88a970965.stdout", | |
"/1.0/instances/foo/logs/exec-output/exec_d0a89537-0617-4ed6-a79b-c2e88a970965.stderr", | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the exec record-output files | |
tags: | |
- instances | |
/1.0/instances/{name}/logs/exec-output/{filename}: | |
delete: | |
description: Removes the exec record-output file. | |
operationId: instance_exec-output_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the exec record-output file | |
tags: | |
- instances | |
get: | |
description: Gets the exec-output file. | |
operationId: instance_exec-output_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
- application/octet-stream | |
responses: | |
"200": | |
description: Raw file | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the exec-output log file | |
tags: | |
- instances | |
/1.0/instances/{name}/metadata: | |
get: | |
description: Gets the image metadata for the instance. | |
operationId: instance_metadata_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Image metadata | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/ImageMetadata' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the instance image metadata | |
tags: | |
- instances | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the instance image metadata. | |
operationId: instance_metadata_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image metadata | |
in: body | |
name: metadata | |
required: true | |
schema: | |
$ref: '#/definitions/ImageMetadata' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the image metadata | |
tags: | |
- instances | |
put: | |
consumes: | |
- application/json | |
description: Updates the instance image metadata. | |
operationId: instance_metadata_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Image metadata | |
in: body | |
name: metadata | |
required: true | |
schema: | |
$ref: '#/definitions/ImageMetadata' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the image metadata | |
tags: | |
- instances | |
/1.0/instances/{name}/metadata/templates: | |
delete: | |
description: Removes the template file. | |
operationId: instance_metadata_templates_delete | |
parameters: | |
- description: Template name | |
example: default | |
in: query | |
name: path | |
type: string | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete a template file | |
tags: | |
- instances | |
get: | |
description: |- | |
If no path specified, returns a list of template file names. | |
If a path is specified, returns the file content. | |
operationId: instance_metadata_templates_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Template name | |
example: hostname.tpl | |
in: query | |
name: path | |
type: string | |
produces: | |
- application/json | |
- application/octet-stream | |
responses: | |
"200": | |
description: Raw template file or file listing | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the template file names or a specific | |
tags: | |
- instances | |
post: | |
consumes: | |
- application/octet-stream | |
description: Creates a new image template file for the instance. | |
operationId: instance_metadata_templates_post | |
parameters: | |
- description: Template name | |
example: default | |
in: query | |
name: path | |
type: string | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Raw file content | |
in: body | |
name: raw_file | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create or replace a template file | |
tags: | |
- instances | |
/1.0/instances/{name}/rebuild: | |
post: | |
consumes: | |
- application/octet-stream | |
description: Rebuild an instance using an alternate image or as empty. | |
operationId: instance_rebuild_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: InstanceRebuild request | |
in: body | |
name: instance | |
required: true | |
schema: | |
$ref: '#/definitions/InstanceRebuildPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rebuild an instance | |
tags: | |
- instances | |
/1.0/instances/{name}/sftp: | |
get: | |
description: Upgrades the request to an SFTP connection of the instance's filesystem. | |
operationId: instance_sftp | |
produces: | |
- application/json | |
- application/octet-stream | |
responses: | |
"101": | |
description: Switching protocols to SFTP | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the instance SFTP connection | |
tags: | |
- instances | |
/1.0/instances/{name}/snapshots: | |
get: | |
description: Returns a list of instance snapshots (URLs). | |
operationId: instance_snapshots_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/instances/foo/snapshots/snap0", | |
"/1.0/instances/foo/snapshots/snap1" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the snapshots | |
tags: | |
- instances | |
post: | |
consumes: | |
- application/json | |
description: Creates a new snapshot. | |
operationId: instance_snapshots_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Snapshot request | |
in: body | |
name: snapshot | |
schema: | |
$ref: '#/definitions/InstanceSnapshotsPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create a snapshot | |
tags: | |
- instances | |
/1.0/instances/{name}/snapshots/{snapshot}: | |
delete: | |
consumes: | |
- application/json | |
description: Deletes the instance snapshot. | |
operationId: instance_snapshot_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete a snapshot | |
tags: | |
- instances | |
get: | |
description: Gets a specific instance snapshot. | |
operationId: instance_snapshot_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Instance snapshot | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/InstanceSnapshot' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the snapshot | |
tags: | |
- instances | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the snapshot config. | |
operationId: instance_snapshot_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Snapshot update | |
in: body | |
name: snapshot | |
schema: | |
$ref: '#/definitions/InstanceSnapshotPut' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update snapshot | |
tags: | |
- instances | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Renames or migrates an instance snapshot to another server. | |
The returned operation metadata will vary based on what's requested. | |
For rename or move within the same server, this is a simple background operation with progress data. | |
For migration, in the push case, this will similarly be a background | |
operation with progress data, for the pull case, it will be a websocket | |
operation with a number of secrets to be passed to the target server. | |
operationId: instance_snapshot_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Snapshot migration | |
in: body | |
name: snapshot | |
schema: | |
$ref: '#/definitions/InstanceSnapshotPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename or move/migrate a snapshot | |
tags: | |
- instances | |
put: | |
consumes: | |
- application/json | |
description: Updates the snapshot config. | |
operationId: instance_snapshot_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Snapshot update | |
in: body | |
name: snapshot | |
schema: | |
$ref: '#/definitions/InstanceSnapshotPut' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update snapshot | |
tags: | |
- instances | |
/1.0/instances/{name}/snapshots?recursion=1: | |
get: | |
description: Returns a list of instance snapshots (structs). | |
operationId: instance_snapshots_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of instance snapshots | |
items: | |
$ref: '#/definitions/InstanceSnapshot' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the snapshots | |
tags: | |
- instances | |
/1.0/instances/{name}/state: | |
get: | |
description: |- | |
Gets the runtime state of the instance. | |
This is a reasonably expensive call as it causes code to be run | |
inside of the instance to retrieve the resource usage and network | |
information. | |
operationId: instance_state_get | |
parameters: | |
- description: Project name | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: State | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/InstanceState' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the runtime state | |
tags: | |
- instances | |
put: | |
consumes: | |
- application/json | |
description: Changes the running state of the instance. | |
operationId: instance_state_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: State | |
in: body | |
name: state | |
schema: | |
$ref: '#/definitions/InstanceStatePut' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Change the state | |
tags: | |
- instances | |
/1.0/instances/{name}?recursion=1: | |
get: | |
description: |- | |
Gets a specific instance (full struct). | |
recursion=1 also includes information about state, snapshots and backups. | |
operationId: instance_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Instance | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Instance' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the instance | |
tags: | |
- instances | |
/1.0/instances?recursion=1: | |
get: | |
description: Returns a list of instances (basic structs). | |
operationId: instances_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Collection filter | |
example: default | |
in: query | |
name: filter | |
type: string | |
- description: Retrieve instances from all projects | |
in: query | |
name: all-projects | |
type: boolean | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of instances | |
items: | |
$ref: '#/definitions/Instance' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the instances | |
tags: | |
- instances | |
/1.0/instances?recursion=2: | |
get: | |
description: |- | |
Returns a list of instances (full structs). | |
The main difference between recursion=1 and recursion=2 is that the | |
latter also includes state and snapshot information allowing for a | |
single API call to return everything needed by most clients. | |
operationId: instances_get_recursion2 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Collection filter | |
example: default | |
in: query | |
name: filter | |
type: string | |
- description: Retrieve instances from all projects | |
in: query | |
name: all-projects | |
type: boolean | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of instances | |
items: | |
$ref: '#/definitions/InstanceFull' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the instances | |
tags: | |
- instances | |
/1.0/metadata/configuration: | |
get: | |
description: Returns the generated LXD metadata configuration in YAML format. | |
operationId: metadata_configuration_get | |
produces: | |
- text/plain | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: The generated metadata configuration | |
type: string | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the metadata configuration | |
/1.0/metrics: | |
get: | |
description: Gets metrics of instances. | |
operationId: metrics_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- text/plain | |
responses: | |
"200": | |
description: Metrics | |
schema: | |
description: Instance metrics | |
type: string | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get metrics | |
tags: | |
- metrics | |
/1.0/network-acls: | |
get: | |
description: Returns a list of network ACLs (URLs). | |
operationId: network_acls_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/network-acls/foo", | |
"/1.0/network-acls/bar" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network ACLs | |
tags: | |
- network-acls | |
post: | |
consumes: | |
- application/json | |
description: Creates a new network ACL. | |
operationId: network_acls_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: ACL | |
in: body | |
name: acl | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkACLsPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a network ACL | |
tags: | |
- network-acls | |
/1.0/network-acls/{name}: | |
delete: | |
description: Removes the network ACL. | |
operationId: network_acl_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the network ACL | |
tags: | |
- network-acls | |
get: | |
description: Gets a specific network ACL. | |
operationId: network_acl_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: ACL | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/NetworkACL' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network ACL | |
tags: | |
- network-acls | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the network ACL configuration. | |
operationId: network_acl_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: ACL configuration | |
in: body | |
name: acl | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkACLPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the network ACL | |
tags: | |
- network-acls | |
post: | |
consumes: | |
- application/json | |
description: Renames an existing network ACL. | |
operationId: network_acl_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: ACL rename request | |
in: body | |
name: acl | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkACLPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename the network ACL | |
tags: | |
- network-acls | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire network ACL configuration. | |
operationId: network_acl_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: ACL configuration | |
in: body | |
name: acl | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkACLPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the network ACL | |
tags: | |
- network-acls | |
/1.0/network-acls/{name}/log: | |
get: | |
description: Gets a specific network ACL log entries. | |
operationId: network_acl_log_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/octet-stream | |
responses: | |
"200": | |
description: Raw log file | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network ACL log | |
tags: | |
- network-acls | |
/1.0/network-acls?recursion=1: | |
get: | |
description: Returns a list of network ACLs (structs). | |
operationId: network_acls_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of network ACLs | |
items: | |
$ref: '#/definitions/NetworkACL' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network ACLs | |
tags: | |
- network-acls | |
/1.0/network-allocations: | |
get: | |
description: Returns a list of network allocations in use by a LXD deployment. | |
operationId: network_allocations_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Retrieve entities from all projects | |
in: query | |
name: all-projects | |
type: boolean | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
properties: | |
metadata: | |
description: List of network allocations used by a consuming entity | |
items: | |
$ref: '#/definitions/NetworkAllocations' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network allocations in use (`network`, `network-forward` and `load-balancer` and `instance`) | |
tags: | |
- network-allocations | |
/1.0/network-zones: | |
get: | |
description: Returns a list of network zones (URLs). | |
operationId: network_zones_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/network-zones/example.net", | |
"/1.0/network-zones/example.com" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network zones | |
tags: | |
- network-zones | |
post: | |
consumes: | |
- application/json | |
description: Creates a new network zone. | |
operationId: network_zones_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: zone | |
in: body | |
name: zone | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkZonesPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a network zone | |
tags: | |
- network-zones | |
/1.0/network-zones/{zone}: | |
delete: | |
description: Removes the network zone. | |
operationId: network_zone_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the network zone | |
tags: | |
- network-zones | |
get: | |
description: Gets a specific network zone. | |
operationId: network_zone_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: zone | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/NetworkZone' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network zone | |
tags: | |
- network-zones | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the network zone configuration. | |
operationId: network_zone_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: zone configuration | |
in: body | |
name: zone | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkZonePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the network zone | |
tags: | |
- network-zones | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire network zone configuration. | |
operationId: network_zone_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: zone configuration | |
in: body | |
name: zone | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkZonePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the network zone | |
tags: | |
- network-zones | |
/1.0/network-zones/{zone}/records: | |
get: | |
description: Returns a list of network zone records (URLs). | |
operationId: network_zone_records_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/network-zones/example.net/records/foo", | |
"/1.0/network-zones/example.net/records/bar" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network zone records | |
tags: | |
- network-zones | |
post: | |
consumes: | |
- application/json | |
description: Creates a new network zone record. | |
operationId: network_zone_records_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: zone | |
in: body | |
name: zone | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkZoneRecordsPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a network zone record | |
tags: | |
- network-zones | |
/1.0/network-zones/{zone}/records/{name}: | |
delete: | |
description: Removes the network zone record. | |
operationId: network_zone_record_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the network zone record | |
tags: | |
- network-zones | |
get: | |
description: Gets a specific network zone record. | |
operationId: network_zone_record_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: zone | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/NetworkZoneRecord' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network zone record | |
tags: | |
- network-zones | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the network zone record configuration. | |
operationId: network_zone_record_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: zone record configuration | |
in: body | |
name: zone | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkZoneRecordPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the network zone record | |
tags: | |
- network-zones | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire network zone record configuration. | |
operationId: network_zone_record_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: zone record configuration | |
in: body | |
name: zone | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkZoneRecordPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the network zone record | |
tags: | |
- network-zones | |
/1.0/network-zones/{zone}/records?recursion=1: | |
get: | |
description: Returns a list of network zone records (structs). | |
operationId: network_zone_records_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of network zone records | |
items: | |
$ref: '#/definitions/NetworkZoneRecord' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network zone records | |
tags: | |
- network-zones | |
/1.0/network-zones?recursion=1: | |
get: | |
description: Returns a list of network zones (structs). | |
operationId: network_zones_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of network zones | |
items: | |
$ref: '#/definitions/NetworkZone' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network zones | |
tags: | |
- network-zones | |
/1.0/networks: | |
get: | |
description: Returns a list of networks (URLs). | |
operationId: networks_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/networks/lxdbr0", | |
"/1.0/networks/lxdbr1" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the networks | |
tags: | |
- networks | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Creates a new network. | |
When clustered, most network types require individual POST for each cluster member prior to a global POST. | |
operationId: networks_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Network | |
in: body | |
name: network | |
required: true | |
schema: | |
$ref: '#/definitions/NetworksPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a network | |
tags: | |
- networks | |
/1.0/networks/{name}: | |
delete: | |
description: Removes the network. | |
operationId: network_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the network | |
tags: | |
- networks | |
get: | |
description: Gets a specific network. | |
operationId: network_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Network | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Network' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network | |
tags: | |
- networks | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the network configuration. | |
operationId: network_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Network configuration | |
in: body | |
name: network | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the network | |
tags: | |
- networks | |
post: | |
consumes: | |
- application/json | |
description: Renames an existing network. | |
operationId: network_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Network rename request | |
in: body | |
name: network | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename the network | |
tags: | |
- networks | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire network configuration. | |
operationId: network_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Network configuration | |
in: body | |
name: network | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the network | |
tags: | |
- networks | |
/1.0/networks/{name}/leases: | |
get: | |
description: Returns a list of DHCP leases for the network. | |
operationId: networks_leases_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of DHCP leases | |
items: | |
$ref: '#/definitions/NetworkLease' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the DHCP leases | |
tags: | |
- networks | |
/1.0/networks/{name}/state: | |
get: | |
description: Returns the current network state information. | |
operationId: networks_state_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/NetworkState' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network state | |
tags: | |
- networks | |
/1.0/networks/{networkName}/forwards: | |
get: | |
description: Returns a list of network address forwards (URLs). | |
operationId: network_forwards_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/networks/lxdbr0/forwards/192.0.2.1", | |
"/1.0/networks/lxdbr0/forwards/192.0.2.2" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network address forwards | |
tags: | |
- network-forwards | |
post: | |
consumes: | |
- application/json | |
description: Creates a new network address forward. | |
operationId: network_forwards_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Forward | |
in: body | |
name: forward | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkForwardsPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a network address forward | |
tags: | |
- network-forwards | |
/1.0/networks/{networkName}/forwards/{listenAddress}: | |
delete: | |
description: Removes the network address forward. | |
operationId: network_forward_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the network address forward | |
tags: | |
- network-forwards | |
get: | |
description: Gets a specific network address forward. | |
operationId: network_forward_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Address forward | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/NetworkForward' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network address forward | |
tags: | |
- network-forwards | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the network address forward configuration. | |
operationId: network_forward_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Address forward configuration | |
in: body | |
name: forward | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkForwardPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the network address forward | |
tags: | |
- network-forwards | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire network address forward configuration. | |
operationId: network_forward_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Address forward configuration | |
in: body | |
name: forward | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkForwardPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the network address forward | |
tags: | |
- network-forwards | |
/1.0/networks/{networkName}/forwards?recursion=1: | |
get: | |
description: Returns a list of network address forwards (structs). | |
operationId: network_forward_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of network address forwards | |
items: | |
$ref: '#/definitions/NetworkForward' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network address forwards | |
tags: | |
- network-forwards | |
/1.0/networks/{networkName}/load-balancers: | |
get: | |
description: Returns a list of network address load balancers (URLs). | |
operationId: network_load_balancers_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/networks/lxdbr0/load-balancers/192.0.2.1", | |
"/1.0/networks/lxdbr0/load-balancers/192.0.2.2" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network address of load balancers | |
tags: | |
- network-load-balancers | |
post: | |
consumes: | |
- application/json | |
description: Creates a new network load balancer. | |
operationId: network_load_balancers_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Load Balancer | |
in: body | |
name: load-balancer | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkLoadBalancersPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a network load balancer | |
tags: | |
- network-load-balancers | |
/1.0/networks/{networkName}/load-balancers/{listenAddress}: | |
delete: | |
description: Removes the network address load balancer. | |
operationId: network_load_balancer_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the network address load balancer | |
tags: | |
- network-load-balancers | |
get: | |
description: Gets a specific network address load balancer. | |
operationId: network_load_balancer_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Load Balancer | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/NetworkLoadBalancer' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network address load balancer | |
tags: | |
- network-load-balancers | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the network address load balancer configuration. | |
operationId: network_load_balancer_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Address load balancer configuration | |
in: body | |
name: load-balancer | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkLoadBalancerPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the network address load balancer | |
tags: | |
- network-load-balancers | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire network address load balancer configuration. | |
operationId: network_load_balancer_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Address load balancer configuration | |
in: body | |
name: load-balancer | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkLoadBalancerPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the network address load balancer | |
tags: | |
- network-load-balancers | |
/1.0/networks/{networkName}/load-balancers?recursion=1: | |
get: | |
description: Returns a list of network address load balancers (structs). | |
operationId: network_load_balancer_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of network address load balancers | |
items: | |
$ref: '#/definitions/NetworkLoadBalancer' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network address load balancers | |
tags: | |
- network-load-balancers | |
/1.0/networks/{networkName}/peers: | |
get: | |
description: Returns a list of network peers (URLs). | |
operationId: network_peers_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/networks/lxdbr0/peers/my-peer-1", | |
"/1.0/networks/lxdbr0/peers/my-peer-2" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network peers | |
tags: | |
- network-peers | |
post: | |
consumes: | |
- application/json | |
description: Initiates/creates a new network peering. | |
operationId: network_peers_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Peer | |
in: body | |
name: peer | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkPeersPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"202": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a network peer | |
tags: | |
- network-peers | |
/1.0/networks/{networkName}/peers/{peerName}: | |
delete: | |
description: Removes the network peering. | |
operationId: network_peer_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the network peer | |
tags: | |
- network-peers | |
get: | |
description: Gets a specific network peering. | |
operationId: network_peer_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Peer | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/NetworkPeer' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network peer | |
tags: | |
- network-peers | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the network peering configuration. | |
operationId: network_peer_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Peer configuration | |
in: body | |
name: Peer | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkPeerPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the network peer | |
tags: | |
- network-peers | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire network peering configuration. | |
operationId: network_peer_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Peer configuration | |
in: body | |
name: peer | |
required: true | |
schema: | |
$ref: '#/definitions/NetworkPeerPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the network peer | |
tags: | |
- network-peers | |
/1.0/networks/{networkName}/peers?recursion=1: | |
get: | |
description: Returns a list of network peers (structs). | |
operationId: network_peer_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of network peers | |
items: | |
$ref: '#/definitions/NetworkPeer' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the network peers | |
tags: | |
- network-peers | |
/1.0/networks?recursion=1: | |
get: | |
description: Returns a list of networks (structs). | |
operationId: networks_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of networks | |
items: | |
$ref: '#/definitions/Network' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the networks | |
tags: | |
- networks | |
/1.0/operations: | |
get: | |
description: Returns a JSON object of operation type to operation list (URLs). | |
operationId: operations_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Retrieve operations from all projects | |
in: query | |
name: all-projects | |
type: boolean | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
additionalProperties: | |
items: | |
type: string | |
type: array | |
description: JSON object of operation types to operation URLs | |
example: |- | |
{ | |
"running": [ | |
"/1.0/operations/6916c8a6-9b7d-4abd-90b3-aedfec7ec7da" | |
] | |
} | |
type: object | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the operations | |
tags: | |
- operations | |
/1.0/operations/{id}: | |
delete: | |
description: Cancels the operation if supported. | |
operationId: operation_delete | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Cancel the operation | |
tags: | |
- operations | |
get: | |
description: Gets the operation state. | |
operationId: operation_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Operation | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Operation' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the operation state | |
tags: | |
- operations | |
/1.0/operations/{id}/wait: | |
get: | |
description: Waits for the operation to reach a final state (or timeout) and retrieve its final state. | |
operationId: operation_wait_get | |
parameters: | |
- description: Timeout in seconds (-1 means never) | |
example: -1 | |
in: query | |
name: timeout | |
type: integer | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Operation | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Operation' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Wait for the operation | |
tags: | |
- operations | |
/1.0/operations/{id}/wait?public: | |
get: | |
description: |- | |
Waits for the operation to reach a final state (or timeout) and retrieve its final state. | |
When accessed by an untrusted user, the secret token must be provided. | |
operationId: operation_wait_get_untrusted | |
parameters: | |
- description: Authentication token | |
example: random-string | |
in: query | |
name: secret | |
type: string | |
- description: Timeout in seconds (-1 means never) | |
example: -1 | |
in: query | |
name: timeout | |
type: integer | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Operation | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Operation' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Wait for the operation | |
tags: | |
- operations | |
/1.0/operations/{id}/websocket: | |
get: | |
description: |- | |
Connects to an associated websocket stream for the operation. | |
This should almost never be done directly by a client, instead it's | |
meant for LXD to LXD communication with the client only relaying the | |
connection information to the servers. | |
operationId: operation_websocket_get | |
parameters: | |
- description: Authentication token | |
example: random-string | |
in: query | |
name: secret | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Websocket operation messages (dependent on operation) | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the websocket stream | |
tags: | |
- operations | |
/1.0/operations/{id}/websocket?public: | |
get: | |
description: |- | |
Connects to an associated websocket stream for the operation. | |
This should almost never be done directly by a client, instead it's | |
meant for LXD to LXD communication with the client only relaying the | |
connection information to the servers. | |
The untrusted endpoint is used by the target server to connect to the source server. | |
Authentication is performed through the secret token. | |
operationId: operation_websocket_get_untrusted | |
parameters: | |
- description: Authentication token | |
example: random-string | |
in: query | |
name: secret | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Websocket operation messages (dependent on operation) | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the websocket stream | |
tags: | |
- operations | |
/1.0/operations?recursion=1: | |
get: | |
description: Returns a list of operations (structs). | |
operationId: operations_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Retrieve operations from all projects | |
in: query | |
name: all-projects | |
type: boolean | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of operations | |
items: | |
$ref: '#/definitions/Operation' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the operations | |
tags: | |
- operations | |
/1.0/profiles: | |
get: | |
description: Returns a list of profiles (URLs). | |
operationId: profiles_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/profiles/default", | |
"/1.0/profiles/foo" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the profiles | |
tags: | |
- profiles | |
post: | |
consumes: | |
- application/json | |
description: Creates a new profile. | |
operationId: profiles_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Profile | |
in: body | |
name: profile | |
required: true | |
schema: | |
$ref: '#/definitions/ProfilesPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a profile | |
tags: | |
- profiles | |
/1.0/profiles/{name}: | |
delete: | |
description: Removes the profile. | |
operationId: profile_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the profile | |
tags: | |
- profiles | |
get: | |
description: Gets a specific profile. | |
operationId: profile_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Profile | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Profile' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the profile | |
tags: | |
- profiles | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the profile configuration. | |
operationId: profile_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Profile configuration | |
in: body | |
name: profile | |
required: true | |
schema: | |
$ref: '#/definitions/ProfilePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the profile | |
tags: | |
- profiles | |
post: | |
consumes: | |
- application/json | |
description: Renames an existing profile. | |
operationId: profile_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Profile rename request | |
in: body | |
name: profile | |
required: true | |
schema: | |
$ref: '#/definitions/ProfilePost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename the profile | |
tags: | |
- profiles | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire profile configuration. | |
operationId: profile_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Profile configuration | |
in: body | |
name: profile | |
required: true | |
schema: | |
$ref: '#/definitions/ProfilePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the profile | |
tags: | |
- profiles | |
/1.0/profiles?recursion=1: | |
get: | |
description: Returns a list of profiles (structs). | |
operationId: profiles_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of profiles | |
items: | |
$ref: '#/definitions/Profile' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the profiles | |
tags: | |
- profiles | |
/1.0/projects: | |
get: | |
description: Returns a list of projects (URLs). | |
operationId: projects_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/projects/default", | |
"/1.0/projects/foo" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the projects | |
tags: | |
- projects | |
post: | |
consumes: | |
- application/json | |
description: Creates a new project. | |
operationId: projects_post | |
parameters: | |
- description: Project | |
in: body | |
name: project | |
required: true | |
schema: | |
$ref: '#/definitions/ProjectsPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a project | |
tags: | |
- projects | |
/1.0/projects/{name}: | |
delete: | |
description: Removes the project. | |
operationId: project_delete | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the project | |
tags: | |
- projects | |
get: | |
description: Gets a specific project. | |
operationId: project_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Project | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Project' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the project | |
tags: | |
- projects | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the project configuration. | |
operationId: project_patch | |
parameters: | |
- description: Project configuration | |
in: body | |
name: project | |
required: true | |
schema: | |
$ref: '#/definitions/ProjectPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the project | |
tags: | |
- projects | |
post: | |
consumes: | |
- application/json | |
description: Renames an existing project. | |
operationId: project_post | |
parameters: | |
- description: Project rename request | |
in: body | |
name: project | |
required: true | |
schema: | |
$ref: '#/definitions/ProjectPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename the project | |
tags: | |
- projects | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire project configuration. | |
operationId: project_put | |
parameters: | |
- description: Project configuration | |
in: body | |
name: project | |
required: true | |
schema: | |
$ref: '#/definitions/ProjectPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the project | |
tags: | |
- projects | |
/1.0/projects/{name}/state: | |
get: | |
description: Gets a specific project resource consumption information. | |
operationId: project_state_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Project state | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/ProjectState' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the project state | |
tags: | |
- projects | |
/1.0/projects?recursion=1: | |
get: | |
description: Returns a list of projects (structs). | |
operationId: projects_get_recursion1 | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of projects | |
items: | |
$ref: '#/definitions/Project' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the projects | |
tags: | |
- projects | |
/1.0/resources: | |
get: | |
description: Gets the hardware information profile of the LXD server. | |
operationId: resources_get | |
parameters: | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Hardware resources | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Resources' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get system resources information | |
tags: | |
- server | |
/1.0/storage-pools: | |
get: | |
description: Returns a list of storage pools (URLs). | |
operationId: storage_pools_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/storage-pools/local", | |
"/1.0/storage-pools/remote" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage pools | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Creates a new storage pool. | |
When clustered, storage pools require individual POST for each cluster member prior to a global POST. | |
operationId: storage_pools_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage pool | |
in: body | |
name: storage | |
required: true | |
schema: | |
$ref: '#/definitions/StoragePoolsPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a storage pool | |
tags: | |
- storage | |
/1.0/storage-pools/{name}/buckets/{bucketName}: | |
delete: | |
description: Removes the storage bucket. | |
operationId: storage_pool_bucket_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the storage bucket | |
tags: | |
- storage | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the storage bucket configuration. | |
operationId: storage_pool_bucket_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage bucket configuration | |
in: body | |
name: storage bucket | |
required: true | |
schema: | |
$ref: '#/definitions/StorageBucketPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the storage bucket. | |
tags: | |
- storage | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire storage bucket configuration. | |
operationId: storage_pool_bucket_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage bucket configuration | |
in: body | |
name: storage bucket | |
required: true | |
schema: | |
$ref: '#/definitions/StorageBucketPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the storage bucket | |
tags: | |
- storage | |
/1.0/storage-pools/{name}/buckets/{bucketName}/keys/{keyName}: | |
delete: | |
description: Removes the storage bucket key. | |
operationId: storage_pool_bucket_key_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the storage bucket key | |
tags: | |
- storage | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire storage bucket key configuration. | |
operationId: storage_pool_bucket_key_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage bucket key configuration | |
in: body | |
name: storage bucket | |
required: true | |
schema: | |
$ref: '#/definitions/StorageBucketKeyPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the storage bucket key | |
tags: | |
- storage | |
/1.0/storage-pools/{name}/resources: | |
get: | |
description: Gets the usage information for the storage pool. | |
operationId: storage_pool_resources | |
parameters: | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Hardware resources | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/ResourcesStoragePool' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get storage pool resources information | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}: | |
delete: | |
description: Removes the storage pool. | |
operationId: storage_pools_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the storage pool | |
tags: | |
- storage | |
get: | |
description: Gets a specific storage pool. | |
operationId: storage_pool_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Storage pool | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/StoragePool' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage pool | |
tags: | |
- storage | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the storage pool configuration. | |
operationId: storage_pool_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage pool configuration | |
in: body | |
name: storage pool | |
required: true | |
schema: | |
$ref: '#/definitions/StoragePoolPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the storage pool | |
tags: | |
- storage | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire storage pool configuration. | |
operationId: storage_pool_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage pool configuration | |
in: body | |
name: storage pool | |
required: true | |
schema: | |
$ref: '#/definitions/StoragePoolPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the storage pool | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/buckets: | |
get: | |
description: Returns a list of storage pool buckets (URLs). | |
operationId: storage_pool_buckets_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/storage-pools/default/buckets/foo", | |
"/1.0/storage-pools/default/buckets/bar", | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage pool buckets | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: Creates a new storage pool bucket. | |
operationId: storage_pool_bucket_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Bucket | |
in: body | |
name: bucket | |
required: true | |
schema: | |
$ref: '#/definitions/StorageBucketsPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/definitions/StorageBucketKey' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a storage pool bucket. | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/buckets/{bucketName}: | |
get: | |
description: Gets a specific storage pool bucket. | |
operationId: storage_pool_bucket_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Storage pool bucket | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/StorageBucket' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage pool bucket | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys: | |
get: | |
description: Returns a list of storage pool bucket keys (URLs). | |
operationId: storage_pool_bucket_keys_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/storage-pools/default/buckets/foo/keys/my-read-only-key", | |
"/1.0/storage-pools/default/buckets/bar/keys/admin", | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage pool bucket keys | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: Creates a new storage pool bucket key. | |
operationId: storage_pool_bucket_key_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Bucket | |
in: body | |
name: bucket | |
required: true | |
schema: | |
$ref: '#/definitions/StorageBucketKeysPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/definitions/StorageBucketKey' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a storage pool bucket key. | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys/{keyName}: | |
get: | |
description: Gets a specific storage pool bucket key. | |
operationId: storage_pool_bucket_key_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Storage pool bucket key | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/StorageBucketKey' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage pool bucket key | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys?recursion=1: | |
get: | |
description: Returns a list of storage pool bucket keys (structs). | |
operationId: storage_pool_bucket_keys_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of storage pool bucket keys | |
items: | |
$ref: '#/definitions/StorageBucketKey' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage pool bucket keys | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/buckets?recursion=1: | |
get: | |
description: Returns a list of storage pool buckets (structs). | |
operationId: storage_pool_buckets_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of storage pool buckets | |
items: | |
$ref: '#/definitions/StorageBucket' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage pool buckets | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes: | |
get: | |
description: Returns a list of storage volumes (URLs). | |
operationId: storage_pool_volumes_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Collection filter | |
example: default | |
in: query | |
name: filter | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/storage-pools/local/volumes/container/a1", | |
"/1.0/storage-pools/local/volumes/container/a2", | |
"/1.0/storage-pools/local/volumes/custom/backups", | |
"/1.0/storage-pools/local/volumes/custom/images" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volumes | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Creates a new storage volume. | |
Will return an empty sync response on simple volume creation but an operation on copy or migration. | |
operationId: storage_pool_volumes_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume | |
in: body | |
name: volume | |
required: true | |
schema: | |
$ref: '#/definitions/StorageVolumesPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a storage volume | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}: | |
get: | |
description: Returns a list of storage volumes (URLs) (type specific endpoint). | |
operationId: storage_pool_volumes_type_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/storage-pools/local/volumes/custom/backups", | |
"/1.0/storage-pools/local/volumes/custom/images" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volumes | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Creates a new storage volume (type specific endpoint). | |
Will return an empty sync response on simple volume creation but an operation on copy or migration. | |
operationId: storage_pool_volumes_type_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume | |
in: body | |
name: volume | |
required: true | |
schema: | |
$ref: '#/definitions/StorageVolumesPost' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Add a storage volume | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}: | |
delete: | |
description: Removes the storage volume. | |
operationId: storage_pool_volume_type_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the storage volume | |
tags: | |
- storage | |
get: | |
description: Gets a specific storage volume. | |
operationId: storage_pool_volume_type_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Storage volume | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/StorageVolume' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volume | |
tags: | |
- storage | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the storage volume configuration. | |
operationId: storage_pool_volume_type_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume configuration | |
in: body | |
name: storage volume | |
required: true | |
schema: | |
$ref: '#/definitions/StorageVolumePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the storage volume | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: |- | |
Renames, moves a storage volume between pools or migrates an instance to another server. | |
The returned operation metadata will vary based on what's requested. | |
For rename or move within the same server, this is a simple background operation with progress data. | |
For migration, in the push case, this will similarly be a background | |
operation with progress data, for the pull case, it will be a websocket | |
operation with a number of secrets to be passed to the target server. | |
operationId: storage_pool_volume_type_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Migration request | |
in: body | |
name: migration | |
schema: | |
$ref: '#/definitions/StorageVolumePost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename or move/migrate a storage volume | |
tags: | |
- storage | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire storage volume configuration. | |
operationId: storage_pool_volume_type_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume configuration | |
in: body | |
name: storage volume | |
required: true | |
schema: | |
$ref: '#/definitions/StorageVolumePut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the storage volume | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups: | |
get: | |
description: Returns a list of storage volume backups (URLs). | |
operationId: storage_pool_volumes_type_backups_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/storage-pools/local/volumes/custom/foo/backups/backup0", | |
"/1.0/storage-pools/local/volumes/custom/foo/backups/backup1" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volume backups | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: Creates a new storage volume backup. | |
operationId: storage_pool_volumes_type_backups_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume backup | |
in: body | |
name: volume | |
required: true | |
schema: | |
$ref: '#/definitions/StoragePoolVolumeBackupsPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create a storage volume backup | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName}: | |
delete: | |
consumes: | |
- application/json | |
description: Deletes a new storage volume backup. | |
operationId: storage_pool_volumes_type_backup_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete a storage volume backup | |
tags: | |
- storage | |
get: | |
description: Gets a specific storage volume backup. | |
operationId: storage_pool_volumes_type_backup_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Storage volume backup | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/StoragePoolVolumeBackup' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volume backup | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: Renames a storage volume backup. | |
operationId: storage_pool_volumes_type_backup_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume backup | |
in: body | |
name: volume rename | |
required: true | |
schema: | |
$ref: '#/definitions/StorageVolumeSnapshotPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename a storage volume backup | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName}/export: | |
get: | |
description: Download the raw backup file from the server. | |
operationId: storage_pool_volumes_type_backup_export_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/octet-stream | |
responses: | |
"200": | |
description: Raw backup data | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the raw backup file | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups?recursion=1: | |
get: | |
description: Returns a list of storage volume backups (structs). | |
operationId: storage_pool_volumes_type_backups_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of storage volume backups | |
items: | |
$ref: '#/definitions/StoragePoolVolumeBackup' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volume backups | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots: | |
get: | |
description: Returns a list of storage volume snapshots (URLs). | |
operationId: storage_pool_volumes_type_snapshots_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/storage-pools/local/volumes/custom/foo/snapshots/snap0", | |
"/1.0/storage-pools/local/volumes/custom/foo/snapshots/snap1" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volume snapshots | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: Creates a new storage volume snapshot. | |
operationId: storage_pool_volumes_type_snapshots_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume snapshot | |
in: body | |
name: volume | |
required: true | |
schema: | |
$ref: '#/definitions/StorageVolumeSnapshotsPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Create a storage volume snapshot | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName}: | |
delete: | |
consumes: | |
- application/json | |
description: Deletes a new storage volume snapshot. | |
operationId: storage_pool_volumes_type_snapshot_delete | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete a storage volume snapshot | |
tags: | |
- storage | |
get: | |
description: Gets a specific storage volume snapshot. | |
operationId: storage_pool_volumes_type_snapshot_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Storage volume snapshot | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/StorageVolumeSnapshot' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volume snapshot | |
tags: | |
- storage | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the storage volume snapshot configuration. | |
operationId: storage_pool_volumes_type_snapshot_patch | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume snapshot configuration | |
in: body | |
name: storage volume snapshot | |
required: true | |
schema: | |
$ref: '#/definitions/StorageVolumeSnapshotPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the storage volume snapshot | |
tags: | |
- storage | |
post: | |
consumes: | |
- application/json | |
description: Renames a storage volume snapshot. | |
operationId: storage_pool_volumes_type_snapshot_post | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume snapshot | |
in: body | |
name: volume rename | |
required: true | |
schema: | |
$ref: '#/definitions/StorageVolumeSnapshotPost' | |
produces: | |
- application/json | |
responses: | |
"202": | |
$ref: '#/responses/Operation' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Rename a storage volume snapshot | |
tags: | |
- storage | |
put: | |
consumes: | |
- application/json | |
description: Updates the entire storage volume snapshot configuration. | |
operationId: storage_pool_volumes_type_snapshot_put | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Storage volume snapshot configuration | |
in: body | |
name: storage volume snapshot | |
required: true | |
schema: | |
$ref: '#/definitions/StorageVolumeSnapshotPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"412": | |
$ref: '#/responses/PreconditionFailed' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the storage volume snapshot | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots?recursion=1: | |
get: | |
description: Returns a list of storage volume snapshots (structs). | |
operationId: storage_pool_volumes_type_snapshots_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of storage volume snapshots | |
items: | |
$ref: '#/definitions/StorageVolumeSnapshot' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volume snapshots | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/state: | |
get: | |
description: Gets a specific storage volume state (usage data). | |
operationId: storage_pool_volume_type_state_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Storage pool | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/StorageVolumeState' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volume state | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes/{type}?recursion=1: | |
get: | |
description: Returns a list of storage volumes (structs) (type specific endpoint). | |
operationId: storage_pool_volumes_type_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of storage volumes | |
items: | |
$ref: '#/definitions/StorageVolume' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volumes | |
tags: | |
- storage | |
/1.0/storage-pools/{poolName}/volumes?recursion=1: | |
get: | |
description: Returns a list of storage volumes (structs). | |
operationId: storage_pool_volumes_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
- description: Cluster member name | |
example: lxd01 | |
in: query | |
name: target | |
type: string | |
- description: Collection filter | |
example: default | |
in: query | |
name: filter | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of storage volumes | |
items: | |
$ref: '#/definitions/StorageVolume' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage volumes | |
tags: | |
- storage | |
/1.0/storage-pools?recursion=1: | |
get: | |
description: Returns a list of storage pools (structs). | |
operationId: storage_pools_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of storage pools | |
items: | |
$ref: '#/definitions/StoragePool' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the storage pools | |
tags: | |
- storage | |
/1.0/warnings: | |
get: | |
description: Returns a list of warnings. | |
operationId: warnings_get | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Sync response | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of endpoints | |
example: |- | |
[ | |
"/1.0/warnings/39c61a48-cc17-40ae-8248-4f7b4cadedf4", | |
"/1.0/warnings/951779a5-2820-4d96-b01e-88fe820e5310" | |
] | |
items: | |
type: string | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: List the warnings | |
tags: | |
- warnings | |
/1.0/warnings/{uuid}: | |
delete: | |
description: Removes the warning. | |
operationId: warning_delete | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Delete the warning | |
tags: | |
- warnings | |
get: | |
description: Gets a specific warning. | |
operationId: warning_get | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Warning | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/Warning' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"404": | |
$ref: '#/responses/NotFound' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the warning | |
tags: | |
- warnings | |
patch: | |
consumes: | |
- application/json | |
description: Updates a subset of the warning status. | |
operationId: warning_patch | |
parameters: | |
- description: Warning status | |
in: body | |
name: warning | |
required: true | |
schema: | |
$ref: '#/definitions/WarningPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Partially update the warning | |
tags: | |
- warnings | |
put: | |
consumes: | |
- application/json | |
description: Updates the warning status. | |
operationId: warning_put | |
parameters: | |
- description: Warning status | |
in: body | |
name: warning | |
required: true | |
schema: | |
$ref: '#/definitions/WarningPut' | |
produces: | |
- application/json | |
responses: | |
"200": | |
$ref: '#/responses/EmptySyncResponse' | |
"400": | |
$ref: '#/responses/BadRequest' | |
"403": | |
$ref: '#/responses/Forbidden' | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Update the warning | |
tags: | |
- warnings | |
/1.0/warnings?recursion=1: | |
get: | |
description: Returns a list of warnings (structs). | |
operationId: warnings_get_recursion1 | |
parameters: | |
- description: Project name | |
example: default | |
in: query | |
name: project | |
type: string | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: API endpoints | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
description: List of warnings | |
items: | |
$ref: '#/definitions/Warning' | |
type: array | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the warnings | |
tags: | |
- warnings | |
/1.0?public: | |
get: | |
description: |- | |
Shows a small subset of the server environment and configuration | |
which is required by untrusted clients to reach a server. | |
The `?public` part of the URL isn't required, it's simply used to | |
separate the two behaviors of this endpoint. | |
operationId: server_get_untrusted | |
produces: | |
- application/json | |
responses: | |
"200": | |
description: Server environment and configuration | |
schema: | |
description: Sync response | |
properties: | |
metadata: | |
$ref: '#/definitions/ServerUntrusted' | |
status: | |
description: Status description | |
example: Success | |
type: string | |
status_code: | |
description: Status code | |
example: 200 | |
type: integer | |
type: | |
description: Response type | |
example: sync | |
type: string | |
type: object | |
"500": | |
$ref: '#/responses/InternalServerError' | |
summary: Get the server environment | |
tags: | |
- server | |
responses: | |
BadRequest: | |
description: Bad Request | |
schema: | |
properties: | |
error: | |
example: bad request | |
type: string | |
x-go-name: Error | |
error_code: | |
example: 400 | |
format: int64 | |
type: integer | |
x-go-name: ErrorCode | |
type: | |
example: error | |
type: string | |
x-go-name: Type | |
type: object | |
EmptySyncResponse: | |
description: Empty sync response | |
schema: | |
properties: | |
status: | |
example: Success | |
type: string | |
x-go-name: Status | |
status_code: | |
example: 200 | |
format: int64 | |
type: integer | |
x-go-name: StatusCode | |
type: | |
example: sync | |
type: string | |
x-go-name: Type | |
type: object | |
Forbidden: | |
description: Forbidden | |
schema: | |
properties: | |
error: | |
example: not authorized | |
type: string | |
x-go-name: Error | |
error_code: | |
example: 403 | |
format: int64 | |
type: integer | |
x-go-name: ErrorCode | |
type: | |
example: error | |
type: string | |
x-go-name: Type | |
type: object | |
InternalServerError: | |
description: Internal Server Error | |
schema: | |
properties: | |
error: | |
example: internal server error | |
type: string | |
x-go-name: Error | |
error_code: | |
example: 500 | |
format: int64 | |
type: integer | |
x-go-name: ErrorCode | |
type: | |
example: error | |
type: string | |
x-go-name: Type | |
type: object | |
NotFound: | |
description: Not found | |
schema: | |
properties: | |
error: | |
example: not found | |
type: string | |
x-go-name: Error | |
error_code: | |
example: 404 | |
format: int64 | |
type: integer | |
x-go-name: ErrorCode | |
type: | |
example: error | |
type: string | |
x-go-name: Type | |
type: object | |
Operation: | |
description: Operation | |
schema: | |
properties: | |
metadata: | |
$ref: '#/definitions/Operation' | |
operation: | |
example: /1.0/operations/66e83638-9dd7-4a26-aef2-5462814869a1 | |
type: string | |
x-go-name: Operation | |
status: | |
example: Operation created | |
type: string | |
x-go-name: Status | |
status_code: | |
example: 100 | |
format: int64 | |
type: integer | |
x-go-name: StatusCode | |
type: | |
example: async | |
type: string | |
x-go-name: Type | |
type: object | |
PreconditionFailed: | |
description: Precondition Failed | |
schema: | |
properties: | |
error: | |
example: precondition failed | |
type: string | |
x-go-name: Error | |
error_code: | |
example: 412 | |
format: int64 | |
type: integer | |
x-go-name: ErrorCode | |
type: | |
example: error | |
type: string | |
x-go-name: Type | |
type: object | |
swagger: "2.0" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment