mirror of
https://github.com/outbackdingo/incus-os.git
synced 2026-01-27 10:19:24 +00:00
10378 lines
398 KiB
YAML
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"
|