openapi: 3.2.0 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.' license: name: AGPL-3.0-only url: https://www.gnu.org/licenses/agpl-3.0.en.html title: LXD external REST Server API version: '1.0' tags: - name: Server 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 responses: '200': description: API endpoints content: application/json: 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 schema: type: string - description: Project name example: default in: query name: project schema: type: string responses: '200': description: Server environment and configuration content: application/json: schema: description: Sync response properties: metadata: $ref: '#/components/schemas/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: '#/components/responses/InternalServerError' summary: Get the server environment and configuration tags: - Server patch: description: Updates a subset of the server configuration. operationId: server_patch parameters: - description: Cluster member name example: lxd01 in: query name: target schema: type: string responses: '200': $ref: '#/components/responses/EmptySyncResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '412': $ref: '#/components/responses/PreconditionFailed' '500': $ref: '#/components/responses/InternalServerError' summary: Partially update the server configuration tags: - Server requestBody: content: application/json: schema: $ref: '#/components/schemas/ServerPut' description: Server configuration required: true put: description: Updates the entire server configuration. operationId: server_put parameters: - description: Cluster member name example: lxd01 in: query name: target schema: type: string responses: '200': $ref: '#/components/responses/EmptySyncResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '412': $ref: '#/components/responses/PreconditionFailed' '500': $ref: '#/components/responses/InternalServerError' summary: Update the server configuration tags: - Server requestBody: content: application/json: schema: $ref: '#/components/schemas/ServerPut' description: Server configuration required: true /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 schema: type: string - description: Event type(s), comma separated (valid types are logging, operation, lifecycle, ovn or security) example: logging,lifecycle in: query name: type schema: type: string - description: Retrieve instances from all projects in: query name: all-projects schema: type: boolean responses: '200': description: Websocket message (JSON) content: application/json: schema: $ref: '#/components/schemas/Event' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get the event stream tags: - Server /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 schema: type: string responses: '200': description: Hardware resources content: application/json: schema: description: Sync response properties: metadata: $ref: '#/components/schemas/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: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get system resources information tags: - Server /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 responses: '200': description: Server environment and configuration content: application/json: schema: description: Sync response properties: metadata: $ref: '#/components/schemas/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: '#/components/responses/InternalServerError' summary: Get the server environment tags: - Server components: schemas: 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 API extension: oidc' example: - bearer - tls - oidc items: type: string readOnly: true type: array x-go-name: AuthMethods client_certificate: description: 'Whether the requester sent a client certificate with the request API extension: client_cert_presence' example: false readOnly: true type: boolean x-go-name: ClientCertificate config: additionalProperties: {} description: Server configuration map (refer to doc/server.md) The available fields for public endpoint (before authentication) are limited. example: user.microcloud: 'true' type: object x-go-name: Config 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 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 ResourcesUSB: description: ResourcesUSB represents the USB devices available on the system properties: devices: description: List of USB devices items: $ref: '#/components/schemas/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 ResourcesNetwork: description: ResourcesNetwork represents the network cards available on the system properties: cards: description: List of network cards items: $ref: '#/components/schemas/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 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) API extension: resources_cpu_core_die' 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: '#/components/schemas/ResourcesCPUThread' type: array x-go-name: Threads type: object x-go-package: github.com/canonical/lxd/shared/api ResourcesStorageDisk: description: ResourcesStorageDisk represents a disk properties: block_size: description: 'Block size API extension: resources_disk_sata' example: 512 format: uint64 type: integer x-go-name: BlockSize device: description: Device number example: '259:0' type: string x-go-name: Device device_fs_uuid: description: 'UUID of the filesystem on the device API extension: resources_device_fs_uuid' example: 9313518c-0e13-4067-9746-5c1703830b78 type: string x-go-name: DeviceFSUUID device_id: description: 'Device by-id identifier API extension: resources_disk_id' example: nvme-eui.0000000001000000e4d25cafae2e4c00 type: string x-go-name: DeviceID device_path: description: 'Device by-path identifier API extension: resources_disk_sata' example: pci-0000:05:00.0-nvme-1 type: string x-go-name: DevicePath firmware_version: description: 'Current firmware version API extension: resources_disk_sata' 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 mounted: description: Mounted status of the disk example: true type: boolean x-go-name: Mounted 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: '#/components/schemas/ResourcesStorageDiskPartition' type: array x-go-name: Partitions pci_address: description: 'PCI address API extension: resources_disk_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) API extension: resources_disk_sata' example: 0 format: uint64 type: integer x-go-name: RPM serial: description: 'Serial number API extension: resources_disk_sata' 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 API extension: resources_disk_address' example: '3:5' type: string x-go-name: USBAddress used_by: description: 'Parent device type API extension: resources_disk_used_by' example: bcache type: string x-go-name: UsedBy wwn: description: WWN identifier example: eui.0000000001000000e4d25cafae2e4c00 type: string x-go-name: WWN 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 ResourcesCPU: description: ResourcesCPU represents the cpu resources available on the system properties: architecture: description: 'Architecture name API extension: resources_v2' example: x86_64 type: string x-go-name: Architecture sockets: description: List of CPU sockets items: $ref: '#/components/schemas/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 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 API extension: resources_pci_iommu' 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: '#/components/schemas/ResourcesPCIVPD' 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: '#/components/schemas/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 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 ResourcesStorageDiskPartition: description: ResourcesStorageDiskPartition represents a partition on a disk properties: device: description: Device number example: '259:1' type: string x-go-name: Device device_fs_uuid: description: 'UUID of the filesystem on the device API extension: resources_device_fs_uuid' example: 9313518c-0e13-4067-9746-5c1703830b78 type: string x-go-name: DeviceFSUUID id: description: ID of the partition (device name) example: nvme0n1p1 type: string x-go-name: ID mounted: description: Mounted status of the partition. example: true type: boolean x-go-name: Mounted 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 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 type: object x-go-name: Config 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 API extension: resources_v2' example: '195:0' type: string x-go-name: CardDevice card_name: description: 'Card device name API extension: resources_v2' 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 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 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 backup_metadata_version_range: description: 'Range of supported backup metadata versions API extension: backup_metadata_version' example: - 1 - 2 items: format: uint32 type: integer type: array x-go-name: BackupMetadataVersionRange 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 API extension: firewall_driver' example: nftables type: string x-go-name: Firewall instance_types: description: 'List of supported instance types API extension: server_instance_type_info' example: - container - virtual-machine items: type: string type: array x-go-name: InstanceTypes 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 API extension: kernel_features' example: netnsid_getifaddrs: 'true' seccomp_listener: 'true' type: object x-go-name: KernelFeatures kernel_version: description: Kernel version example: 5.15.0-36-generic type: string x-go-name: KernelVersion lxc_features: additionalProperties: type: string description: 'Map of LXC features that were tested on startup API extension: lxc_features' example: cgroup2: 'true' devpts_fd: 'true' pidfd: 'true' type: object x-go-name: LXCFeatures os_name: description: 'Name of the operating system (Linux distribution) API extension: api_os' example: Ubuntu type: string x-go-name: OSName os_version: description: 'Version of the operating system (Linux distribution) API extension: api_os' example: '24.04' type: string x-go-name: OSVersion project: description: 'Current project name API extension: projects' 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 API extension: clustering' 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". API extension: event_hub' example: full-mesh type: string x-go-name: ServerEventMode server_lts: description: Whether the version is an LTS release example: false type: boolean x-go-name: ServerLTS server_name: description: 'Server hostname API extension: clustering' 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: '#/components/schemas/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 ResourcesSystem: description: ResourcesSystem represents the system properties: chassis: $ref: '#/components/schemas/ResourcesSystemChassis' family: description: System family example: ThinkPad X1 Carbon 5th type: string x-go-name: Family firmware: $ref: '#/components/schemas/ResourcesSystemFirmware' motherboard: $ref: '#/components/schemas/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 Resources: description: Resources represents the system resources available for LXD properties: cpu: $ref: '#/components/schemas/ResourcesCPU' gpu: $ref: '#/components/schemas/ResourcesGPU' memory: $ref: '#/components/schemas/ResourcesMemory' network: $ref: '#/components/schemas/ResourcesNetwork' pci: $ref: '#/components/schemas/ResourcesPCI' storage: $ref: '#/components/schemas/ResourcesStorage' system: $ref: '#/components/schemas/ResourcesSystem' usb: $ref: '#/components/schemas/ResourcesUSB' 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 API extension: resources_network_firmware' 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: '#/components/schemas/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: '#/components/schemas/ResourcesNetworkCardSRIOV' usb_address: description: 'USB address (for USB cards) API extension: resources_network_usb' example: '2:7' type: string x-go-name: USBAddress vdpa: $ref: '#/components/schemas/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 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 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 ResourcesStorage: description: ResourcesStorage represents the local storage properties: disks: description: List of disks items: $ref: '#/components/schemas/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 Event: description: Event represents an event entry (over websocket) properties: location: description: 'Originating cluster member API extension: event_location' example: lxd01 type: string x-go-name: Location metadata: description: JSON encoded metadata (see EventLogging, EventLifecycle, Operation or EventSecurity) example: '{"action": "instance-started", "source": "/1.0/instances/c1", "context": {}}' x-go-name: Metadata project: description: 'Project the event belongs to. API extension: event_project' 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, lifecycle, ovn or security) example: lifecycle type: string x-go-name: Type 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 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: '#/components/schemas/ResourcesGPUCard' type: array x-go-name: VFs 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: '#/components/schemas/ResourcesNetworkCard' type: array x-go-name: VFs type: object x-go-package: github.com/canonical/lxd/shared/api ResourcesNetworkCardVDPA: description: ResourcesNetworkCardVDPA 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 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: '#/components/schemas/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 serial: description: 'USB serial number API extension: device_usb_serial.' example: DAE005fp type: string x-go-name: Serial 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 ResourcesCPUSocket: description: ResourcesCPUSocket represents a CPU socket on the system properties: cache: description: List of CPU caches items: $ref: '#/components/schemas/ResourcesCPUCache' type: array x-go-name: Cache cores: description: List of CPU cores items: $ref: '#/components/schemas/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 ServerStorageDriverInfo: description: ServerStorageDriverInfo represents the read-only info about a storage driver properties: Name: description: 'Name of the driver API extension: server_supported_storage_drivers' example: zfs type: string Remote: description: 'Whether the driver has remote volumes API extension: server_supported_storage_drivers' example: false type: boolean Version: description: 'Version of the driver API extension: server_supported_storage_drivers' example: 0.8.4-1ubuntu11 type: string 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) API extension: resource_cpu_isolated' 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 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 ResourcesGPU: description: ResourcesGPU represents the GPU resources available on the system properties: cards: description: List of GPUs items: $ref: '#/components/schemas/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 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 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: '#/components/schemas/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 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: '#/components/schemas/ResourcesGPUCardDRM' mdev: additionalProperties: $ref: '#/components/schemas/ResourcesGPUCardMdev' description: 'Map of available mediated device profiles API extension: resources_gpu_mdev' 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: '#/components/schemas/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: '#/components/schemas/ResourcesGPUCardSRIOV' usb_address: description: 'USB address (for USB cards) API extension: resources_gpu_usb' 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 Server: description: Server represents a LXD server properties: access_entitlements: description: AccessEntitlements represents the entitlements that are granted to the requesting user on the attached entity. example: - can_view - can_edit items: type: string type: array x-go-name: AccessEntitlements 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 API extension: oidc' example: - bearer - tls - oidc items: type: string readOnly: true type: array x-go-name: AuthMethods auth_user_method: description: 'The current user login method as seen by LXD API extension: auth_user' example: unix readOnly: true type: string x-go-name: AuthUserMethod auth_user_name: description: 'The current user username as seen by LXD API extension: auth_user' example: uid=201105 readOnly: true type: string x-go-name: AuthUserName client_certificate: description: 'Whether the requester sent a client certificate with the request API extension: client_cert_presence' example: false readOnly: true type: boolean x-go-name: ClientCertificate config: additionalProperties: {} description: Server configuration map (refer to doc/server.md) The available fields for public endpoint (before authentication) are limited. example: user.microcloud: 'true' type: object x-go-name: Config environment: $ref: '#/components/schemas/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 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 API extension: resources_v2' example: null items: $ref: '#/components/schemas/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 responses: EmptySyncResponse: description: Empty sync response content: application/json: 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 BadRequest: description: Bad Request content: application/json: 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 InternalServerError: description: Internal Server Error content: application/json: 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 Forbidden: description: Forbidden content: application/json: 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 PreconditionFailed: description: Precondition Failed content: application/json: 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