Files
incus-os/doc/rest-api.yaml
2025-11-25 08:04:12 -07:00

10378 lines
398 KiB
YAML

definitions:
Access:
items:
$ref: '#/definitions/AccessEntry'
title: Access represents everyone that may access a particular resource.
type: array
x-go-package: github.com/lxc/incus/v6/shared/api
AccessEntry:
properties:
identifier:
description: Certificate fingerprint
example: 636b69519d27ae3b0e398cb7928043846ce1e3842f0ca7a589993dd913ab8cc9
type: string
x-go-name: Identifier
provider:
description: Which authorization method the certificate uses
example: tls, openfga
type: string
x-go-name: Provider
role:
description: The role associated with the certificate
example: admin, view, operator
type: string
x-go-name: Role
title: AccessEntry represents an entity having access to the resource.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
BackupTarget:
properties:
access_key:
description: AccessKey is the S3 API access key
example: GOOG1234
type: string
x-go-name: AccessKey
bucket_name:
description: BucketName is the name of the S3 bucket.
example: my_bucket
type: string
x-go-name: BucketName
path:
description: Path is the target path.
example: foo/test.tar
type: string
x-go-name: Path
protocol:
description: Protocol is the upload protocol.
example: S3
type: string
x-go-name: Protocol
secret_key:
description: SecretKey is the S3 API access key
example: secret123
type: string
x-go-name: SecretKey
url:
description: URL is the HTTPS URL for the backup
example: https://storage.googleapis.com
type: string
x-go-name: URL
title: BackupTarget represents the target storage server for an instance or volume backup.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
Batch:
properties:
constraints:
description: Set of constraints to apply to the batch.
items:
$ref: '#/definitions/BatchConstraint'
type: array
x-go-name: Constraints
default_storage_pool:
description: The Incus storage pool that this batch should use for creating VMs and mounting ISO images
example: local
type: string
x-go-name: DefaultStoragePool
default_target:
description: The destination target name to be used by all instances in this batch
example: Mytarget
type: string
x-go-name: DefaultTarget
default_target_project:
description: The target project to use
example: default
type: string
x-go-name: DefaultTargetProject
include_expression:
description: |-
A Expression used to select instances to add to this batch
Language reference: https://expr-lang.org/docs/language-definition
example: GetInventoryPath() matches "^foobar/.*"
type: string
x-go-name: IncludeExpression
instance_restriction_overrides:
$ref: '#/definitions/InstanceRestrictionOverride'
migration_windows:
description: Set of migration window timings.
items:
$ref: '#/definitions/MigrationWindow'
type: array
x-go-name: MigrationWindows
name:
description: A human-friendly name for this batch
example: MyBatch
type: string
x-go-name: Name
placement_scriptlet:
description: The placement scriptlet used to determine the target for queued instances.
example: starlark scriptlet
type: string
x-go-name: PlacementScriptlet
post_migration_retries:
description: PostMigrationRetries is the maximum number of times post-migration steps will be retried upon errors.
example: 5
format: int64
type: integer
x-go-name: PostMigrationRetries
rerun_scriptlets:
description: Whether to re-run scriptlets if a migration restarts
type: boolean
x-go-name: RerunScriptlets
start_date:
description: Time in UTC when the batch was started.
format: date-time
type: string
x-go-name: StartDate
status:
$ref: '#/definitions/BatchStatusType'
status_message:
description: A free-form string to provide additional information about the status
example: '"4 of 5 instances migrated"'
type: string
x-go-name: StatusMessage
title: Batch defines a collection of Instances to be migrated, possibly during a specific window of time.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
BatchConstraint:
properties:
description:
description: Description of the constraint.
type: string
x-go-name: Description
include_expression:
description: Expression used to select instances for the constraint.
type: string
x-go-name: IncludeExpression
max_concurrent_instances:
description: Maximum amount of matched instances that can concurrently migrate, before moving to the next migration window.
format: int64
type: integer
x-go-name: MaxConcurrentInstances
min_instance_boot_time:
description: Minimum amount of time required for an instance to boot after initial disk import. Migration window duration must be at least this much.
type: string
x-go-name: MinInstanceBootTime
name:
description: Name of the constraint.
type: string
x-go-name: Name
title: BatchConstraint is a constraint to be applied to a batch to determine which instances can be migrated.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
BatchPut:
properties:
constraints:
description: Set of constraints to apply to the batch.
items:
$ref: '#/definitions/BatchConstraint'
type: array
x-go-name: Constraints
default_storage_pool:
description: The Incus storage pool that this batch should use for creating VMs and mounting ISO images
example: local
type: string
x-go-name: DefaultStoragePool
default_target:
description: The destination target name to be used by all instances in this batch
example: Mytarget
type: string
x-go-name: DefaultTarget
default_target_project:
description: The target project to use
example: default
type: string
x-go-name: DefaultTargetProject
include_expression:
description: |-
A Expression used to select instances to add to this batch
Language reference: https://expr-lang.org/docs/language-definition
example: GetInventoryPath() matches "^foobar/.*"
type: string
x-go-name: IncludeExpression
instance_restriction_overrides:
$ref: '#/definitions/InstanceRestrictionOverride'
migration_windows:
description: Set of migration window timings.
items:
$ref: '#/definitions/MigrationWindow'
type: array
x-go-name: MigrationWindows
name:
description: A human-friendly name for this batch
example: MyBatch
type: string
x-go-name: Name
placement_scriptlet:
description: The placement scriptlet used to determine the target for queued instances.
example: starlark scriptlet
type: string
x-go-name: PlacementScriptlet
post_migration_retries:
description: PostMigrationRetries is the maximum number of times post-migration steps will be retried upon errors.
example: 5
format: int64
type: integer
x-go-name: PostMigrationRetries
rerun_scriptlets:
description: Whether to re-run scriptlets if a migration restarts
type: boolean
x-go-name: RerunScriptlets
start_date:
description: Time in UTC when the batch was started.
format: date-time
type: string
x-go-name: StartDate
title: BatchPut defines the configurable fields of Batch.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
BatchStatusType:
type: string
x-go-package: github.com/FuturFusion/migration-manager/shared/api
Certificate:
description: Certificate represents a certificate
properties:
certificate:
description: The certificate itself, as PEM encoded X509 (or as base64 encoded X509 on POST)
example: X509 PEM certificate
type: string
x-go-name: Certificate
description:
description: Certificate description
example: X509 certificate
type: string
x-go-name: Description
fingerprint:
description: SHA256 fingerprint of the certificate
example: fd200419b271f1dc2a5591b693cc5774b7f234e1ff8c6b78ad703b6888fe2b69
readOnly: true
type: string
x-go-name: Fingerprint
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/lxc/incus/v6/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/lxc/incus/v6/shared/api
CertificatePut:
description: CertificatePut represents the modifiable fields of a certificate
properties:
certificate:
description: The certificate itself, as PEM encoded X509 (or as base64 encoded X509 on POST)
example: X509 PEM certificate
type: string
x-go-name: Certificate
description:
description: Certificate description
example: X509 certificate
type: string
x-go-name: Description
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/lxc/incus/v6/shared/api
CertificatesPost:
description: CertificatesPost represents the fields of a new certificate
properties:
certificate:
description: The certificate itself, as PEM encoded X509 (or as base64 encoded X509 on POST)
example: X509 PEM certificate
type: string
x-go-name: Certificate
description:
description: Certificate description
example: X509 certificate
type: string
x-go-name: Description
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
token:
description: Whether to create a certificate add token
example: true
type: boolean
x-go-name: Token
trust_token:
description: Trust token (used to add an untrusted client)
example: blah
type: string
x-go-name: TrustToken
type:
description: Usage type for the certificate
example: client
type: string
x-go-name: Type
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
Cluster:
properties:
connection_url:
description: |-
URL, hostname or IP address of the cluster endpoint.
This is only user facing, e.g. the address of a load balancer infront of
the cluster and not used by Operations Center for direct communication
Operations Center relies on the connection URL of the cluster members.
example: https://incus.local:6443
type: string
x-go-name: ConnectionURL
last_updated:
description: LastUpdated is the time, when this information has been updated for the last time in RFC3339 format.
example: "2024-11-12T16:15:00Z"
format: date-time
type: string
x-go-name: LastUpdated
name:
description: A human-friendly name for this cluster.
example: MyCluster
type: string
x-go-name: Name
status:
description: |-
Status contains the status the cluster is currently in from the point of view of Operations Center.
Possible values for status are: pending, ready
example: pending
type: string
x-go-name: Status
x-go-type: github.com/FuturFusion/operations-center/shared/api.ClusterStatus
title: Cluster defines a cluster of servers running Hypervisor OS.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
ClusterCertificatePut:
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
title: ClusterCertificatePut represents the certificate and key pair for all cluster members.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
ClusterGroup:
properties:
config:
description: Cluster group configuration map
example:
user.mykey: foo
type: object
x-go-name: Config
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:
- server01
- server02
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
used_by:
description: List of URLs of objects using this cluster group
example:
- /1.0/cluster/members/server01
- /1.0/project/default
items:
type: string
readOnly: true
type: array
x-go-name: UsedBy
title: ClusterGroup represents a cluster group.
type: object
x-go-package: github.com/lxc/incus/v6/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/lxc/incus/v6/shared/api
ClusterGroupPut:
properties:
config:
description: Cluster group configuration map
example:
user.mykey: foo
type: object
x-go-name: Config
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:
- server01
- server02
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/lxc/incus/v6/shared/api
ClusterGroupsPost:
properties:
config:
description: Cluster group configuration map
example:
user.mykey: foo
type: object
x-go-name: Config
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:
- server01
- server02
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/lxc/incus/v6/shared/api
ClusterMember:
properties:
architecture:
description: The primary architecture of the cluster member
example: x86_64
type: string
x-go-name: Architecture
config:
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: server01
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 a member of a cluster.
type: object
x-go-package: github.com/lxc/incus/v6/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 server 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/lxc/incus/v6/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: server02
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/lxc/incus/v6/shared/api
ClusterMemberPost:
properties:
server_name:
description: The new name of the cluster member
example: server02
type: string
x-go-name: ServerName
title: ClusterMemberPost represents the fields required to rename a cluster member.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
ClusterMemberPut:
description: ClusterMemberPut represents the modifiable fields of a cluster member
properties:
config:
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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/shared/api
ClusterMembersPost:
properties:
server_name:
description: The name of the new cluster member
example: server02
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/lxc/incus/v6/shared/api
ClusterPost:
properties:
application_seed_config:
additionalProperties: {}
description: |-
ApplicationSeedConfig contains the seed configuration for the application, which is
applied during post clustering. This configuration is application specific.
type: object
x-go-name: ApplicationSeedConfig
connection_url:
description: |-
URL, hostname or IP address of the cluster endpoint.
This is only user facing, e.g. the address of a load balancer infront of
the cluster and not used by Operations Center for direct communication
Operations Center relies on the connection URL of the cluster members.
example: https://incus.local:6443
type: string
x-go-name: ConnectionURL
last_updated:
description: LastUpdated is the time, when this information has been updated for the last time in RFC3339 format.
example: "2024-11-12T16:15:00Z"
format: date-time
type: string
x-go-name: LastUpdated
name:
description: A human-friendly name for this cluster.
example: MyCluster
type: string
x-go-name: Name
server_names:
description: Names of the servers beloning to the cluster.
example:
- server1
- server2
items:
type: string
type: array
x-go-name: ServerNames
server_type:
description: |-
ServerType is the expected type of servers to be clustered.
Clustering will fail, if not all the servers are of the same type.
type: string
x-go-name: ServerType
x-go-type: github.com/FuturFusion/operations-center/shared/api.ServerType
services_config:
additionalProperties: {}
description: |-
ServicesConfig contains the configuration for each service, which should be configured on Hypervisor OS.
Operations Center is simply passing forward the settings to Hypervisor OS.
For details about the configuration settings available refer to the service
API definitions in https://github.com/lxc/incus-os/tree/main/incus-osd/api.
type: object
x-go-name: ServicesConfig
status:
description: |-
Status contains the status the cluster is currently in from the point of view of Operations Center.
Possible values for status are: pending, ready
example: pending
type: string
x-go-name: Status
x-go-type: github.com/FuturFusion/operations-center/shared/api.ClusterStatus
title: ClusterPost represents the fields available for a new cluster of servers running Hypervisor OS.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
ClusterPut:
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_token:
description: The cluster join token for the cluster you're trying to join
example: blah
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: server01
type: string
x-go-name: ServerName
title: ClusterPut represents the fields required to bootstrap or join a cluster.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
ClusterTemplate:
description: |-
ClusterTemplate defines a template, which can be used to form a cluster
of servers running Hypervisor OS.
properties:
application_config_template:
description: |-
ApplicationConfigTemplate represents a template for the application config
for cluster creation.
It contains the seed configuration for the application, which is
applied during post clustering. This configuration is application specific.
type: string
x-go-name: ApplicationConfigTemplate
description:
description: Description of the cluster config template.
example: Cluster configuration for production clusters.
type: string
x-go-name: Description
last_updated:
description: LastUpdated is the time, when this information has been updated for the last time in RFC3339 format.
example: "2024-11-12T16:15:00Z"
format: date-time
type: string
x-go-name: LastUpdated
name:
description: A human-friendly name for this cluster config template.
example: MyTemplate
type: string
x-go-name: Name
service_config_template:
description: |-
ServiceConfigTemplate represents a template the service config for cluster
creation.
It contains contains the configuration for each service, which should be
configured on Hypervisor OS.
Operations Center is simply passing forward the settings to Hypervisor OS.
For details about the configuration settings available refer to the service
API definitions in https://github.com/lxc/incus-os/tree/main/incus-osd/api.
type: string
x-go-name: ServiceConfigTemplate
variables:
$ref: '#/definitions/ClusterTemplateVariables'
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
ClusterTemplatePost:
description: |-
ClusterTemplatePost defines a template, which can be used to form a cluster
of servers running Hypervisor OS.
properties:
application_config_template:
description: |-
ApplicationConfigTemplate represents a template for the application config
for cluster creation.
It contains the seed configuration for the application, which is
applied during post clustering. This configuration is application specific.
type: string
x-go-name: ApplicationConfigTemplate
description:
description: Description of the cluster config template.
example: Cluster configuration for production clusters.
type: string
x-go-name: Description
name:
description: A human-friendly name for this cluster config template.
example: MyTemplate
type: string
x-go-name: Name
service_config_template:
description: |-
ServiceConfigTemplate represents a template the service config for cluster
creation.
It contains contains the configuration for each service, which should be
configured on Hypervisor OS.
Operations Center is simply passing forward the settings to Hypervisor OS.
For details about the configuration settings available refer to the service
API definitions in https://github.com/lxc/incus-os/tree/main/incus-osd/api.
type: string
x-go-name: ServiceConfigTemplate
variables:
$ref: '#/definitions/ClusterTemplateVariables'
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
ClusterTemplatePut:
properties:
application_config_template:
description: |-
ApplicationConfigTemplate represents a template for the application config
for cluster creation.
It contains the seed configuration for the application, which is
applied during post clustering. This configuration is application specific.
type: string
x-go-name: ApplicationConfigTemplate
description:
description: Description of the cluster config template.
example: Cluster configuration for production clusters.
type: string
x-go-name: Description
service_config_template:
description: |-
ServiceConfigTemplate represents a template the service config for cluster
creation.
It contains contains the configuration for each service, which should be
configured on Hypervisor OS.
Operations Center is simply passing forward the settings to Hypervisor OS.
For details about the configuration settings available refer to the service
API definitions in https://github.com/lxc/incus-os/tree/main/incus-osd/api.
type: string
x-go-name: ServiceConfigTemplate
variables:
$ref: '#/definitions/ClusterTemplateVariables'
title: ClusterTemplatePut represents the fields available for update.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
ClusterTemplateVariable:
description: |-
ClusterTemplateVariable defines the properties of a variable, that
can be used in a cluster config template.
properties:
default:
description: |-
DefaultValue is the default value applied for a cluster config variable
if no value is provided for the variable.
example: Incus cluster
type: string
x-go-name: DefaultValue
description:
description: Description describes a cluster config template variable.
example: Long name for the cluster.
type: string
x-go-name: Description
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
ClusterTemplateVariables:
additionalProperties:
$ref: '#/definitions/ClusterTemplateVariable'
description: |-
ClusterTemplateVariables defines the variables, that can be used in a
cluster config template.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
ConfigMap:
additionalProperties:
type: string
description: |-
ConfigMap type is used to hold incus config. In contrast to plain
map[string]string it provides unmarshal methods for JSON and YAML, which
gracefully handle numbers and bools.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
Event:
description: Event represents an event entry (over websocket)
properties:
location:
description: Originating cluster member
example: server01
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/lxc/incus/v6/shared/api
ExternalConnectivityStatus:
type: string
x-go-package: github.com/FuturFusion/migration-manager/shared/api
HardwareData:
properties:
cpu:
$ref: '#/definitions/ResourcesCPU'
gpu:
$ref: '#/definitions/ResourcesGPU'
load:
$ref: '#/definitions/ResourcesLoad'
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/FuturFusion/operations-center/shared/api
Image:
description: Image represents an 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
project:
description: Project name
example: project1
type: string
x-go-name: Project
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 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/lxc/incus/v6/shared/api
ImageAlias:
description: ImageAlias represents an alias from the alias list of an 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/lxc/incus/v6/shared/api
ImageAliasesEntry:
description: ImageAliasesEntry represents an 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/lxc/incus/v6/shared/api
ImageAliasesEntryPost:
description: ImageAliasesEntryPost represents the required fields to rename an image alias
properties:
name:
description: Alias name
example: ubuntu-22.04
type: string
x-go-name: Name
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
ImageAliasesEntryPut:
description: ImageAliasesEntryPut represents the modifiable fields of an 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/lxc/incus/v6/shared/api
ImageAliasesPost:
description: ImageAliasesPost represents a new 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/lxc/incus/v6/shared/api
ImageExportPost:
description: ImageExportPost represents the fields required to export an 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/lxc/incus/v6/shared/api
ImageMetadata:
description: ImageMetadata represents 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/lxc/incus/v6/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
gid:
description: The file owner gid.
example: "1000"
type: string
x-go-name: GID
mode:
description: The file permissions.
example: "644"
type: string
x-go-name: Mode
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
uid:
description: The file owner uid.
example: "1000"
type: string
x-go-name: UID
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/lxc/incus/v6/shared/api
ImagePut:
description: ImagePut represents the modifiable fields of an 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/lxc/incus/v6/shared/api
ImageSource:
description: ImageSource represents the source of an 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/lxc/incus/v6/shared/api
ImagesPost:
description: ImagesPost represents the fields available for a new 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: image.tar.xz
type: string
x-go-name: Filename
format:
description: Type of image format
example: split
type: string
x-go-name: Format
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/lxc/incus/v6/shared/api
ImagesPostSource:
description: ImagesPostSource represents the source of a new 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/lxc/incus/v6/shared/api
IncusProperties:
properties:
connectivity_status:
$ref: '#/definitions/ExternalConnectivityStatus'
create_limit:
description: Maximum number of concurrent instance creations that can occur
example: 10
format: int64
type: integer
x-go-name: CreateLimit
endpoint:
description: Hostname or IP address of the target endpoint
example: https://incus.local:6443
type: string
x-go-name: Endpoint
import_limit:
description: Maximum number of concurrent imports that can occur
example: 10
format: int64
type: integer
x-go-name: ImportLimit
oidc_tokens:
description: OpenID Connect tokens
type: object
x-go-name: OIDCTokens
tls_client_cert:
description: base64-encoded TLS client certificate for authentication
type: string
x-go-name: TLSClientCert
tls_client_key:
description: base64-encoded TLS client key for authentication
type: string
x-go-name: TLSClientKey
trusted_server_certificate:
description: Store the expected target's TLS certificate, in raw bytes. Useful in situations when TLS certificate validation fails, such as when using self-signed certificates.
items:
format: uint8
type: integer
type: array
x-go-name: ServerCertificate
trusted_server_certificate_fingerprint:
description: If set and the fingerprint matches that of the ServerCertificate, enables use of that certificate when performing TLS handshake.
example: b51b3046a03164a2ca279222744b12fe0878a8c12311c88fad427f4e03eca42d
type: string
x-go-name: TrustedServerCertificateFingerprint
title: IncusProperties defines the set of Incus specific properties of a target that the migration manager can connect to.
type: object
x-go-package: github.com/FuturFusion/migration-manager/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_token:
description: The cluster join token for the cluster you're trying to join
example: blah
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: server01
type: string
x-go-name: ServerName
title: InitClusterPreseed represents initialization configuration for the cluster.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InitLocalPreseed:
properties:
certificates:
description: Certificates to add
example: PEM encoded certificate
items:
$ref: '#/definitions/CertificatesPost'
type: array
x-go-name: Certificates
cluster_groups:
description: |-
Cluster groups to add
API extension: init_preseed_cluster_groups.
items:
$ref: '#/definitions/ClusterGroupsPost'
type: array
x-go-name: ClusterGroups
config:
description: Server configuration map (refer to doc/server.md)
example:
core.https_address: :8443
type: object
x-go-name: Config
networks:
description: Networks by project to add
example: Network on the "default" project
items:
$ref: '#/definitions/InitNetworksProjectPost'
type: array
x-go-name: Networks
profiles:
description: Profiles to add
example: '"default" profile with a root disk device'
items:
$ref: '#/definitions/InitProfileProjectPost'
type: array
x-go-name: Profiles
projects:
description: Projects to add
example: '"default" project'
items:
$ref: '#/definitions/ProjectsPost'
type: array
x-go-name: Projects
storage_pools:
description: Storage Pools to add
example: local dir storage pool
items:
$ref: '#/definitions/StoragePoolsPost'
type: array
x-go-name: StoragePools
storage_volumes:
description: Storage Volumes to add
example: local dir storage volume
items:
$ref: '#/definitions/InitStorageVolumesProjectPost'
type: array
x-go-name: StorageVolumes
title: InitLocalPreseed represents initialization configuration.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InitNetworksProjectPost:
properties:
Project:
description: Project in which the network will reside
example: '"default"'
type: string
config:
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 bridge
type: string
x-go-name: Description
name:
description: The name of the new network
example: mybr1
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 network along with its associated project.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InitPreseed:
properties:
Server:
$ref: '#/definitions/InitLocalPreseed'
cluster:
$ref: '#/definitions/InitClusterPreseed'
title: InitPreseed represents initialization configuration that can be supplied to `init`.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InitProfileProjectPost:
properties:
Project:
description: Project in which the profile will reside
example: '"default"'
type: string
config:
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: mybr0
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
title: InitProfileProjectPost represents the fields of a new profile along with its associated project.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InitStorageVolumesProjectPost:
properties:
Pool:
description: Storage pool in which the volume will reside
example: '"default"'
type: string
Project:
description: Project in which the volume will reside
example: '"default"'
type: string
config:
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
title: InitStorageVolumesProjectPost represents the fields of a new storage volume along with its associated pool.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
Instance:
properties:
architecture:
description: Architecture name
example: x86_64
type: string
x-go-name: Architecture
config:
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:
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: server01
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 an instance.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InstanceBackup:
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
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 an instance backup.
type: object
x-go-package: github.com/lxc/incus/v6/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/lxc/incus/v6/shared/api
InstanceBackupsPost:
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
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
target:
$ref: '#/definitions/BackupTarget'
title: InstanceBackupsPost represents the fields available for a new instance backup.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InstanceConsolePost:
properties:
force:
description: Forces a connection to the console
example: true
type: boolean
x-go-name: Force
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 an instance console request.
type: object
x-go-package: github.com/lxc/incus/v6/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 an instance exec request.
type: object
x-go-package: github.com/lxc/incus/v6/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:
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:
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: server01
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/lxc/incus/v6/shared/api
InstanceOverride:
properties:
comment:
description: An optional comment about the override
example: '"Manually tweak number of CPUs"'
type: string
x-go-name: Comment
disable_migration:
description: If true, migration of this instance will be disabled.
example: true
type: boolean
x-go-name: DisableMigration
ignore_restrictions:
description: If true, restrictions that put the VM in a blocked state, preventing migration, will be ignored.
example: true
type: boolean
x-go-name: IgnoreRestrictions
last_update:
description: The last time this instance override was updated
example: 2024-11-12 16:15:00 +0000 UTC
format: date-time
type: string
x-go-name: LastUpdate
properties:
$ref: '#/definitions/InstancePropertiesConfigurable'
title: InstanceOverride defines a limited set of instance values that can be overridden as part of the migration process.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
InstancePost:
properties:
Config:
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
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 an instance.
type: object
x-go-package: github.com/lxc/incus/v6/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/lxc/incus/v6/shared/api
InstanceProperties:
properties:
architecture:
type: string
x-go-name: Architecture
background_import:
type: boolean
x-go-name: BackgroundImport
config:
additionalProperties:
type: string
type: object
x-go-name: Config
cpus:
format: int64
type: integer
x-go-name: CPUs
description:
type: string
x-go-name: Description
disks:
items:
$ref: '#/definitions/InstancePropertiesDisk'
type: array
x-go-name: Disks
legacy_boot:
type: boolean
x-go-name: LegacyBoot
location:
type: string
x-go-name: Location
memory:
format: int64
type: integer
x-go-name: Memory
name:
type: string
x-go-name: Name
nics:
items:
$ref: '#/definitions/InstancePropertiesNIC'
type: array
x-go-name: NICs
os:
type: string
x-go-name: OS
os_version:
type: string
x-go-name: OSVersion
running:
type: boolean
x-go-name: Running
secure_boot:
type: boolean
x-go-name: SecureBoot
snapshots:
items:
$ref: '#/definitions/InstancePropertiesSnapshot'
type: array
x-go-name: Snapshots
tpm:
type: boolean
x-go-name: TPM
uuid:
format: uuid
type: string
x-go-name: UUID
title: InstanceProperties are all properties supported by instances.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
InstancePropertiesConfigurable:
properties:
config:
additionalProperties:
type: string
type: object
x-go-name: Config
cpus:
format: int64
type: integer
x-go-name: CPUs
description:
type: string
x-go-name: Description
memory:
format: int64
type: integer
x-go-name: Memory
title: InstancePropertiesConfigurable are the configurable properties of an instance.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
InstancePropertiesDisk:
properties:
capacity:
format: int64
type: integer
x-go-name: Capacity
name:
type: string
x-go-name: Name
shared:
type: boolean
x-go-name: Shared
supported:
type: boolean
x-go-name: Supported
title: InstancePropertiesDisk are all properties supported by instance disks.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
InstancePropertiesNIC:
properties:
hardware_address:
type: string
x-go-name: HardwareAddress
id:
type: string
x-go-name: ID
ipv4_address:
type: string
x-go-name: IPv4Address
ipv6_address:
type: string
x-go-name: IPv6Address
network:
type: string
x-go-name: Network
title: InstancePropertiesNIC are all properties supported by instance NICs.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
InstancePropertiesSnapshot:
properties:
name:
type: string
x-go-name: Name
title: InstancePropertiesSnapshot are all properties supported by snapshots.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
InstancePut:
properties:
architecture:
description: Architecture name
example: x86_64
type: string
x-go-name: Architecture
config:
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 an instance.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InstanceRebuildPost:
properties:
source:
$ref: '#/definitions/InstanceSource'
title: InstanceRebuildPost indicates how to rebuild an instance.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InstanceRestrictionOverride:
properties:
allow_no_background_import:
type: boolean
x-go-name: AllowNoBackgroundImport
allow_no_ipv4:
type: boolean
x-go-name: AllowNoIPv4
allow_unknown_os:
type: boolean
x-go-name: AllowUnknownOS
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
InstanceSnapshot:
properties:
architecture:
description: Architecture name
example: x86_64
type: string
x-go-name: Architecture
config:
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 description
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:
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 an instance snapshot.
type: object
x-go-package: github.com/lxc/incus/v6/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 an instance snapshot.
type: object
x-go-package: github.com/lxc/incus/v6/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 an instance snapshot.
type: object
x-go-package: github.com/lxc/incus/v6/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 instance snapshot.
type: object
x-go-package: github.com/lxc/incus/v6/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
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
refresh_exclude_older:
description: Whether to exclude source snapshots earlier than latest target snapshot
example: false
type: boolean
x-go-name: RefreshExcludeOlder
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/lxc/incus/v6/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
os_info:
$ref: '#/definitions/InstanceStateOSInfo'
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
started_at:
description: |-
The time that the instance started at
API extension: instance_state_started_at.
format: date-time
type: string
x-go-name: StartedAt
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 an instance's state.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InstanceStateCPU:
properties:
allocated_time:
description: CPU time available per second, in nanoseconds
example: 4000000000
format: int64
type: integer
x-go-name: AllocatedTime
usage:
description: CPU usage in nanoseconds
example: 3637691016
format: int64
type: integer
x-go-name: Usage
title: InstanceStateCPU represents the cpu information section of an instance's state.
type: object
x-go-package: github.com/lxc/incus/v6/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 an instance's state.
type: object
x-go-package: github.com/lxc/incus/v6/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 an instance's state.
type: object
x-go-package: github.com/lxc/incus/v6/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: 10:66:6a: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 an instance's state.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InstanceStateNetworkAddress:
description: |-
InstanceStateNetworkAddress represents a network address as part of the network section of an
instance's state.
properties:
address:
description: IP address
example: fd42:4c81:5770:1eaf:1266:6aff: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/lxc/incus/v6/shared/api
InstanceStateNetworkCounters:
description: |-
InstanceStateNetworkCounters represents packet counters as part of the network section of an
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/lxc/incus/v6/shared/api
InstanceStateOSInfo:
properties:
fqdn:
description: FQDN of the instance.
example: myhost.mydomain.local
type: string
x-go-name: FQDN
hostname:
description: Hostname of the instance.
example: myhost
type: string
x-go-name: Hostname
kernel_version:
description: Version of the kernel running in the instance.
example: 6.1.0-25-amd64
type: string
x-go-name: KernelVersion
os:
description: Operating system running in the instance.
example: Debian GNU/Linux
type: string
x-go-name: OS
os_version:
description: Version of the operating system.
example: 12 (bookworm)
type: string
x-go-name: OSVersion
title: InstanceStateOSInfo represents the operating system information section of an instance's state.
type: object
x-go-package: github.com/lxc/incus/v6/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 an instance's state.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
InstanceType:
title: InstanceType represents the type if instance being returned or requested via the API.
type: string
x-go-package: github.com/lxc/incus/v6/shared/api
InstancesPost:
properties:
architecture:
description: Architecture name
example: x86_64
type: string
x-go-name: Architecture
config:
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'
start:
description: Whether to start the instance after creation
example: true
type: boolean
x-go-name: Start
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 instance.
type: object
x-go-package: github.com/lxc/incus/v6/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/lxc/incus/v6/shared/api
MetadataConfig:
additionalProperties:
additionalProperties:
$ref: '#/definitions/MetadataConfigGroup'
type: object
description: MetadataConfig repreents metadata about configuration keys
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
MetadataConfigEntityName:
description: MetadataConfigEntityName represents a main API object type
example: instance
type: string
x-go-package: github.com/lxc/incus/v6/shared/api
MetadataConfigGroup:
description: MetadataConfigGroup represents a group of config keys
properties:
keys:
items:
additionalProperties:
$ref: '#/definitions/MetadataConfigKey'
type: object
type: array
x-go-name: Keys
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
MetadataConfigGroupName:
description: MetadataConfigGroupName represents the name of a group of config keys
example: volatile
type: string
x-go-package: github.com/lxc/incus/v6/shared/api
MetadataConfigKey:
description: MetadataConfigKey describe a configuration key
properties:
condition:
description: Condition specifies the condition that must be met for the option to be taken into account
example: container
type: string
x-go-name: Condition
defaultdesc:
description: DefaultDesc specify default value for configuration
example: '"`DHCP on eth0`"'
type: string
x-go-name: Default
liveupdate:
description: LiveUpdate specifies whether the server must be restarted for the option to be updated
example: '"no"'
type: string
x-go-name: LiveUpdate
longdesc:
description: LongDesc provides long description for the option
example: '"Specify the kernel modules as a comma-separated list."'
type: string
x-go-name: LongDescription
scope:
description: Scope defines if option apply to cluster or to the local server
example: global
type: string
x-go-name: Scope
shortdesc:
description: ShortDesc provides short description for the configuration
example: '"Kernel modules to load before starting the instance"'
type: string
x-go-name: Description
type:
description: Type specifies the type of the option
example: string
type: string
x-go-name: Type
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
MetadataConfiguration:
description: MetadataConfiguration represents a server's exposed configuration metadata
properties:
configs:
$ref: '#/definitions/MetadataConfig'
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
MigrationStatusType:
type: string
x-go-package: github.com/FuturFusion/migration-manager/shared/api
MigrationWindow:
properties:
end:
description: End time for finalizing migrations after background import.
format: date-time
type: string
x-go-name: End
lockout:
description: Lockout time after which the batch can no longer modify the target instance.
format: date-time
type: string
x-go-name: Lockout
start:
description: Start time for finalizing migrations after background import.
format: date-time
type: string
x-go-name: Start
title: MigrationWindow defines the scheduling of a batch migration.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
Network:
description: Network represents a network
properties:
config:
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 bridge
type: string
x-go-name: Description
locations:
description: Cluster members on which the network has been defined
example:
- server01
- server02
- server03
items:
type: string
readOnly: true
type: array
x-go-name: Locations
managed:
description: Whether this is a managed network
example: true
readOnly: true
type: boolean
x-go-name: Managed
name:
description: The network name
example: mybr0
readOnly: true
type: string
x-go-name: Name
project:
description: Project name
example: project1
type: string
x-go-name: Project
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/lxc/incus/v6/shared/api
NetworkACL:
properties:
config:
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
project:
description: Project name
example: project1
type: string
x-go-name: Project
used_by:
description: List of URLs of objects using this profile
example:
- /1.0/instances/c1
- /1.0/instances/v1
- /1.0/networks/mybr0
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/lxc/incus/v6/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/lxc/incus/v6/shared/api
NetworkACLPut:
properties:
config:
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/lxc/incus/v6/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/lxc/incus/v6/shared/api
NetworkACLsPost:
properties:
config:
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/lxc/incus/v6/shared/api
NetworkAddressSet:
description: Refer to doc/howto/network_address_sets.md for details.
properties:
addresses:
description: List of addresses in the set
example:
- 192.0.0.1
- 2001:0db8:1234::1
items:
type: string
type: array
x-go-name: Addresses
config:
description: Address set configuration map (refer to doc/network-address-sets.md)
example:
user.mykey: foo
type: object
x-go-name: Config
description:
description: Description of the address set
example: Web servers
type: string
x-go-name: Description
name:
description: The new name of the address set
example: '"bar"'
type: string
x-go-name: Name
project:
description: Project name
example: project1
type: string
x-go-name: Project
used_by:
description: List of URLs of objects using this profile
example:
- /1.0/network-acls/foo
- /1.0/network-acls/bar
- /1.0/network-acls/baz
items:
type: string
readOnly: true
type: array
x-go-name: UsedBy
title: NetworkAddressSet represents an address set.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkAddressSetPost:
properties:
name:
description: The new name of the address set
example: '"bar"'
type: string
x-go-name: Name
title: NetworkAddressSetPost used for renaming an address set.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkAddressSetPut:
properties:
addresses:
description: List of addresses in the set
example:
- 192.0.0.1
- 2001:0db8:1234::1
items:
type: string
type: array
x-go-name: Addresses
config:
description: Address set configuration map (refer to doc/network-address-sets.md)
example:
user.mykey: foo
type: object
x-go-name: Config
description:
description: Description of the address set
example: Web servers
type: string
x-go-name: Description
title: NetworkAddressSetPut used for updating an address set.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkAddressSetsPost:
properties:
addresses:
description: List of addresses in the set
example:
- 192.0.0.1
- 2001:0db8:1234::1
items:
type: string
type: array
x-go-name: Addresses
config:
description: Address set configuration map (refer to doc/network-address-sets.md)
example:
user.mykey: foo
type: object
x-go-name: Config
description:
description: Description of the address set
example: Web servers
type: string
x-go-name: Description
name:
description: The new name of the address set
example: '"bar"'
type: string
x-go-name: Name
title: NetworkAddressSetsPost used for creating a new address set.
type: object
x-go-package: github.com/lxc/incus/v6/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 performs egress source NAT
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/lxc/incus/v6/shared/api
NetworkForward:
properties:
config:
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: server01
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/lxc/incus/v6/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
snat:
description: SNAT controls whether to apply a matching SNAT rule to new outgoing traffic from the target
example: false
type: boolean
x-go-name: SNAT
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/lxc/incus/v6/shared/api
NetworkForwardPut:
description: NetworkForwardPut represents the modifiable fields of a network address forward
properties:
config:
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/lxc/incus/v6/shared/api
NetworkForwardsPost:
description: NetworkForwardsPost represents the fields of a new network address forward
properties:
config:
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/lxc/incus/v6/shared/api
NetworkIntegration:
properties:
config:
description: Integration configuration map (refer to doc/network-integrations.md)
example:
user.mykey: foo
type: object
x-go-name: Config
description:
description: Description of the network integration
example: OVN interconnection for region1
type: string
x-go-name: Description
name:
description: The name of the integration
example: region1
type: string
x-go-name: Name
type:
description: The type of integration
example: ovn
type: string
x-go-name: Type
used_by:
description: List of URLs of objects using this network integration
example:
- /1.0/networks/foo
- /1.0/networks/bar
items:
type: string
readOnly: true
type: array
x-go-name: UsedBy
title: NetworkIntegration represents a network integration.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkIntegrationPost:
description: NetworkIntegrationPost represents the fields required to rename a network integration
properties:
name:
description: The new name for the network integration
example: region2
type: string
x-go-name: Name
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkIntegrationPut:
description: NetworkIntegrationPut represents the modifiable fields of a network integration
properties:
config:
description: Integration configuration map (refer to doc/network-integrations.md)
example:
user.mykey: foo
type: object
x-go-name: Config
description:
description: Description of the network integration
example: OVN interconnection for region1
type: string
x-go-name: Description
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkIntegrationsPost:
description: NetworkIntegrationsPost represents the fields of a new network integration
properties:
config:
description: Integration configuration map (refer to doc/network-integrations.md)
example:
user.mykey: foo
type: object
x-go-name: Config
description:
description: Description of the network integration
example: OVN interconnection for region1
type: string
x-go-name: Description
name:
description: The name of the integration
example: region1
type: string
x-go-name: Name
type:
description: The type of integration
example: ovn
type: string
x-go-name: Type
type: object
x-go-package: github.com/lxc/incus/v6/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: 10:66:6a:2c:89:d9
type: string
x-go-name: Hwaddr
location:
description: What cluster member this record was found on
example: server01
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/lxc/incus/v6/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:
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: server01
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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/shared/api
NetworkLoadBalancerPut:
description: NetworkLoadBalancerPut represents the modifiable fields of a network load balancer
properties:
backends:
description: Backends (optional)
items:
$ref: '#/definitions/NetworkLoadBalancerBackend'
type: array
x-go-name: Backends
config:
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/lxc/incus/v6/shared/api
NetworkLoadBalancerState:
description: NetworkLoadBalancerState is used for showing current state of a load balancer
properties:
backend_health:
additionalProperties:
$ref: '#/definitions/NetworkLoadBalancerStateBackendHealth'
type: object
x-go-name: BackendHealth
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkLoadBalancerStateBackendHealth:
description: NetworkLoadBalancerStateBackendHealth represents the health of a particular load-balancer backend
properties:
address:
type: string
x-go-name: Address
ports:
items:
$ref: '#/definitions/NetworkLoadBalancerStateBackendHealthPort'
type: array
x-go-name: Ports
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkLoadBalancerStateBackendHealthPort:
properties:
port:
format: int64
type: integer
x-go-name: Port
protocol:
type: string
x-go-name: Protocol
status:
type: string
x-go-name: Status
title: NetworkLoadBalancerStateBackendHealthPort represents the health status of a particular load-balancer backend port.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkLoadBalancersPost:
description: NetworkLoadBalancersPost represents the fields of a new network load balancer
properties:
backends:
description: Backends (optional)
items:
$ref: '#/definitions/NetworkLoadBalancerBackend'
type: array
x-go-name: Backends
config:
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/lxc/incus/v6/shared/api
NetworkOverride:
properties:
bridge_name:
description: Name of the parent bridge to use with a VLAN.
example: br0
type: string
x-go-name: BridgeName
name:
description: Name of the network on the target.
example: '"vmware"'
type: string
x-go-name: Name
vlan_id:
description: Name of the VLAN ID to use with a VLAN network.
example: "1"
type: string
x-go-name: VlanID
title: NetworkOverride defines the configurable properties of Network.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
NetworkPeer:
properties:
config:
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_integration:
description: Name of the target integration
example: ovn-ic1
type: string
x-go-name: TargetIntegration
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
type:
description: Type of peer
example: local
type: string
x-go-name: Type
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 network peering.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkPeerPut:
description: NetworkPeerPut represents the modifiable fields of a network peering
properties:
config:
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/lxc/incus/v6/shared/api
NetworkPeersPost:
description: NetworkPeersPost represents the fields of a new network peering
properties:
config:
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_integration:
description: Name of the target integration
example: ovn-ic1
type: string
x-go-name: TargetIntegration
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:
description: Type of peer
example: local
type: string
x-go-name: Type
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkPost:
description: NetworkPost represents the fields required to rename a network
properties:
name:
description: The new name for the network
example: mybr1
type: string
x-go-name: Name
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
NetworkPut:
description: NetworkPut represents the modifiable fields of a network
properties:
config:
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 bridge
type: string
x-go-name: Description
type: object
x-go-package: github.com/lxc/incus/v6/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: 10:66:6a: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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/shared/api
NetworkStateOVN:
description: NetworkStateOVN represents OVN specific state
properties:
chassis:
description: OVN network chassis name
example: server01
type: string
x-go-name: Chassis
logical_router:
description: OVN logical router name
example: incus-net1-lr
type: string
x-go-name: LogicalRouter
logical_switch:
description: OVN logical switch name
example: incus-net1-ls-int
type: string
x-go-name: LogicalSwitch
uplink_ipv4:
description: OVN network uplink ipv4 address
example: 10.0.0.1
type: string
x-go-name: UplinkIPv4
uplink_ipv6:
description: OVN network uplink ipv6 address
example: 2001:0000:130F:0000:0000:09C0:876A:130B.
type: string
x-go-name: UplinkIPv6
type: object
x-go-package: github.com/lxc/incus/v6/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/lxc/incus/v6/shared/api
NetworkType:
type: string
x-go-package: github.com/FuturFusion/migration-manager/shared/api
NetworkZone:
properties:
config:
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
project:
description: Project name
example: project1
type: string
x-go-name: Project
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/lxc/incus/v6/shared/api
NetworkZonePut:
description: NetworkZonePut represents the modifiable fields of a network zone
properties:
config:
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/lxc/incus/v6/shared/api
NetworkZoneRecord:
properties:
config:
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/lxc/incus/v6/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/lxc/incus/v6/shared/api
NetworkZoneRecordPut:
description: NetworkZoneRecordPut represents the modifiable fields of a network zone record
properties:
config:
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/lxc/incus/v6/shared/api
NetworkZoneRecordsPost:
description: NetworkZoneRecordsPost represents the fields of a new network zone record
properties:
config:
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/lxc/incus/v6/shared/api
NetworkZonesPost:
description: NetworkZonesPost represents the fields of a new network zone
properties:
config:
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/lxc/incus/v6/shared/api
NetworksPost:
description: NetworksPost represents the fields of a new network
properties:
config:
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 bridge
type: string
x-go-name: Description
name:
description: The name of the new network
example: mybr1
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/lxc/incus/v6/shared/api
OSData:
properties:
network:
$ref: '#/definitions/SystemNetwork'
security:
$ref: '#/definitions/SystemSecurity'
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
OSType:
type: string
x-go-package: github.com/FuturFusion/migration-manager/shared/api
Operation:
description: Operation represents a 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 message
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: server01
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 resources
example:
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/lxc/incus/v6/shared/api
Placement:
properties:
networks:
additionalProperties:
type: string
description: Networks keyed by attached network identifier.
type: object
x-go-name: Networks
storage_pools:
additionalProperties:
type: string
description: Storage pools keyed by attached disk name.
type: object
x-go-name: StoragePools
target_name:
description: Name of the target this queue entry is migrating to
type: string
x-go-name: TargetName
target_project:
description: Name of the target project this queue entry is migrating to
type: string
x-go-name: TargetProject
vlan_ids:
additionalProperties:
type: string
description: VlanIDs keyed by attached network identifier.
type: object
x-go-name: VlanIDs
title: Placement indicates the destination for a queue entry's instance.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
Profile:
description: Profile represents a profile
properties:
config:
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: mybr0
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
project:
description: Project name
example: project1
type: string
x-go-name: Project
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/lxc/incus/v6/shared/api
ProfilePost:
description: ProfilePost represents the fields required to rename a 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/lxc/incus/v6/shared/api
ProfilePut:
description: ProfilePut represents the modifiable fields of a profile
properties:
config:
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: mybr0
type: nic
root:
path: /
pool: default
type: disk
type: object
x-go-name: Devices
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
ProfilesPost:
description: ProfilesPost represents the fields of a new profile
properties:
config:
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: mybr0
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/lxc/incus/v6/shared/api
Project:
description: Project represents a project
properties:
config:
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/mybr0
- /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/lxc/incus/v6/shared/api
ProjectPost:
description: ProjectPost represents the fields required to rename a 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/lxc/incus/v6/shared/api
ProjectPut:
description: ProjectPut represents the modifiable fields of a project
properties:
config:
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/lxc/incus/v6/shared/api
ProjectState:
description: ProjectState represents the current running state of a 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/lxc/incus/v6/shared/api
ProjectStateResource:
description: ProjectStateResource represents the state of a particular resource in a 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/lxc/incus/v6/shared/api
ProjectsPost:
description: ProjectsPost represents the fields of a new project
properties:
config:
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/lxc/incus/v6/shared/api
QueueEntry:
properties:
LastWorkerResponse:
description: Time in UTC that the queue entry received a response from the migration worker
format: date-time
type: string
batch_name:
description: A human-friendly name for the batch
example: MyBatch
type: string
x-go-name: BatchName
instance_name:
description: The name of the instance
example: UbuntuServer
type: string
x-go-name: InstanceName
instance_uuid:
description: UUID for the instance; populated from the source and used across all migration manager operations
example: 26fa4eb7-8d4f-4bf8-9a6a-dd95d166dfad
format: uuid
type: string
x-go-name: InstanceUUID
migration_status:
$ref: '#/definitions/MigrationStatusType'
migration_status_message:
description: A free-form string to provide additional information about the migration status
example: '"Migration 25% complete"'
type: string
x-go-name: MigrationStatusMessage
migration_window:
$ref: '#/definitions/MigrationWindow'
placement:
$ref: '#/definitions/Placement'
title: QueueEntry provides a high-level status for an instance that is in a migration stage.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
Resources:
description: Resources represents the system hardware resources
properties:
cpu:
$ref: '#/definitions/ResourcesCPU'
gpu:
$ref: '#/definitions/ResourcesGPU'
load:
$ref: '#/definitions/ResourcesLoad'
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/lxc/incus/v6/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/lxc/incus/v6/shared/api
ResourcesCPUAddressSizes:
properties:
physical_bits:
format: uint64
type: integer
x-go-name: PhysicalBits
virtual_bits:
format: uint64
type: integer
x-go-name: VirtualBits
title: ResourcesCPUAddressSizes resprents address size information for a CPU socket.
type: object
x-go-package: github.com/lxc/incus/v6/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/lxc/incus/v6/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
flags:
description: List of CPU flags
example: []
items:
type: string
type: array
x-go-name: Flags
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/lxc/incus/v6/shared/api
ResourcesCPUSocket:
description: ResourcesCPUSocket represents a CPU socket on the system
properties:
address_sizes:
$ref: '#/definitions/ResourcesCPUAddressSizes'
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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/shared/api
ResourcesLoad:
description: ResourcesLoad represents system load information
properties:
Average1Min:
description: Load average in the past minute
example: 0.69
format: double
type: number
Average5Min:
description: Load average in the past 5 minutes
example: 1.1
format: double
type: number
Average10Min:
description: Load average in the past 10 minutes
example: 1.29
format: double
type: number
Processes:
description: The number of active processes
example: 1234
format: int64
type: integer
type: object
x-go-package: github.com/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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/lxc/incus/v6/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
serial:
description: USB serial number
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/lxc/incus/v6/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/lxc/incus/v6/shared/api
Server:
properties:
cluster:
description: The cluster the server is part of.
example: one
type: string
x-go-name: Cluster
connection_url:
description: |-
URL, hostname or IP address of the server endpoint used by Operations
Center for its communication.
example: https://incus.local:6443
type: string
x-go-name: ConnectionURL
hardware_data:
$ref: '#/definitions/HardwareData'
last_seen:
description: |-
LastSeen is the time, when this server has been seen for the last time
by any sort of connection between the server and operations center
in RFC3339 format.
example: "2024-11-12T16:15:00Z"
format: date-time
type: string
x-go-name: LastSeen
last_updated:
description: LastUpdated is the time, when this information has been updated for the last time in RFC3339 format.
example: "2024-11-12T16:15:00Z"
format: date-time
type: string
x-go-name: LastUpdated
name:
description: Name or name of the server.
example: incus.local
type: string
x-go-name: Name
os_data:
$ref: '#/definitions/OSData'
public_connection_url:
description: |-
Public URL, hostname or IP address of the server endpoint for user facing
communication with the server. Only required, if it differs from
connection_url, e.g. because the server is behind a reverse proxy.
example: https://incus.local:6443
type: string
x-go-name: PublicConnectionURL
server_status:
description: |-
Status contains the status the server is currently in from the point of view of Operations Center.
Possible values for status are: pending, ready
example: pending
type: string
x-go-name: Status
x-go-type: github.com/FuturFusion/operations-center/shared/api.ServerStatus
server_type:
description: Type defines the type of the server, which is normally one of "incus", "migration-manager", "operations-center".
example: incus
type: string
x-go-name: Type
x-go-type: github.com/FuturFusion/operations-center/shared/api.ServerType
version_data:
description: VersionData contains information about the servers version.
example: '...'
type: object
x-go-name: VersionData
title: Server defines a server running Hypervisor OS.
type: object
x-go-package: github.com/FuturFusion/operations-center/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: incus
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 daemon
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 server configuration.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
ServerPost:
properties:
connection_url:
description: |-
URL, hostname or IP address of the server endpoint used by Operations
Center for its communication.
example: https://incus.local:6443
type: string
x-go-name: ConnectionURL
name:
description: Name or name of the server.
example: incus.local
type: string
x-go-name: Name
public_connection_url:
description: |-
Public URL, hostname or IP address of the server endpoint for user facing
communication with the server. Only required, if it differs from
connection_url, e.g. because the server is behind a reverse proxy.
example: https://incus.local:6443
type: string
x-go-name: PublicConnectionURL
title: ServerPost defines a new server running Hypervisor OS.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
ServerPut:
description: ServerPut represents the modifiable fields of a server configuration
properties:
config:
additionalProperties:
type: string
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/lxc/incus/v6/shared/api
ServerSelfUpdate:
properties:
connection_url:
description: URL, hostname or IP address of the server endpoint.
example: https://incus.local:6443
type: string
x-go-name: ConnectionURL
title: ServerSelfUpdate defines a self update request of a server.
type: object
x-go-package: github.com/FuturFusion/operations-center/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/lxc/incus/v6/shared/api
ServerUntrusted:
description: ServerUntrusted represents a server configuration 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
items:
type: string
readOnly: true
type: array
x-go-name: AuthMethods
config:
additionalProperties:
type: string
description: Server configuration map (refer to doc/server.md)
example:
core.https_address: :8443
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/lxc/incus/v6/shared/api
Source:
properties:
name:
description: A human-friendly name for this source
example: MySource
type: string
x-go-name: Name
properties:
description: Properties contains source type specific properties
type: object
x-go-name: Properties
source_type:
$ref: '#/definitions/SourceType'
title: Source defines properties common to all sources.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
SourcePut:
properties:
name:
description: A human-friendly name for this source
example: MySource
type: string
x-go-name: Name
properties:
description: Properties contains source type specific properties
type: object
x-go-name: Properties
title: SourcePut defines the configurable properties of Source.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
SourceType:
type: string
x-go-package: github.com/FuturFusion/migration-manager/shared/api
StatusCode:
format: int64
title: StatusCode represents a valid operation and container status.
type: integer
x-go-package: github.com/lxc/incus/v6/shared/api
StorageBucket:
description: StorageBucket represents the fields of a storage pool bucket
properties:
config:
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: server01
type: string
x-go-name: Location
name:
description: Bucket name
example: foo
type: string
x-go-name: Name
project:
description: Project name
example: project1
type: string
x-go-name: Project
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/lxc/incus/v6/shared/api
StorageBucketBackup:
description: StorageBucketBackup represents the fields available for a new storage bucket 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
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
StorageBucketBackupPost:
description: StorageBucketBackupPost represents the fields available for the renaming of a bucket backup
properties:
name:
description: New backup name
example: backup1
type: string
x-go-name: Name
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
StorageBucketBackupsPost:
description: StorageBucketBackupsPost represents the fields available for a new storage bucket 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
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
StorageBucketKey:
description: StorageBucketKey represents the fields of a 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/lxc/incus/v6/shared/api
StorageBucketKeyPut:
description: StorageBucketKeyPut represents the modifiable fields of a 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/lxc/incus/v6/shared/api
StorageBucketKeysPost:
description: StorageBucketKeysPost represents the fields of a new 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/lxc/incus/v6/shared/api
StorageBucketPut:
description: StorageBucketPut represents the modifiable fields of a storage pool bucket
properties:
config:
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/lxc/incus/v6/shared/api
StorageBucketsPost:
description: StorageBucketsPost represents the fields of a new storage pool bucket
properties:
config:
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/lxc/incus/v6/shared/api
StoragePool:
properties:
config:
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, cephobject, dir, lvm, lvmcluster or zfs)
example: zfs
type: string
x-go-name: Driver
locations:
description: Cluster members on which the storage pool has been defined
example:
- server01
- server02
- server03
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 storage pool.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
StoragePoolPut:
properties:
config:
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 storage pool.
type: object
x-go-package: github.com/lxc/incus/v6/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/lxc/incus/v6/shared/api
StoragePoolsPost:
description: StoragePoolsPost represents the fields of a new storage pool
properties:
config:
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, cephobject, dir, lvm, lvmcluster 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/lxc/incus/v6/shared/api
StorageVolume:
properties:
config:
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: server01
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 storage volume.
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
StorageVolumeBackup:
description: StorageVolumeBackup represents a 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/lxc/incus/v6/shared/api
StorageVolumeBackupPost:
description: StorageVolumeBackupPost 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/lxc/incus/v6/shared/api
StorageVolumeBackupsPost:
description: StorageVolumeBackupsPost represents the fields available for a new 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
target:
$ref: '#/definitions/BackupTarget'
volume_only:
description: Whether to ignore snapshots
example: false
type: boolean
x-go-name: VolumeOnly
type: object
x-go-package: github.com/lxc/incus/v6/shared/api
StorageVolumePost:
description: StorageVolumePost represents the fields required to rename a 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/lxc/incus/v6/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/lxc/incus/v6/shared/api
StorageVolumePut:
description: StorageVolumePut represents the modifiable fields of a storage volume
properties:
config:
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/lxc/incus/v6/shared/api
StorageVolumeSnapshot:
description: StorageVolumeSnapshot represents a storage volume snapshot
properties:
config:
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/lxc/incus/v6/shared/api
StorageVolumeSnapshotPost:
description: StorageVolumeSnapshotPost represents the fields required to rename/move a 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/lxc/incus/v6/shared/api
StorageVolumeSnapshotPut:
description: StorageVolumeSnapshotPut represents the modifiable fields of a 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/lxc/incus/v6/shared/api
StorageVolumeSnapshotsPost:
description: StorageVolumeSnapshotsPost represents the fields available for a new 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/lxc/incus/v6/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: server01
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
refresh_exclude_older:
description: Whether to exclude source snapshots earlier than latest target snapshot
example: false
type: boolean
x-go-name: RefreshExcludeOlder
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/lxc/incus/v6/shared/api
StorageVolumeState:
description: StorageVolumeState represents the live state of the volume
properties:
usage:
$ref: '#/definitions/StorageVolumeStateUsage'
type: object
x-go-package: github.com/lxc/incus/v6/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/lxc/incus/v6/shared/api
StorageVolumesPost:
description: StorageVolumesPost represents the fields of a new storage pool volume
properties:
config:
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/lxc/incus/v6/shared/api
SystemCertificatePost:
description: |-
SystemCertificatePost represents the fields available for an update of the
system certificate (server certificate), key, and CA.
properties:
ca:
description: The new certificate CA (X509 PEM encoded) for the system (server CA).
example: X509 PEM certificate CA
type: string
x-go-name: CA
certificate:
description: The new certificate (X509 PEM encoded) for the system (server certificate).
example: X509 PEM certificate
type: string
x-go-name: Cert
key:
description: The new certificate key (X509 PEM encoded) for the system (server key).
example: X509 PEM certificate key
type: string
x-go-name: Key
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
SystemNetwork:
properties:
config:
$ref: '#/definitions/SystemNetworkConfig'
state:
$ref: '#/definitions/SystemNetworkState'
title: SystemNetwork defines a struct to hold the three types of supported network configuration.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkBond:
properties:
addresses:
items:
type: string
type: array
x-go-name: Addresses
hwaddr:
type: string
x-go-name: Hwaddr
lldp:
type: boolean
x-go-name: LLDP
members:
items:
type: string
type: array
x-go-name: Members
mode:
type: string
x-go-name: Mode
mtu:
format: int64
type: integer
x-go-name: MTU
name:
type: string
x-go-name: Name
required_for_online:
type: string
x-go-name: RequiredForOnline
roles:
items:
type: string
type: array
x-go-name: Roles
routes:
items:
$ref: '#/definitions/SystemNetworkRoute'
type: array
x-go-name: Routes
vlan_tags:
items:
format: int64
type: integer
type: array
x-go-name: VLANTags
title: SystemNetworkBond contains information about a network bond.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkConfig:
properties:
bonds:
items:
$ref: '#/definitions/SystemNetworkBond'
type: array
x-go-name: Bonds
dns:
$ref: '#/definitions/SystemNetworkDNS'
interfaces:
items:
$ref: '#/definitions/SystemNetworkInterface'
type: array
x-go-name: Interfaces
proxy:
$ref: '#/definitions/SystemNetworkProxy'
time:
$ref: '#/definitions/SystemNetworkTime'
vlans:
items:
$ref: '#/definitions/SystemNetworkVLAN'
type: array
x-go-name: VLANs
title: SystemNetworkConfig represents the user modifiable network configuration.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkDNS:
properties:
domain:
type: string
x-go-name: Domain
hostname:
type: string
x-go-name: Hostname
nameservers:
items:
type: string
type: array
x-go-name: Nameservers
search_domains:
items:
type: string
type: array
x-go-name: SearchDomains
title: SystemNetworkDNS defines DNS configuration options.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkInterface:
properties:
addresses:
items:
type: string
type: array
x-go-name: Addresses
hwaddr:
type: string
x-go-name: Hwaddr
lldp:
type: boolean
x-go-name: LLDP
mtu:
format: int64
type: integer
x-go-name: MTU
name:
type: string
x-go-name: Name
required_for_online:
type: string
x-go-name: RequiredForOnline
roles:
items:
type: string
type: array
x-go-name: Roles
routes:
items:
$ref: '#/definitions/SystemNetworkRoute'
type: array
x-go-name: Routes
vlan_tags:
items:
format: int64
type: integer
type: array
x-go-name: VLANTags
title: SystemNetworkInterface contains information about a network interface.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkInterfaceState:
properties:
addresses:
items:
type: string
type: array
x-go-name: Addresses
hwaddr:
type: string
x-go-name: Hwaddr
lacp:
$ref: '#/definitions/SystemNetworkLACPState'
lldp:
items:
$ref: '#/definitions/SystemNetworkLLDPState'
type: array
x-go-name: LLDP
members:
additionalProperties:
$ref: '#/definitions/SystemNetworkInterfaceState'
type: object
x-go-name: Members
mtu:
format: int64
type: integer
x-go-name: MTU
roles:
items:
type: string
type: array
x-go-name: Roles
routes:
items:
$ref: '#/definitions/SystemNetworkRoute'
type: array
x-go-name: Routes
speed:
type: string
x-go-name: Speed
state:
type: string
x-go-name: State
stats:
$ref: '#/definitions/SystemNetworkInterfaceStats'
type:
type: string
x-go-name: Type
title: SystemNetworkInterfaceState holds state information about a specific network interface.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkInterfaceStats:
properties:
rx_bytes:
format: int64
type: integer
x-go-name: RXBytes
rx_errors:
format: int64
type: integer
x-go-name: RXErrors
tx_bytes:
format: int64
type: integer
x-go-name: TXBytes
tx_errors:
format: int64
type: integer
x-go-name: TXErrors
title: SystemNetworkInterfaceStats holds RX/TX stats for an interface.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkLACPState:
properties:
local_mac:
type: string
x-go-name: LocalMAC
remote_mac:
type: string
x-go-name: RemoteMAC
title: SystemNetworkLACPState holds information about a bond's LACP state.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkLLDPState:
properties:
chassis_id:
type: string
x-go-name: ChassisID
name:
type: string
x-go-name: Name
port:
type: string
x-go-name: Port
port_id:
type: string
x-go-name: PortID
title: SystemNetworkLLDPState holds information about the LLDP state.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkProxy:
properties:
rules:
items:
$ref: '#/definitions/SystemNetworkProxyRule'
type: array
x-go-name: Rules
servers:
additionalProperties:
$ref: '#/definitions/SystemNetworkProxyServer'
type: object
x-go-name: Servers
title: SystemNetworkProxy defines proxy configuration.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkProxyRule:
properties:
destination:
type: string
x-go-name: Destination
target:
type: string
x-go-name: Target
title: SystemNetworkProxyRule defines a proxy rule.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkProxyServer:
properties:
auth:
type: string
x-go-name: Auth
host:
type: string
x-go-name: Host
password:
type: string
x-go-name: Password
realm:
type: string
x-go-name: Realm
use_tls:
type: boolean
x-go-name: UseTLS
username:
type: string
x-go-name: Username
title: SystemNetworkProxyServer defines a proxy server configuration.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkPut:
description: |-
SystemNetworkPut represents the fields available for an update of the
system's network configuration.
properties:
address:
description: Address of Operations Center which is used by managed servers to connect.
type: string
x-go-name: OperationsCenterAddress
rest_server_address:
description: Address and port to bind the REST API to.
type: string
x-go-name: RestServerAddress
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
SystemNetworkRoute:
properties:
to:
type: string
x-go-name: To
via:
type: string
x-go-name: Via
title: SystemNetworkRoute defines a route.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkState:
properties:
interfaces:
additionalProperties:
$ref: '#/definitions/SystemNetworkInterfaceState'
type: object
x-go-name: Interfaces
title: SystemNetworkState holds information about the current network state.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkTime:
properties:
ntp_servers:
items:
type: string
type: array
x-go-name: NTPServers
timezone:
type: string
x-go-name: Timezone
title: SystemNetworkTime defines various time related configuration options (NTP servers, timezone, etc).
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemNetworkVLAN:
properties:
addresses:
items:
type: string
type: array
x-go-name: Addresses
id:
format: int64
type: integer
x-go-name: ID
mtu:
format: int64
type: integer
x-go-name: MTU
name:
type: string
x-go-name: Name
parent:
type: string
x-go-name: Parent
required_for_online:
type: string
x-go-name: RequiredForOnline
roles:
items:
type: string
type: array
x-go-name: Roles
routes:
items:
$ref: '#/definitions/SystemNetworkRoute'
type: array
x-go-name: Routes
title: SystemNetworkVLAN contains information about a network vlan.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemProviderConfig:
properties:
config:
additionalProperties:
type: string
type: object
x-go-name: Config
name:
type: string
x-go-name: Name
title: SystemProviderConfig holds the modifiable part of the provider data.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemSecurity:
properties:
config:
$ref: '#/definitions/SystemSecurityConfig'
state:
$ref: '#/definitions/SystemSecurityState'
title: SystemSecurity defines a struct to hold information about the system's security state.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemSecurityConfig:
properties:
encryption_recovery_keys:
items:
type: string
type: array
x-go-name: EncryptionRecoveryKeys
title: SystemSecurityConfig holds additional security configuration settings.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemSecurityEncryptedVolume:
properties:
state:
type: string
x-go-name: State
volume:
type: string
x-go-name: Volume
title: SystemSecurityEncryptedVolume defines a struct that holds basic information about an encrypted volume.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemSecurityOIDC:
properties:
audience:
description: Audience the OIDC tokens should be verified against.
type: string
x-go-name: Audience
claim:
description: Claim which should be used to identify the user or subject.
type: string
x-go-name: Claim
client_id:
description: Client ID used for communication with the OIDC issuer.
type: string
x-go-name: ClientID
issuer:
description: OIDC Issuer.
type: string
x-go-name: Issuer
scopes:
description: Scopes to be requested.
type: string
x-go-name: Scope
title: SystemSecurityOIDC is the OIDC related part of the system's security configuration.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
SystemSecurityOpenFGA:
description: |-
SystemSecurityOpenFGA is the OpenFGA related part of the system's security
configuration.
properties:
api_token:
description: API token used for communication with the OpenFGA system.
type: string
x-go-name: APIToken
api_url:
description: URL of the OpenFGA API.
type: string
x-go-name: APIURL
store_id:
description: ID of the OpenFGA store.
type: string
x-go-name: StoreID
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
SystemSecurityPut:
description: |-
SystemSecurityPut represents the fields available for an update of the
system's security configuration.
properties:
oidc:
$ref: '#/definitions/SystemSecurityOIDC'
openfga:
$ref: '#/definitions/SystemSecurityOpenFGA'
trusted_tls_client_cert_fingerprints:
description: An array of SHA256 certificate fingerprints that belong to trusted TLS clients.
items:
type: string
type: array
x-go-name: TrustedTLSClientCertFingerprints
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
SystemSecuritySecureBootCertificate:
properties:
fingerprint:
type: string
x-go-name: Fingerprint
issuer:
type: string
x-go-name: Issuer
subject:
type: string
x-go-name: Subject
type:
type: string
x-go-name: Type
title: SystemSecuritySecureBootCertificate defines a struct that holds information about Secure Boot keys present on the host.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemSecurityState:
properties:
encrypted_volumes:
items:
$ref: '#/definitions/SystemSecurityEncryptedVolume'
type: array
x-go-name: EncryptedVolumes
encryption_recovery_keys_retrieved:
type: boolean
x-go-name: EncryptionRecoveryKeysRetrieved
pool_recovery_keys:
additionalProperties:
type: string
type: object
x-go-name: PoolRecoveryKeys
secure_boot_certificates:
items:
$ref: '#/definitions/SystemSecuritySecureBootCertificate'
type: array
x-go-name: SecureBootCertificates
secure_boot_enabled:
type: boolean
x-go-name: SecureBootEnabled
tpm_status:
type: string
x-go-name: TPMStatus
title: SystemSecurityState holds information about the current security state.
type: object
x-go-package: github.com/lxc/incus-os/incus-osd/api
SystemUpdates:
properties:
file_filter_expression:
description: |-
Filter expression for update files using https://expr-lang.org/ on struct
provisioning.UpdateFile.
If a filter is defined, the filter needs to evaluate to true for the file
being fetched by Operations Center.
Empty filter expression does not filter at all.
For file filter expression, the following helper functions are available:
AppliesToArchitecture(arch string) bool
Returns true if the Architecture field matches the given arch string
or if the Architecture field is not set.
Examples:
AppliesToArchitecture("x86_64")
Architecture == "x86_64"
type: string
x-go-name: FileFilterExpression
filter_expression:
description: |-
Filter expression for updates using https://expr-lang.org/ on struct
provisioning.Update.
If a filter is defined, the filter needs to evaluate to true for the update
being fetched by Operations Center.
Empty filter expression does not filter at all.
example: '''stable'' in Channels'
type: string
x-go-name: FilterExpression
signature_verification_root_ca:
description: Root CA certificate used to verify the signature of index.sjson.
example: '-----BEGIN CERTIFICATE-----\nMII...\n-----END CERTIFICATE-----'
type: string
x-go-name: SignatureVerificationRootCA
source:
description: Source is the URL of the origin, the updates should be fetched from.
type: string
x-go-name: Source
title: SystemUpdates represents the system's updates configuration.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
SystemUpdatesPut:
description: |-
SystemUpdatesPut represents the fields available for an update of the
system's updates configuration.
properties:
file_filter_expression:
description: |-
Filter expression for update files using https://expr-lang.org/ on struct
provisioning.UpdateFile.
If a filter is defined, the filter needs to evaluate to true for the file
being fetched by Operations Center.
Empty filter expression does not filter at all.
For file filter expression, the following helper functions are available:
AppliesToArchitecture(arch string) bool
Returns true if the Architecture field matches the given arch string
or if the Architecture field is not set.
Examples:
AppliesToArchitecture("x86_64")
Architecture == "x86_64"
type: string
x-go-name: FileFilterExpression
filter_expression:
description: |-
Filter expression for updates using https://expr-lang.org/ on struct
provisioning.Update.
If a filter is defined, the filter needs to evaluate to true for the update
being fetched by Operations Center.
Empty filter expression does not filter at all.
example: '''stable'' in Channels'
type: string
x-go-name: FilterExpression
signature_verification_root_ca:
description: Root CA certificate used to verify the signature of index.sjson.
example: '-----BEGIN CERTIFICATE-----\nMII...\n-----END CERTIFICATE-----'
type: string
x-go-name: SignatureVerificationRootCA
source:
description: Source is the URL of the origin, the updates should be fetched from.
type: string
x-go-name: Source
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
Target:
properties:
name:
description: A human-friendly name for this target
example: MyTarget
type: string
x-go-name: Name
properties:
description: Properties contains target type specific properties
type: object
x-go-name: Properties
target_type:
$ref: '#/definitions/TargetType'
title: Target defines properties common to all targets.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
TargetPut:
properties:
name:
description: A human-friendly name for this target
example: MyTarget
type: string
x-go-name: Name
properties:
description: Properties contains target type specific properties
type: object
x-go-name: Properties
title: TargetPut defines the configurable properties of Target.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
TargetType:
type: string
x-go-package: github.com/FuturFusion/migration-manager/shared/api
Token:
properties:
description:
description: Description of this token.
example: '"Test Environment"'
type: string
x-go-name: Description
expire_at:
description: The time at which the token expires in RFC3339 format with seconds precision.
example: '"2025-02-04T07:25:47Z"'
format: date-time
type: string
x-go-name: ExpireAt
uses_remaining:
description: Value indicating, how many times the token might be used for registration.
example: 10
format: int64
type: integer
x-go-name: UsesRemaining
uuid:
description: UUID of the token, which serves as the the token.
example: b32d0079-c48b-4957-b1cb-bef54125c861
format: uuid
type: string
x-go-name: UUID
title: Token defines a registration token for use during registration.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
TokenImagePost:
description: |-
Operations Center just passes through the provided configuration for
applications.yaml, install.yaml and network.yaml as is without any validation
of the provided configuration besides of ensuring it to be valid yaml.
properties:
architecture:
$ref: '#/definitions/UpdateFileArchitecture'
seeds:
$ref: '#/definitions/TokenSeedConfigs'
type:
description: |-
Type contains the type of image to be generated.
Possible values for status are: iso, raw
example: iso
type: string
x-go-name: Type
x-go-type: github.com/FuturFusion/operations-center/shared/api.ImageType
title: |-
TokenImagePost defines the configuration to generate a pre-seeded ISO or raw
image for a given Token.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
TokenProviderConfig:
properties:
config:
additionalProperties:
type: string
type: object
x-go-name: Config
name:
type: string
x-go-name: Name
version:
type: string
x-go-name: Version
title: TokenProviderConfig defines the provider configuration for a given token.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
TokenPut:
properties:
description:
description: Description of this token.
example: '"Test Environment"'
type: string
x-go-name: Description
expire_at:
description: The time at which the token expires in RFC3339 format with seconds precision.
example: '"2025-02-04T07:25:47Z"'
format: date-time
type: string
x-go-name: ExpireAt
uses_remaining:
description: Value indicating, how many times the token might be used for registration.
example: 10
format: int64
type: integer
x-go-name: UsesRemaining
title: TokenPut defines the configurable properties of Token.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
TokenSeed:
description: |-
Operations Center just passes through the provided configuration for
application.yaml, install.yaml and network.yaml as is without any validation
of the provided configuration besides of ensuring it to be valid yaml.
properties:
description:
description: Description contains the description of the token seed configuration.
example: Configuration for lab servers.
type: string
x-go-name: Description
last_updated:
description: LastUpdated is the time, when this information has been updated for the last time in RFC3339 format.
example: "2024-11-12T16:15:00Z"
format: date-time
type: string
x-go-name: LastUpdated
name:
description: Name contains the name of the token seed configuration.
example: MyConfig
type: string
x-go-name: Name
public:
description: |-
Public defines, if images generated based on the given token seed
configuration can be retrieved without authentication. If public is set to
`true`, no authentication is necessary, otherwise authentication is
required.
example: true
type: boolean
x-go-name: Public
seeds:
$ref: '#/definitions/TokenSeedConfigs'
token_uuid:
description: UUID of the token.
example: b32d0079-c48b-4957-b1cb-bef54125c861
format: uuid
type: string
x-go-name: Token
title: |-
TokenSeed defines a named token seed configuration, for which a
pre-seeded ISO or raw image can be fetched later.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
TokenSeedConfigs:
properties:
applications:
additionalProperties: {}
description: Applications represents the applications configuration (applications.yaml) to be included in the pre-seeded image.
type: object
x-go-name: Applications
install:
additionalProperties: {}
description: Install represents the install configuration (install.yaml) to be included in the pre-seeded image.
type: object
x-go-name: Install
migration_manager:
additionalProperties: {}
description: MigrationManager represents the seed configuration for migration manager (migration-manager.yaml) to be included in the pre-seeded image.
type: object
x-go-name: MigrationManager
network:
additionalProperties: {}
description: Network represents the network configuration (network.yaml) to be included in the pre-seeded image.
type: object
x-go-name: Network
operations_center:
additionalProperties: {}
description: OperationsCenter represents the seed configuration for operations center (operations-center.yaml) to be included in the pre-seeded image.
type: object
x-go-name: OperationsCenter
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
TokenSeedPost:
description: |-
Operations Center just passes through the provided configuration for
application.yaml, install.yaml and network.yaml as is without any validation
of the provided configuration besides of ensuring it to be valid yaml.
properties:
description:
description: Description contains the description of the token seed configuration.
example: Configuration for lab servers.
type: string
x-go-name: Description
name:
description: Name contains the name of the token seed configuration.
example: MyConfig
type: string
x-go-name: Name
public:
description: |-
Public defines, if images generated based on the given token seed
configuration can be retrieved without authentication. If public is set to
`true`, no authentication is necessary, otherwise authentication is
required.
example: true
type: boolean
x-go-name: Public
seeds:
$ref: '#/definitions/TokenSeedConfigs'
title: |-
TokenSeedPost defines a named token seed configuration, for which a
pre-seeded ISO or raw image can be fetched later.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
TokenSeedPut:
description: |-
Operations Center just passes through the provided configuration for
application.yaml, install.yaml and network.yaml as is without any validation
of the provided configuration besides of ensuring it to be valid yaml.
properties:
description:
description: Description contains the description of the token seed configuration.
example: Configuration for lab servers.
type: string
x-go-name: Description
public:
description: |-
Public defines, if images generated based on the given token seed
configuration can be retrieved without authentication. If public is set to
`true`, no authentication is necessary, otherwise authentication is
required.
example: true
type: boolean
x-go-name: Public
seeds:
$ref: '#/definitions/TokenSeedConfigs'
title: |-
TokenSeedPut defines the updateable part of a named token seed
configuration, for which a pre-seeded ISO or raw image can be fetched later.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
Update:
properties:
changelog:
description: Changelog of the Update as plain text.
type: string
x-go-name: Changelog
channels:
description: Channels the update is part of.
example: stable
items:
type: string
type: array
x-go-name: Channels
origin:
description: Origin of the Update.
example: linuxcontainers.org
type: string
x-go-name: Origin
published_at:
description: PublishedAt is the date, when the Update has been published in RFC3339 format.
example: "2025-02-12T09:59:00Z"
format: date-time
type: string
x-go-name: PublishedAt
severity:
$ref: '#/definitions/UpdateSeverity'
update_status:
description: |-
Status contains the status the update is currently in.
Possible values for status are: pending, ready
example: ready
type: string
x-go-name: Status
x-go-type: github.com/FuturFusion/operations-center/shared/api.UpdateStatus
url:
description: URL of the File.
example: releases/download/202501311418/
type: string
x-go-name: URL
uuid:
description: UUID of the update.
format: uuid
type: string
x-go-name: UUID
version:
description: Version of the Update as opaque string.
example: "202501311418"
type: string
x-go-name: Version
title: Update defines an update for a given server type.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
UpdateFile:
properties:
architecture:
$ref: '#/definitions/UpdateFileArchitecture'
component:
$ref: '#/definitions/UpdateFileComponent'
filename:
description: Filename of the File.
example: IncusOS_202501311418.efi.gz
type: string
x-go-name: Filename
sha256:
description: Sha256 checksum of the file in hex encoding (64 ascii characters in the alphabet [0-9A-Fa-f])
example: 11465a836ce54a8f293ac9234aa51050094cfbb8906c1a10ab9487dd92088643
type: string
x-go-name: Sha256
size:
description: Size of the File in bytes.
example: 54300000
format: int64
type: integer
x-go-name: Size
type:
$ref: '#/definitions/UpdateFileType'
title: UpdateFile defines an update file.
type: object
x-go-package: github.com/FuturFusion/operations-center/shared/api
UpdateFileArchitecture:
title: UpdateFileArchitecture represents the architecture for a given file.
type: string
x-go-package: github.com/lxc/incus-os/incus-osd/api/images
UpdateFileComponent:
title: UpdateFileComponent represents the component affected by an update.
type: string
x-go-package: github.com/lxc/incus-os/incus-osd/api/images
UpdateFileType:
title: UpdateFileType represents the type in an update file.
type: string
x-go-package: github.com/lxc/incus-os/incus-osd/api/images
UpdateSeverity:
title: UpdateSeverity represents the severity field in an update.
type: string
x-go-package: github.com/lxc/incus-os/incus-osd/api/images
VMwareProperties:
properties:
connectivity_status:
$ref: '#/definitions/ExternalConnectivityStatus'
endpoint:
description: Hostname or IP address of the source endpoint
example: vsphere.local
type: string
x-go-name: Endpoint
import_limit:
description: Maximum number of concurrent imports that can occur
example: 10
format: int64
type: integer
x-go-name: ImportLimit
password:
description: Password to authenticate against the endpoint
example: password
type: string
x-go-name: Password
trusted_server_certificate:
description: Store the expected source's TLS certificate, in raw bytes. Useful in situations when TLS certificate validation fails, such as when using self-signed certificates.
items:
format: uint8
type: integer
type: array
x-go-name: ServerCertificate
trusted_server_certificate_fingerprint:
description: If set and the fingerprint matches that of the ServerCertificate, enables use of that certificate when performing TLS handshake.
example: b51b3046a03164a2ca279222744b12fe0878a8c12311c88fad427f4e03eca42d
type: string
x-go-name: TrustedServerCertificateFingerprint
username:
description: Username to authenticate against the endpoint
example: admin
type: string
x-go-name: Username
title: VMwareProperties defines the set of VMware specific properties of an endpoint that the migration manager can connect to.
type: object
x-go-package: github.com/FuturFusion/migration-manager/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: server01
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/lxc/incus/v6/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/lxc/incus/v6/shared/api
WorkerCommand:
properties:
architecture:
description: Architecture of the instance
example: x86_64
type: string
x-go-name: Architecture
command:
$ref: '#/definitions/WorkerCommandType'
location:
description: Internal path to the instance
example: /SHF/vm/Migration Tests/DebianTest
type: string
x-go-name: Location
os:
description: The name of the operating system
example: Ubuntu
type: string
x-go-name: OS
os_type:
$ref: '#/definitions/OSType'
os_version:
description: The version of the operating system
example: "24.04"
type: string
x-go-name: OSVersion
source:
description: Source for the worker to fetch VM metadata and/or disk from.
type: object
x-go-name: Source
sourceType:
$ref: '#/definitions/SourceType'
title: WorkerCommand defines a command sent from the migration manager to a worker.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
WorkerCommandType:
format: int64
type: integer
x-go-package: github.com/FuturFusion/migration-manager/shared/api
WorkerResponse:
properties:
status:
$ref: '#/definitions/WorkerResponseType'
status_message:
description: A free-form string to provide additional information about the command status
example: '"Migration 25% complete"'
type: string
x-go-name: StatusMessage
title: WorkerResponse defines a response received from a worker.
type: object
x-go-package: github.com/FuturFusion/migration-manager/shared/api
WorkerResponseType:
format: int64
type: integer
x-go-package: github.com/FuturFusion/migration-manager/shared/api
paths:
/:
get:
description: Returns a list of supported API versions (URLs).
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: Returns a map with basic information about the server's environment.
operationId: server_get
produces:
- application/json
responses:
"200":
description: Basic server environment
schema:
description: Sync response
properties:
metadata:
description: Basic server information
example:
environment:
hostname: af94e64e-1993-41b6-8f10-a8eebb828fce
os_name: IncusOS
os_version: "202511041601"
type: json
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 basic information about the server environment
tags:
- server
/1.0/applications:
get:
description: Returns a list of currently installed applications (URLs).
operationId: applications_get
produces:
- application/json
responses:
"200":
description: API endpoints
schema:
description: Sync response
properties:
metadata:
description: List of applications
example:
- /1.0/applications/incus
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 currently installed applications
tags:
- applications
post:
consumes:
- application/json
description: Installs a new application on the system.
operationId: applications_post
parameters:
- description: Application to be installed
in: body
name: application
required: true
schema:
example:
name: incus
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"404":
$ref: '#/responses/NotFound'
"409":
$ref: '#/responses/Conflict'
"500":
$ref: '#/responses/InternalServerError'
summary: Add an application
tags:
- applications
/1.0/applications/{name}:
get:
description: Returns application-specific state and configuration information.
operationId: applications_get_application
parameters:
- description: Application name
in: path
name: name
required: true
type: string
produces:
- application/json
responses:
"200":
description: State and configuration for the application
schema:
description: Sync response
properties:
metadata:
description: State and configuration for the application
example:
config: {}
state:
initialized: true
version: "202511041601"
type: json
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'
summary: Get application-specific information
tags:
- applications
/1.0/applications/{name}/:backup:
post:
consumes:
- application/json
description: |-
Generate and return a `gzip` compressed tar archive backup for the application.
A full backup may be quite large depending on what artifacts or updates are locally cached by the application.
operationId: applications_post_backup
parameters:
- description: Application name
in: path
name: name
required: true
type: string
- description: Backup configuration
in: body
name: configuration
schema:
example:
complete: true
type: object
produces:
- application/json
- application/gzip
responses:
"200":
description: gzip'ed tar archive
schema:
type: file
"404":
$ref: '#/responses/NotFound'
"500":
$ref: '#/responses/InternalServerError'
summary: Generate an application backup
tags:
- applications
/1.0/applications/{name}/:factory-reset:
post:
description: Factory reset the application. This is a DESTRUCTIVE action and will wipe any local application configuration.
operationId: applications_post_reset
parameters:
- description: Application name
in: path
name: name
required: true
type: string
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"404":
$ref: '#/responses/NotFound'
"500":
$ref: '#/responses/InternalServerError'
summary: Perform a factory reset of the application
tags:
- applications
/1.0/applications/{name}/:restart:
post:
description: Triggers a restart of the application.
operationId: applications_post_restart
parameters:
- description: Application name
in: path
name: name
required: true
type: string
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"404":
$ref: '#/responses/NotFound'
"500":
$ref: '#/responses/InternalServerError'
summary: Restart an application
tags:
- applications
/1.0/applications/{name}/:restore:
post:
consumes:
- application/gzip
description: |-
Restore a `gzip` compressed tar archive backup for the application. After a successful restore, the application will be restarted.
Remember to properly set the `Content-Type: application/gzip` HTTP header.
operationId: applications_post_restore
parameters:
- description: Application name
in: path
name: name
required: true
type: string
- description: Application backup to restore
in: body
name: gzip tar archive
required: true
schema:
type: file
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"404":
$ref: '#/responses/NotFound'
"500":
$ref: '#/responses/InternalServerError'
summary: Restore an application backup
tags:
- applications
/1.0/debug:
get:
description: |-
Returns a list of debug endpoints (URLs).
These endpoints have no guarantee of API stability, and should not be used in normal day-to-day operations.
operationId: debug_get
produces:
- application/json
responses:
"200":
description: API endpoints
schema:
description: Sync response
properties:
metadata:
description: List of debug endpoints
example:
- /1.0/debug/log
- /1.0/debug/tui
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 debug endpoints
tags:
- debug
/1.0/debug/log:
get:
description: Return systemd journal entries, optionally filtering by unit, boot number, and number of returned entries.
operationId: debug_get_log
parameters:
- description: Limit journal entries to the specified unit
in: query
name: unit
type: string
- description: Limit journal entries to the specified boot number
in: query
name: boot
type: integer
- description: Limit journal entries to the specified number of entries
in: query
name: entries
type: integer
produces:
- application/json
responses:
"200":
description: systemd journal entries
schema:
description: Sync response
properties:
metadata:
description: List of systemd journal entries
example:
- __CURSOR: s=55e9886cc9024eb7ad4367e9061be6ce;i=7a6;b=800f36431cb84ddbacbff7fd5539d359;m=241064e;t=642c705aba083;x=e88fc1e4f70c128a
__MONOTONIC_TIMESTAMP: "37815886"
__REALTIME_TIMESTAMP: "1762272421322883"
__SEQNUM: "1958"
__SEQNUM_ID: 55e9886cc9024eb7ad4367e9061be6ce
_BOOT_ID: 800f36431cb84ddbacbff7fd5539d359
_CAP_EFFECTIVE: 1ffffffffff
_CMDLINE: /usr/local/bin/incus-osd
_COMM: incus-osd
_EXE: /usr/local/bin/incus-osd
_GID: "0"
_HOSTNAME: af94e64e-1993-41b6-8f10-a8eebb828fce
_MACHINE_ID: af94e64e199341b68f10a8eebb828fce
_PID: "688"
_RUNTIME_SCOPE: system
_SELINUX_CONTEXT: |
unconfined
_STREAM_ID: 2cad567611724cb0ac38369beeff4921
_SYSTEMD_CGROUP: /system.slice/incus-osd.service
_SYSTEMD_INVOCATION_ID: 8b2d8aabff73448dafab917f4eaaeacc
_SYSTEMD_SLICE: system.slice
_SYSTEMD_UNIT: incus-osd.service
_TRANSPORT: stdout
_UID: "0"
MESSAGE: 2025-11-04 16:07:01 INFO System is ready release=202511041601
PRIORITY: "6"
SYSLOG_FACILITY: "3"
SYSLOG_IDENTIFIER: incus-osd
items:
type: object
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 systemd journal entries
tags:
- debug
/1.0/debug/secureboot/:update:
post:
consumes:
- application/gzip
description: |-
Apply a `gzip` compressed tar archive of Secure Boot variable updates.
Remember to properly set the `Content-Type: application/gzip` HTTP header.
operationId: debug_post_secureboot_update
parameters:
- description: Secure Boot updates to apply
in: body
name: gzip tar archive
required: true
schema:
type: file
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"500":
$ref: '#/responses/InternalServerError'
summary: Apply Secure Boot updates
tags:
- debug
/1.0/debug/tui/:write-message:
post:
consumes:
- application/json
description: Send a message that should be logged by the system.
operationId: debug_post_tui_write_log
parameters:
- description: Message to be logged
in: body
name: message
required: true
schema:
properties:
level:
description: The log level
example: INFO
type: string
message:
description: The log message
example: Hello, world
type: string
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
summary: Log a message
tags:
- debug
/1.0/services:
get:
description: Returns a list of currently available services (URLs).
operationId: services_get
produces:
- application/json
responses:
"200":
description: API endpoints
schema:
description: Sync response
properties:
metadata:
description: List of services
example:
- /1.0/services/ceph
- /1.0/services/iscsi
- /1.0/services/linstor
- /1.0/services/lvm
- /1.0/services/multipath
- /1.0/services/nvme
- /1.0/services/ovn
- /1.0/services/tailscale
- /1.0/services/usbip
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 available services
tags:
- services
/1.0/services/{name}:
get:
description: Returns service-specific state and configuration information.
operationId: services_get_service
parameters:
- description: Service name
in: path
name: name
required: true
type: string
produces:
- application/json
responses:
"200":
description: State and configuration for the service
schema:
description: Sync response
properties:
metadata:
description: State and configuration for the service
example:
config:
enabled: false
system_id: 0
state: {}
type: json
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 service-specific information
tags:
- services
put:
consumes:
- application/json
description: Updates a service's configuration.
operationId: services_put_service
parameters:
- description: Service name
in: path
name: name
required: true
type: string
- description: Service configuration
in: body
name: configuration
required: true
schema:
properties:
config:
description: The service configuration
example:
enabled: true
system_id: 123
type: object
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"404":
$ref: '#/responses/NotFound'
"500":
$ref: '#/responses/InternalServerError'
summary: Update service configuration
tags:
- services
/1.0/services/{name}/:reset:
post:
description: Forcefully resets the service.
operationId: services_post_reset
parameters:
- description: Service name
in: path
name: name
required: true
type: string
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"404":
$ref: '#/responses/NotFound'
"500":
$ref: '#/responses/InternalServerError'
summary: Forcefully reset service
tags:
- services
/1.0/system:
get:
description: Returns a list of system endpoints (URLs).
operationId: system_get
produces:
- application/json
responses:
"200":
description: API endpoints
schema:
description: Sync response
properties:
metadata:
description: List of system endpoints
example:
- /1.0/system/logging
- /1.0/system/network
- /1.0/system/provider
- /1.0/system/resources
- /1.0/system/security
- /1.0/system/storage
- /1.0/system/update
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 list of system endpoints
tags:
- system
/1.0/system/:backup:
post:
description: Generate and return a `gzip` compressed tar archive backup of the system state and configuration.
operationId: systemd_post_backup
produces:
- application/json
- application/gzip
responses:
"200":
description: gzip'ed tar archive
schema:
type: file
"500":
$ref: '#/responses/InternalServerError'
summary: Generate a system backup
tags:
- system
/1.0/system/:factory-reset:
post:
description: Factory reset the entire system and immediately reboot. This is a DESTRUCTIVE action and will wipe all installed applications, configuration, and the "local" ZFS datapool.
operationId: system_post_reset
parameters:
- description: Reset data
in: body
name: configuration
schema:
example:
allow_tpm_reset_failure: false
seeds:
incus:
apply_defaults: true
wipe_existing_seeds: true
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Perform a factory reset of the system
tags:
- system
/1.0/system/:poweroff:
post:
description: Powers off the system.
operationId: system_post_poweroff
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
summary: Power off the system
tags:
- system
/1.0/system/:reboot:
post:
description: Reboots the system.
operationId: system_post_reboot
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
summary: Reboot the system
tags:
- system
/1.0/system/:restore:
post:
consumes:
- application/gzip
description: |-
Restore a `gzip` compressed tar backup of the system state and configuration. Upon completion the system will immediately reboot.
Remember to properly set the `Content-Type: application/gzip` HTTP header.
operationId: system_post_restore
parameters:
- description: Application backup to restore
in: body
name: gzip tar archive
required: true
schema:
type: file
- description: A comma-separated list of items to ignore when restoring the backup
in: query
items:
enum:
- encryption-recovery-keys
- local-data-encryption-key
- network-macs
type: string
name: skip
type: array
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"500":
$ref: '#/responses/InternalServerError'
summary: Restore a system backup
tags:
- system
/1.0/system/logging:
get:
description: Returns the current system logging state and configuration information.
operationId: system_get_logging
produces:
- application/json
responses:
"200":
description: State and configuration for the system logging
schema:
description: Sync response
properties:
metadata:
description: State and configuration for the system logging
example:
config:
syslog:
address: localhost
log_format: ""
protocol: TCP
state: {}
type: json
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 logging information
tags:
- system
put:
consumes:
- application/json
description: Updates the system logging configuration.
operationId: system_put_logging
parameters:
- description: Logging configuration
in: body
name: configuration
required: true
schema:
properties:
config:
description: The logging configuration
example:
syslog:
address: 127.0.0.1
log_format: ""
protocol: TCP
type: object
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Update system logging configuration
tags:
- system
/1.0/system/network:
get:
description: Returns the current system network state and configuration information.
operationId: system_get_network
produces:
- application/json
responses:
"200":
description: State and configuration for the system network
schema:
description: Sync response
properties:
metadata:
description: State and configuration for the system network
example:
config:
interfaces:
- addresses:
- dhcp4
- slaac
hwaddr: 10:66:6a:1a:20:0f
lldp: false
name: enp5s0
required_for_online: "no"
time:
timezone: UTC
state:
interfaces:
enp5s0:
addresses:
- 10.234.136.149
- fd42:3cfb:8972:3990:1266:6aff:fe1a:200f
hwaddr: 10:66:6a:1a:20:0f
mtu: 1500
roles:
- management
- cluster
routes:
- to: default
via: 10.234.136.1
speed: "-1"
state: routable
stats:
rx_bytes: 82290
rx_errors: 0
tx_bytes: 43500
tx_errors: 0
type: interface
type: json
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 network information
tags:
- system
put:
consumes:
- application/json
description: Updates the system network configuration.
operationId: system_put_network
parameters:
- description: Network configuration
in: body
name: configuration
required: true
schema:
properties:
config:
description: The network configuration
example:
interfaces:
- addresses:
- dhcp4
hwaddr: 10:66:6a:1a:20:0f
lldp: true
name: enp5s0
required_for_online: "yes"
time:
timezone: America/New_York
type: object
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Update system network configuration
tags:
- system
/1.0/system/provider:
get:
description: Returns the current system provider state and configuration information.
operationId: system_get_provider
produces:
- application/json
responses:
"200":
description: State and configuration for the system provider
schema:
description: Sync response
properties:
metadata:
description: State and configuration for the system provider
example:
config:
config: null
name: images
state:
registered: false
type: json
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 provider information
tags:
- system
put:
consumes:
- application/json
description: Updates the system provider configuration.
operationId: system_put_provider
parameters:
- description: Provider configuration
in: body
name: configuration
required: true
schema:
properties:
config:
description: The provider configuration
example:
config: null
name: images
type: object
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Update system provider configuration
tags:
- system
/1.0/system/resources:
get:
description: Returns a detailed low-level dump of the system's resources.
operationId: system_get_resources
produces:
- application/json
responses:
"200":
description: Low-level details about system resources
schema:
description: Sync response
properties:
metadata:
description: Low-level details about system resources
example:
cpu:
architecture: x86_64
sockets:
- cache:
- level: 1
size: 65536
type: Data
- level: 1
size: 65536
type: Instruction
- level: 2
size: 524288
type: Unified
- level: 3
size: 16777216
type: Unified
cores:
- core: 0
die: 0
threads:
- id: 0
isolated: false
numa_node: 0
online: true
thread: 0
name: AMD Ryzen Threadripper PRO 7965WX 24-Cores
socket: 0
vendor: AuthenticAMD
type: json
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 details about system resources
tags:
- system
/1.0/system/security:
get:
description: Returns information about the system's security state, such as Secure Boot and TPM status, encryption recovery keys, etc.
operationId: system_get_security
produces:
- application/json
responses:
"200":
description: State and configuration for the system security
schema:
description: Sync response
properties:
metadata:
description: State and configuration for the system security
example:
config:
encryption_recovery_keys:
- fkrjjenn-tbtjbjgh-jtvvchjr-ctienevu-crknfkvi-vjlvblhl-kbneribu-htjtldch
state:
encrypted_volumes:
- state: unlocked (TPM)
volume: root
- state: unlocked (TPM)
volume: swap
encryption_recovery_keys_retrieved: true
pool_recovery_keys:
local: F7zrtdHEaivKqofZbVFs2EeANyK77DbLi6Z8sqYVhr0=
secure_boot_certificates:
- fingerprint: 26dce4dbb3de2d72bd16ae91a85cfeda84535317d3ee77e0d4b2d65e714cf111
issuer: CN=Incus OS - Secure Boot E1,O=Linux Containers
subject: CN=Incus OS - Secure Boot PK R1,O=Linux Containers
type: PK
- fingerprint: 9a42866f496834bde7e1b26a862b1e1b6dea7b78b91a948aecfc4e6ef79ea6c1
issuer: CN=Incus OS - Secure Boot E1,O=Linux Containers
subject: CN=Incus OS - Secure Boot KEK R1,O=Linux Containers
type: KEK
- fingerprint: 21b6f423cf80fe6c436dfea0683460312f276debe2a14285bfdc22da2d00fc20
issuer: CN=Incus OS - Secure Boot E1,O=Linux Containers
subject: CN=Incus OS - Secure Boot 2025 R1,O=Linux Containers
type: db
- fingerprint: 2243c49fcf6f84fe670f100ecafa801389dc207536cb9ca87aa2c062ddebfde5
issuer: CN=Incus OS - Secure Boot E1,O=Linux Containers
subject: CN=Incus OS - Secure Boot 2026 R1,O=Linux Containers
type: db
secure_boot_enabled: true
tpm_status: ok
type: json
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 security information
tags:
- system
put:
consumes:
- application/json
description: |-
Updates list of encryption recovery keys. Keys must be at least 15 characters long,
contain at least one special character, and consist of at least five unique characters.
Some other simple complexity checks are applied, and any key that doesn't pass will
be rejected with an error.
operationId: system_put_security
parameters:
- description: Security configuration
in: body
name: configuration
required: true
schema:
properties:
config:
description: The security configuration
example:
encryption_recovery_keys:
- my-super-secret-passphrase
type: object
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Update system security configuration
tags:
- system
/1.0/system/security/:tpm-rebind:
post:
description: Forcibly resets TPM encryption bindings; intended only for use if it was required to enter a recovery passphrase to boot the system.
operationId: system_post_security_tpm_rebind
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"500":
$ref: '#/responses/InternalServerError'
summary: Reset TPM bindings
tags:
- system
/1.0/system/storage:
get:
description: Returns information about drives present in the system and the status of any local storage pools.
operationId: system_get_storage
produces:
- application/json
responses:
"200":
description: State and configuration for the system storage
schema:
description: Sync response
properties:
metadata:
description: State and configuration for the system storage
example:
config: {}
state:
drives:
- boot: true
bus: scsi
capacity_in_bytes: 53687091200
id: /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_incus_root
model_family: QEMU
model_name: QEMU HARDDISK
remote: false
removable: false
serial_number: incus_root
pools:
- devices:
- /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_incus_root-part11
encryption_key_status: available
name: local
pool_allocated_space_in_bytes: 4313088
raw_pool_size_in_bytes: 17716740096
state: ONLINE
type: zfs-raid0
usable_pool_size_in_bytes: 17716740096
type: json
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 storage information
tags:
- system
put:
consumes:
- application/json
description: Creates or updates a local storage pool.
operationId: system_put_storage
parameters:
- description: Storage configuration
in: body
name: configuration
required: true
schema:
properties:
config:
description: The storage configuration
example:
pools:
- devices:
- /dev/sdb
- /dev/sdc
- /dev/sdd
- /dev/sde
name: mypool
type: zfs-raidz3
type: object
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Update system storage configuration
tags:
- system
/1.0/system/storage/:create-volume:
post:
consumes:
- application/json
description: Creates a new storage pool volume.
operationId: system_post_storage_create_volume
parameters:
- description: The volume to be created
in: body
name: configuration
required: true
schema:
example:
name: my-volume
pool: local
quota: 0
use: incus
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Create a volume
tags:
- system
/1.0/system/storage/:delete-pool:
post:
consumes:
- application/json
description: Destroys a local storage pool.
operationId: system_post_storage_delete_pool
parameters:
- description: The pool to be deleted
in: body
name: configuration
required: true
schema:
example:
name: mypool
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Delete local pool
tags:
- system
/1.0/system/storage/:delete-volume:
post:
consumes:
- application/json
description: Deletes a storage pool volume.
operationId: system_post_storage_delete_volume
parameters:
- description: The volume to be deleted
in: body
name: configuration
required: true
schema:
example:
force: true
name: my-volume
pool: local
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Delete a volume
tags:
- system
/1.0/system/storage/:import-pool:
post:
consumes:
- application/json
description: Imports an existing encrypted ZFS storage pool and save its encryption key.
operationId: system_post_storage_import_pool
parameters:
- description: Existing pool information
in: body
name: configuration
required: true
schema:
example:
encryption_key: THp6YZ33zwAEXiCWU71/l7tY8uWouKB5TSr/uKXCj2A=
name: mypool
type: zfs
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Import an existing encrypted storage pool
tags:
- system
/1.0/system/storage/:wipe-drive:
post:
consumes:
- application/json
description: Forcibly wipes all data from the specified drive.
operationId: system_post_storage_wipe_drive
parameters:
- description: The drive to be wiped
in: body
name: configuration
required: true
schema:
example:
id: /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_incus_disk
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
"500":
$ref: '#/responses/InternalServerError'
summary: Wipe a drive
tags:
- system
/1.0/system/update:
get:
description: Returns the current system update state and configuration information.
operationId: system_get_update
produces:
- application/json
responses:
"200":
description: State and configuration for the system update
schema:
description: Sync response
properties:
metadata:
description: State and configuration for the system update
example:
config:
auto_reboot: false
channel: stable
check_frequency: 6h
state:
last_check: "2025-11-04T16:21:34.929524792Z"
needs_reboot: false
status: Update check completed
type: json
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 update information
tags:
- system
put:
consumes:
- application/json
description: Updates the system update configuration.
operationId: system_put_update
parameters:
- description: Update configuration
in: body
name: configuration
required: true
schema:
properties:
config:
description: The update configuration
example:
auto_reboot: false
channel: testing
check_frequency: 1d
type: object
type: object
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
"400":
$ref: '#/responses/BadRequest'
summary: Update system update configuration
tags:
- system
/1.0/system/update/:check:
post:
description: Triggers an immediate system update check.
operationId: system_post_update_check
produces:
- application/json
responses:
"200":
$ref: '#/responses/EmptySyncResponse'
summary: Trigger update check
tags:
- system
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
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
swagger: "2.0"