mirror of
https://github.com/lxc/incus.git
synced 2026-02-05 09:46:19 +01:00
17711 lines
659 KiB
YAML
17711 lines
659 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
|
|
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:
|
|
enabled:
|
|
description: Whether clustering is enabled
|
|
example: true
|
|
type: boolean
|
|
x-go-name: Enabled
|
|
member_config:
|
|
description: List of member configuration keys (used during join)
|
|
example: []
|
|
items:
|
|
$ref: '#/definitions/ClusterMemberConfigKey'
|
|
type: array
|
|
x-go-name: MemberConfig
|
|
server_name:
|
|
description: Name of the cluster member answering the request
|
|
example: server01
|
|
type: string
|
|
x-go-name: ServerName
|
|
title: Cluster represents high-level information about a cluster.
|
|
type: object
|
|
x-go-package: github.com/lxc/incus/v6/shared/api
|
|
ClusterCertificatePut:
|
|
description: ClusterCertificatePut represents the certificate and key pair for all cluster members
|
|
properties:
|
|
cluster_certificate:
|
|
description: The new certificate (X509 PEM encoded) for the cluster
|
|
example: X509 PEM certificate
|
|
type: string
|
|
x-go-name: ClusterCertificate
|
|
cluster_certificate_key:
|
|
description: The new certificate key (X509 PEM encoded) for the cluster
|
|
example: X509 PEM certificate key
|
|
type: string
|
|
x-go-name: ClusterCertificateKey
|
|
type: object
|
|
x-go-package: github.com/lxc/incus/v6/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
|
|
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
|
|
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
|
|
DevicesMap:
|
|
additionalProperties:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: |-
|
|
DevicesMap type is used to hold incus devices configurations. In contrast to
|
|
plain map[string]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
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
InstancePost:
|
|
properties:
|
|
Config:
|
|
description: Instance configuration file.
|
|
example:
|
|
security.nesting: "true"
|
|
type: object
|
|
Devices:
|
|
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
|
|
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:
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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'
|
|
serial:
|
|
$ref: '#/definitions/ResourcesSerial'
|
|
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
|
|
ResourcesSerial:
|
|
description: ResourcesSerial represents the serial devices available on the system
|
|
properties:
|
|
devices:
|
|
description: List of serial devices
|
|
items:
|
|
$ref: '#/definitions/ResourcesSerialDevice'
|
|
type: array
|
|
x-go-name: Devices
|
|
total:
|
|
description: Total number of serial devices
|
|
example: 1
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: Total
|
|
type: object
|
|
x-go-package: github.com/lxc/incus/v6/shared/api
|
|
ResourcesSerialDevice:
|
|
description: ResourcesSerialDevice represents a serial device
|
|
properties:
|
|
device:
|
|
description: Device number (major:minor)
|
|
example: "188:0"
|
|
type: string
|
|
x-go-name: Device
|
|
device_id:
|
|
description: Path to /dev/serial/by-id entry
|
|
example: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AB0J1234-if00-port0
|
|
type: string
|
|
x-go-name: DeviceID
|
|
device_path:
|
|
description: Path to /dev/serial/by-path entry
|
|
example: /dev/serial/by-path/pci-0000:00:14.0-usb-0:2:1.0-port0
|
|
type: string
|
|
x-go-name: DevicePath
|
|
driver:
|
|
description: kernel driver name (cdc_acm, ftdi_sio, pl2303, cp210x...)
|
|
example: cdc_acm
|
|
type: string
|
|
x-go-name: Driver
|
|
id:
|
|
description: Kernel device name (e.g. ttyUSB0, ttyACM0)
|
|
example: ttyUSB0
|
|
type: string
|
|
x-go-name: ID
|
|
product:
|
|
description: USB product name
|
|
example: Arduino Uno
|
|
type: string
|
|
x-go-name: Product
|
|
product_id:
|
|
description: USB product ID
|
|
example: "0043"
|
|
type: string
|
|
x-go-name: ProductID
|
|
vendor:
|
|
description: USB vendor name
|
|
example: Arduino LLC
|
|
type: string
|
|
x-go-name: Vendor
|
|
vendor_id:
|
|
description: USB vendor ID
|
|
example: "2341"
|
|
type: string
|
|
x-go-name: VendorID
|
|
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:
|
|
description: Server represents a server configuration
|
|
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
|
|
auth_user_method:
|
|
description: The current API user login method
|
|
example: unix
|
|
readOnly: true
|
|
type: string
|
|
x-go-name: AuthUserMethod
|
|
auth_user_name:
|
|
description: The current API user identifier
|
|
example: uid=201105
|
|
readOnly: true
|
|
type: string
|
|
x-go-name: AuthUserName
|
|
config:
|
|
description: Server configuration map (refer to doc/server.md)
|
|
example:
|
|
core.https_address: :8443
|
|
type: object
|
|
x-go-name: Config
|
|
environment:
|
|
$ref: '#/definitions/ServerEnvironment'
|
|
public:
|
|
description: Whether the server is public-only (only public endpoints are implemented)
|
|
example: false
|
|
readOnly: true
|
|
type: boolean
|
|
x-go-name: Public
|
|
type: object
|
|
x-go-package: github.com/lxc/incus/v6/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
|
|
ServerPut:
|
|
description: ServerPut represents the modifiable fields of a server configuration
|
|
properties:
|
|
config:
|
|
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
|
|
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:
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
StorageBucketFull:
|
|
properties:
|
|
backups:
|
|
description: List of backups.
|
|
items:
|
|
$ref: '#/definitions/StorageBucketBackup'
|
|
type: array
|
|
x-go-name: Backups
|
|
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
|
|
keys:
|
|
description: List of keys.
|
|
items:
|
|
$ref: '#/definitions/StorageBucketKey'
|
|
type: array
|
|
x-go-name: Keys
|
|
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
|
|
title: StorageBucketFull is a combination of StorageBucket, StorageBucketBackup and StorageBucketKey.
|
|
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
|
|
StorageVolumeFull:
|
|
properties:
|
|
backups:
|
|
description: List of backups.
|
|
items:
|
|
$ref: '#/definitions/StorageVolumeBackup'
|
|
type: array
|
|
x-go-name: Backups
|
|
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
|
|
snapshots:
|
|
description: List of snapshots.
|
|
items:
|
|
$ref: '#/definitions/StorageVolumeSnapshot'
|
|
type: array
|
|
x-go-name: Snapshots
|
|
state:
|
|
$ref: '#/definitions/StorageVolumeState'
|
|
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: StorageVolumeFull is a combination of StorageVolume, StorageVolumeBackup, StorageVolumeSnapshot and StorageVolumeState.
|
|
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
|
|
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
|
|
info:
|
|
contact:
|
|
email: lxc-devel@lists.linuxcontainers.org
|
|
name: Incus upstream
|
|
url: https://github.com/lxc/incus
|
|
description: |-
|
|
This is the REST API used by all Incus clients.
|
|
Internal endpoints aren't included in this documentation.
|
|
|
|
The Incus API is available over both a local unix+http and remote https API.
|
|
Authentication for local users relies on group membership and access to the unix socket.
|
|
For remote users, the default authentication method is TLS client
|
|
certificates.
|
|
license:
|
|
name: Apache-2.0
|
|
url: https://www.apache.org/licenses/LICENSE-2.0
|
|
title: Incus external REST API
|
|
version: "1.0"
|
|
paths:
|
|
/:
|
|
get:
|
|
description: |-
|
|
Returns a list of supported API versions (URLs).
|
|
|
|
Internal API endpoints are not reported as those aren't versioned
|
|
and should only be used by the daemon itself.
|
|
operationId: api_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example:
|
|
- /1.0
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
summary: Get the supported API endpoints
|
|
tags:
|
|
- server
|
|
/1.0:
|
|
get:
|
|
description: Shows the full server environment and configuration.
|
|
operationId: server_get
|
|
parameters:
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Server environment and configuration
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Server'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the server environment and configuration
|
|
tags:
|
|
- server
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the server configuration.
|
|
operationId: server_patch
|
|
parameters:
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Server configuration
|
|
in: body
|
|
name: server
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ServerPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the server configuration
|
|
tags:
|
|
- server
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire server configuration.
|
|
operationId: server_put
|
|
parameters:
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Server configuration
|
|
in: body
|
|
name: server
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ServerPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the server configuration
|
|
tags:
|
|
- server
|
|
/1.0/certificates:
|
|
get:
|
|
description: Returns a list of trusted certificates (URLs).
|
|
operationId: certificates_get
|
|
parameters:
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/certificates/390fdd27ed5dc2408edc11fe602eafceb6c025ddbad9341dfdcb1056a8dd98b1",
|
|
"/1.0/certificates/22aee3f051f96abe6d7756892eecabf4b4b22e2ba877840a4ca981e9ea54030a"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the trusted certificates
|
|
tags:
|
|
- certificates
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Adds a certificate to the trust store.
|
|
In this mode, the `token` property is always ignored.
|
|
operationId: certificates_post
|
|
parameters:
|
|
- description: Certificate
|
|
in: body
|
|
name: certificate
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CertificatesPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a trusted certificate
|
|
tags:
|
|
- certificates
|
|
/1.0/certificates/{fingerprint}:
|
|
delete:
|
|
description: Removes the certificate from the trust store.
|
|
operationId: certificate_delete
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the trusted certificate
|
|
tags:
|
|
- certificates
|
|
get:
|
|
description: Gets a specific certificate entry from the trust store.
|
|
operationId: certificate_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Certificate
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Certificate'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the trusted certificate
|
|
tags:
|
|
- certificates
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the certificate configuration.
|
|
operationId: certificate_patch
|
|
parameters:
|
|
- description: Certificate configuration
|
|
in: body
|
|
name: certificate
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CertificatePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the trusted certificate
|
|
tags:
|
|
- certificates
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire certificate configuration.
|
|
operationId: certificate_put
|
|
parameters:
|
|
- description: Certificate configuration
|
|
in: body
|
|
name: certificate
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CertificatePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the trusted certificate
|
|
tags:
|
|
- certificates
|
|
/1.0/certificates?public:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Adds a certificate to the trust store as an untrusted user.
|
|
In this mode, the `token` property must be set to the correct value.
|
|
|
|
The `certificate` field can be omitted in which case the TLS client
|
|
certificate in use for the connection will be retrieved and added to the
|
|
trust store.
|
|
|
|
The `?public` part of the URL isn't required, it's simply used to
|
|
separate the two behaviors of this endpoint.
|
|
operationId: certificates_post_untrusted
|
|
parameters:
|
|
- description: Certificate
|
|
in: body
|
|
name: certificate
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CertificatesPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a trusted certificate
|
|
tags:
|
|
- certificates
|
|
/1.0/certificates?recursion=1:
|
|
get:
|
|
description: Returns a list of trusted certificates (structs).
|
|
operationId: certificates_get_recursion1
|
|
parameters:
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of certificates
|
|
items:
|
|
$ref: '#/definitions/Certificate'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the trusted certificates
|
|
tags:
|
|
- certificates
|
|
/1.0/cluster:
|
|
get:
|
|
description: Gets the current cluster configuration.
|
|
operationId: cluster_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Cluster configuration
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Cluster'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the cluster configuration
|
|
tags:
|
|
- cluster
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire cluster configuration.
|
|
operationId: cluster_put
|
|
parameters:
|
|
- description: Cluster configuration
|
|
in: body
|
|
name: cluster
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the cluster configuration
|
|
tags:
|
|
- cluster
|
|
/1.0/cluster/certificate:
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Replaces existing cluster certificate and reloads each cluster member.
|
|
operationId: clustering_update_cert
|
|
parameters:
|
|
- description: Cluster certificate replace request
|
|
in: body
|
|
name: cluster
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterCertificatePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the certificate for the cluster
|
|
tags:
|
|
- cluster
|
|
/1.0/cluster/groups:
|
|
get:
|
|
description: Returns a list of cluster groups (URLs).
|
|
operationId: cluster_groups_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/cluster/groups/server01",
|
|
"/1.0/cluster/groups/server02"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the cluster groups
|
|
tags:
|
|
- cluster-groups
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new cluster group.
|
|
operationId: cluster_groups_post
|
|
parameters:
|
|
- description: Cluster group to create
|
|
in: body
|
|
name: cluster
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterGroupsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create a cluster group.
|
|
tags:
|
|
- cluster
|
|
/1.0/cluster/groups/{name}:
|
|
delete:
|
|
description: Removes the cluster group.
|
|
operationId: cluster_group_delete
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the cluster group.
|
|
tags:
|
|
- cluster-groups
|
|
get:
|
|
description: Gets a specific cluster group.
|
|
operationId: cluster_group_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Cluster group
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/ClusterGroup'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the cluster group
|
|
tags:
|
|
- cluster-groups
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the cluster group configuration.
|
|
operationId: cluster_group_patch
|
|
parameters:
|
|
- description: cluster group configuration
|
|
in: body
|
|
name: cluster group
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterGroupPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the cluster group
|
|
tags:
|
|
- cluster-groups
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames an existing cluster group.
|
|
operationId: cluster_group_post
|
|
parameters:
|
|
- description: Cluster group rename request
|
|
in: body
|
|
name: name
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterGroupPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename the cluster group
|
|
tags:
|
|
- cluster-groups
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire cluster group configuration.
|
|
operationId: cluster_group_put
|
|
parameters:
|
|
- description: cluster group configuration
|
|
in: body
|
|
name: cluster group
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterGroupPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the cluster group
|
|
tags:
|
|
- cluster-groups
|
|
/1.0/cluster/groups?recursion=1:
|
|
get:
|
|
description: Returns a list of cluster groups (structs).
|
|
operationId: cluster_groups_get_recursion1
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of cluster groups
|
|
items:
|
|
$ref: '#/definitions/ClusterGroup'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the cluster groups
|
|
tags:
|
|
- cluster-groups
|
|
/1.0/cluster/members:
|
|
get:
|
|
description: Returns a list of cluster members (URLs).
|
|
operationId: cluster_members_get
|
|
parameters:
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/cluster/members/server01",
|
|
"/1.0/cluster/members/server02"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the cluster members
|
|
tags:
|
|
- cluster
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Requests a join token to add a cluster member.
|
|
operationId: cluster_members_post
|
|
parameters:
|
|
- description: Cluster member add request
|
|
in: body
|
|
name: cluster
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterMembersPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Request a join token
|
|
tags:
|
|
- cluster
|
|
/1.0/cluster/members/{name}:
|
|
delete:
|
|
description: Removes the member from the cluster.
|
|
operationId: cluster_member_delete
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the cluster member
|
|
tags:
|
|
- cluster
|
|
get:
|
|
description: Gets a specific cluster member.
|
|
operationId: cluster_member_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Cluster member
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/ClusterMember'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the cluster member
|
|
tags:
|
|
- cluster
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the cluster member configuration.
|
|
operationId: cluster_member_patch
|
|
parameters:
|
|
- description: Cluster member configuration
|
|
in: body
|
|
name: cluster
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterMemberPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the cluster member
|
|
tags:
|
|
- cluster
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames an existing cluster member.
|
|
operationId: cluster_member_post
|
|
parameters:
|
|
- description: Cluster member rename request
|
|
in: body
|
|
name: cluster
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterMemberPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename the cluster member
|
|
tags:
|
|
- cluster
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire cluster member configuration.
|
|
operationId: cluster_member_put
|
|
parameters:
|
|
- description: Cluster member configuration
|
|
in: body
|
|
name: cluster
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterMemberPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the cluster member
|
|
tags:
|
|
- cluster
|
|
/1.0/cluster/members/{name}/state:
|
|
get:
|
|
description: Gets state of a specific cluster member.
|
|
operationId: cluster_member_state_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Cluster member state
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/ClusterMemberState'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get state of the cluster member
|
|
tags:
|
|
- cluster
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Evacuates or restores a cluster member.
|
|
operationId: cluster_member_state_post
|
|
parameters:
|
|
- description: Cluster member state
|
|
in: body
|
|
name: cluster
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ClusterMemberStatePost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Evacuate or restore a cluster member
|
|
tags:
|
|
- cluster
|
|
/1.0/cluster/members?recursion=1:
|
|
get:
|
|
description: Returns a list of cluster members (structs).
|
|
operationId: cluster_members_get_recursion1
|
|
parameters:
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of cluster members
|
|
items:
|
|
$ref: '#/definitions/ClusterMember'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the cluster members
|
|
tags:
|
|
- cluster
|
|
/1.0/events:
|
|
get:
|
|
description: Connects to the event API using websocket.
|
|
operationId: events_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Event type(s), comma separated (valid types are logging, operation or lifecycle)
|
|
example: logging,lifecycle
|
|
in: query
|
|
name: type
|
|
type: string
|
|
- description: Retrieve instances from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Websocket message (JSON)
|
|
schema:
|
|
$ref: '#/definitions/Event'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the event stream
|
|
tags:
|
|
- server
|
|
/1.0/images:
|
|
get:
|
|
description: Returns a list of images (URLs).
|
|
operationId: images_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
- description: Retrieve images from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/images/06b86454720d36b20f94e31c6812e05ec51c1b568cf3a8abd273769d213394bb",
|
|
"/1.0/images/084dd79dd1360fd25a2479eb46674c2a5ef3022a40fe03c91ab3603e3402b8e1"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the images
|
|
tags:
|
|
- images
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Adds a new image to the image store.
|
|
operationId: images_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image
|
|
in: body
|
|
name: image
|
|
schema:
|
|
$ref: '#/definitions/ImagesPost'
|
|
- description: Raw image file
|
|
in: body
|
|
name: raw_image
|
|
- description: Push secret for server to server communication
|
|
example: RANDOM-STRING
|
|
in: header
|
|
name: X-Incus-secret
|
|
schema:
|
|
type: string
|
|
- description: Expected fingerprint when pushing a raw image
|
|
in: header
|
|
name: X-Incus-fingerprint
|
|
schema:
|
|
type: string
|
|
- description: List of aliases to assign
|
|
in: header
|
|
name: X-Incus-aliases
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
- description: Descriptive properties
|
|
in: header
|
|
name: X-Incus-properties
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
- description: Whether the image is available to unauthenticated users
|
|
in: header
|
|
name: X-Incus-public
|
|
schema:
|
|
type: boolean
|
|
- description: Original filename of the image
|
|
in: header
|
|
name: X-Incus-filename
|
|
schema:
|
|
type: string
|
|
- description: List of profiles to use
|
|
in: header
|
|
name: X-Incus-profiles
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add an image
|
|
tags:
|
|
- images
|
|
/1.0/images/{fingerprint}:
|
|
delete:
|
|
description: Removes the image from the image store.
|
|
operationId: image_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the image
|
|
tags:
|
|
- images
|
|
get:
|
|
description: Gets a specific image.
|
|
operationId: image_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Image
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Image'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the image
|
|
tags:
|
|
- images
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the image definition.
|
|
operationId: image_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image configuration
|
|
in: body
|
|
name: image
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImagePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the image
|
|
tags:
|
|
- images
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire image definition.
|
|
operationId: image_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image configuration
|
|
in: body
|
|
name: image
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImagePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the image
|
|
tags:
|
|
- images
|
|
/1.0/images/{fingerprint}/export:
|
|
get:
|
|
description: |-
|
|
Download the raw image file(s) from the server.
|
|
If the image is in split format, a multipart http transfer occurs.
|
|
operationId: image_export_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/octet-stream
|
|
- multipart/form-data
|
|
responses:
|
|
"200":
|
|
description: Raw image data
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the raw image file(s)
|
|
tags:
|
|
- images
|
|
post:
|
|
description: Gets the server to connect to a remote server and push the image to it.
|
|
operationId: images_export_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image push request
|
|
in: body
|
|
name: image
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImageExportPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Make the server push the image to a remote server
|
|
tags:
|
|
- images
|
|
/1.0/images/{fingerprint}/export?public:
|
|
get:
|
|
description: |-
|
|
Download the raw image file(s) of a public image from the server.
|
|
If the image is in split format, a multipart http transfer occurs.
|
|
operationId: image_export_get_untrusted
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Secret token to retrieve a private image
|
|
example: RANDOM-STRING
|
|
in: query
|
|
name: secret
|
|
type: string
|
|
produces:
|
|
- application/octet-stream
|
|
- multipart/form-data
|
|
responses:
|
|
"200":
|
|
description: Raw image data
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the raw image file(s)
|
|
tags:
|
|
- images
|
|
/1.0/images/{fingerprint}/refresh:
|
|
post:
|
|
description: |-
|
|
This causes the server to check the image source server for an updated
|
|
version of the image and if available to refresh the local copy with the
|
|
new version.
|
|
operationId: images_refresh_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Refresh an image
|
|
tags:
|
|
- images
|
|
/1.0/images/{fingerprint}/secret:
|
|
post:
|
|
description: |-
|
|
This generates a background operation including a secret one time key
|
|
in its metadata which can be used to fetch this image from an untrusted
|
|
client.
|
|
operationId: images_secret_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Generate secret for retrieval of the image by an untrusted client
|
|
tags:
|
|
- images
|
|
/1.0/images/{fingerprint}?public:
|
|
get:
|
|
description: Gets a specific public image.
|
|
operationId: image_get_untrusted
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Secret token to retrieve a private image
|
|
example: RANDOM-STRING
|
|
in: query
|
|
name: secret
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Image
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Image'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the public image
|
|
tags:
|
|
- images
|
|
/1.0/images/aliases:
|
|
get:
|
|
description: Returns a list of image aliases (URLs).
|
|
operationId: images_aliases_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/images/aliases/foo",
|
|
"/1.0/images/aliases/bar1"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the image aliases
|
|
tags:
|
|
- images
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new image alias.
|
|
operationId: images_aliases_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image alias
|
|
in: body
|
|
name: image alias
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImageAliasesPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add an image alias
|
|
tags:
|
|
- images
|
|
/1.0/images/aliases/{name}:
|
|
delete:
|
|
description: Deletes a specific image alias.
|
|
operationId: image_alias_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the image alias
|
|
tags:
|
|
- images
|
|
get:
|
|
description: Gets a specific image alias.
|
|
operationId: image_alias_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Image alias
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/ImageAliasesEntry'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the image alias
|
|
tags:
|
|
- images
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the image alias configuration.
|
|
operationId: images_alias_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image alias configuration
|
|
in: body
|
|
name: image alias
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImageAliasesEntryPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the image alias
|
|
tags:
|
|
- images
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames an existing image alias.
|
|
operationId: images_alias_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image alias rename request
|
|
in: body
|
|
name: image alias
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImageAliasesEntryPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename the image alias
|
|
tags:
|
|
- images
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire image alias configuration.
|
|
operationId: images_aliases_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image alias configuration
|
|
in: body
|
|
name: image alias
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImageAliasesEntryPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the image alias
|
|
tags:
|
|
- images
|
|
/1.0/images/aliases/{name}?public:
|
|
get:
|
|
description: |-
|
|
Gets a specific public image alias.
|
|
This untrusted endpoint only works for aliases pointing to public images.
|
|
operationId: image_alias_get_untrusted
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Image alias
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/ImageAliasesEntry'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the public image alias
|
|
tags:
|
|
- images
|
|
/1.0/images/aliases?recursion=1:
|
|
get:
|
|
description: Returns a list of image aliases (structs).
|
|
operationId: images_aliases_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of image aliases
|
|
items:
|
|
$ref: '#/definitions/ImageAliasesEntry'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the image aliases
|
|
tags:
|
|
- images
|
|
/1.0/images?public:
|
|
get:
|
|
description: Returns a list of publicly available images (URLs).
|
|
operationId: images_get_untrusted
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
- description: Retrieve images from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/images/06b86454720d36b20f94e31c6812e05ec51c1b568cf3a8abd273769d213394bb",
|
|
"/1.0/images/084dd79dd1360fd25a2479eb46674c2a5ef3022a40fe03c91ab3603e3402b8e1"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the public images
|
|
tags:
|
|
- images
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Pushes the data to the target image server.
|
|
This is meant for server to server communication where a new image entry is
|
|
prepared on the target server and the source server is provided that URL
|
|
and a secret token to push the image content over.
|
|
operationId: images_post_untrusted
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image
|
|
in: body
|
|
name: image
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImagesPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add an image
|
|
tags:
|
|
- images
|
|
/1.0/images?public&recursion=1:
|
|
get:
|
|
description: Returns a list of publicly available images (structs).
|
|
operationId: images_get_recursion1_untrusted
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
- description: Retrieve images from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of images
|
|
items:
|
|
$ref: '#/definitions/Image'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the public images
|
|
tags:
|
|
- images
|
|
/1.0/images?recursion=1:
|
|
get:
|
|
description: Returns a list of images (structs).
|
|
operationId: images_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
- description: Retrieve images from all projects
|
|
example: default
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of images
|
|
items:
|
|
$ref: '#/definitions/Image'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the images
|
|
tags:
|
|
- images
|
|
/1.0/instances:
|
|
get:
|
|
description: Returns a list of instances (URLs).
|
|
operationId: instances_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
- description: Retrieve instances from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/instances/foo",
|
|
"/1.0/instances/bar"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the instances
|
|
tags:
|
|
- instances
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Creates a new instance.
|
|
Depending on the source, this can create an instance from an existing
|
|
local image, remote image, existing local instance or snapshot, remote
|
|
migration stream or backup file.
|
|
operationId: instances_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member
|
|
example: default
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Instance request
|
|
in: body
|
|
name: instance
|
|
schema:
|
|
$ref: '#/definitions/InstancesPost'
|
|
- description: Raw backup file
|
|
in: body
|
|
name: raw_backup
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create a new instance
|
|
tags:
|
|
- instances
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Changes the running state of all instances.
|
|
operationId: instances_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: State
|
|
in: body
|
|
name: state
|
|
schema:
|
|
$ref: '#/definitions/InstancesPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Bulk instance state update
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}:
|
|
delete:
|
|
description: |-
|
|
Deletes a specific instance.
|
|
|
|
This also deletes anything owned by the instance such as snapshots and backups.
|
|
operationId: instance_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete an instance
|
|
tags:
|
|
- instances
|
|
get:
|
|
description: Gets a specific instance (basic struct).
|
|
operationId: instance_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Instance
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Instance'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the instance
|
|
tags:
|
|
- instances
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the instance configuration
|
|
operationId: instance_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Update request
|
|
in: body
|
|
name: instance
|
|
schema:
|
|
$ref: '#/definitions/InstancePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the instance
|
|
tags:
|
|
- instances
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Renames, moves an instance between pools or migrates an instance to another server.
|
|
|
|
The returned operation metadata will vary based on what's requested.
|
|
For rename or move within the same server, this is a simple background operation with progress data.
|
|
For migration, in the push case, this will similarly be a background
|
|
operation with progress data, for the pull case, it will be a websocket
|
|
operation with a number of secrets to be passed to the target server.
|
|
operationId: instance_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Migration request
|
|
in: body
|
|
name: migration
|
|
schema:
|
|
$ref: '#/definitions/InstancePost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename or move/migrate an instance
|
|
tags:
|
|
- instances
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the instance configuration or trigger a snapshot restore.
|
|
operationId: instance_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Update request
|
|
in: body
|
|
name: instance
|
|
schema:
|
|
$ref: '#/definitions/InstancePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the instance
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/access:
|
|
get:
|
|
description: Gets the access information for the instance.
|
|
operationId: instance_access
|
|
parameters:
|
|
- description: Project name
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Access
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Access'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get who has access to an instance
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/backups:
|
|
get:
|
|
description: Returns a list of instance backups (URLs).
|
|
operationId: instance_backups_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/instances/foo/backups/backup0",
|
|
"/1.0/instances/foo/backups/backup1"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the backups
|
|
tags:
|
|
- instances
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new backup.
|
|
operationId: instance_backups_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Backup request
|
|
in: body
|
|
name: backup
|
|
schema:
|
|
$ref: '#/definitions/InstanceBackupsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create a backup
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/backups/{backup}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Deletes the instance backup.
|
|
operationId: instance_backup_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete a backup
|
|
tags:
|
|
- instances
|
|
get:
|
|
description: Gets a specific instance backup.
|
|
operationId: instance_backup_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Instance backup
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/InstanceBackup'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the backup
|
|
tags:
|
|
- instances
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames an instance backup.
|
|
operationId: instance_backup_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Backup rename
|
|
in: body
|
|
name: backup
|
|
schema:
|
|
$ref: '#/definitions/InstanceBackupPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename a backup
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/backups/{backup}/export:
|
|
get:
|
|
description: Download the raw backup file(s) from the server.
|
|
operationId: instance_backup_export
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/octet-stream
|
|
responses:
|
|
"200":
|
|
description: Raw image data
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the raw backup file(s)
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/backups?recursion=1:
|
|
get:
|
|
description: Returns a list of instance backups (structs).
|
|
operationId: instance_backups_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of instance backups
|
|
items:
|
|
$ref: '#/definitions/InstanceBackup'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the backups
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/console:
|
|
delete:
|
|
description: Clears the console log buffer.
|
|
operationId: instance_console_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Clear the console log
|
|
tags:
|
|
- instances
|
|
get:
|
|
description: |-
|
|
Gets the console output for the instance either as text log or as vga
|
|
screendump.
|
|
operationId: instance_console_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- default: log
|
|
description: Console type
|
|
enum:
|
|
- log
|
|
- vga
|
|
example: vga
|
|
in: query
|
|
name: type
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: |
|
|
Console output either as raw console log or as vga screendump in PNG
|
|
format depending on the `type` parameter provided with the request.
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get console output
|
|
tags:
|
|
- instances
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Connects to the console of an instance.
|
|
|
|
The returned operation metadata will contain two websockets, one for data and one for control.
|
|
operationId: instance_console_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Console request
|
|
in: body
|
|
name: console
|
|
schema:
|
|
$ref: '#/definitions/InstanceConsolePost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Connect to console
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/debug/memory:
|
|
get:
|
|
description: |-
|
|
Returns memory debug information of a running instance.
|
|
Only supported for VMs.
|
|
operationId: instance_debug_memory_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Memory dump format
|
|
example: elf
|
|
in: query
|
|
name: format
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get memory debug information of an instance
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/exec:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Executes a command inside an instance.
|
|
|
|
The returned operation metadata will contain either 2 or 4 websockets.
|
|
In non-interactive mode, you'll get one websocket for each of stdin, stdout and stderr.
|
|
In interactive mode, a single bi-directional websocket is used for stdin and stdout/stderr.
|
|
|
|
An additional "control" socket is always added on top which can be used for out of band communications.
|
|
This allows sending signals and window sizing information through.
|
|
operationId: instance_exec_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Exec request
|
|
in: body
|
|
name: exec
|
|
schema:
|
|
$ref: '#/definitions/InstanceExecPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Run a command
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/files:
|
|
delete:
|
|
description: Removes the file.
|
|
operationId: instance_files_delete
|
|
parameters:
|
|
- description: Path to the file
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Perform recursive deletion
|
|
example: true
|
|
in: header
|
|
name: X-Incus-force
|
|
schema:
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete a file
|
|
tags:
|
|
- instances
|
|
get:
|
|
description: Gets the file content. If it's a directory, a json list of files will be returned instead.
|
|
operationId: instance_files_get
|
|
parameters:
|
|
- description: Path to the file
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
- application/octet-stream
|
|
responses:
|
|
"200":
|
|
description: Raw file or directory listing
|
|
headers:
|
|
X-Incus-gid:
|
|
description: File owner GID
|
|
X-Incus-mode:
|
|
description: Mode mask
|
|
X-Incus-modified:
|
|
description: Last modified date
|
|
X-Incus-type:
|
|
description: Type of file (file, symlink or directory)
|
|
X-Incus-uid:
|
|
description: File owner UID
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get a file
|
|
tags:
|
|
- instances
|
|
head:
|
|
description: Gets the file or directory metadata.
|
|
operationId: instance_files_head
|
|
parameters:
|
|
- description: Path to the file
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Raw file or directory listing
|
|
headers:
|
|
X-Incus-gid:
|
|
description: File owner GID
|
|
X-Incus-mode:
|
|
description: Mode mask
|
|
X-Incus-modified:
|
|
description: Last modified date
|
|
X-Incus-type:
|
|
description: Type of file (file, symlink or directory)
|
|
X-Incus-uid:
|
|
description: File owner UID
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get metadata for a file
|
|
tags:
|
|
- instances
|
|
post:
|
|
consumes:
|
|
- application/octet-stream
|
|
description: Creates a new file in the instance.
|
|
operationId: instance_files_post
|
|
parameters:
|
|
- description: Path to the file
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Raw file content
|
|
in: body
|
|
name: raw_file
|
|
- description: File owner UID
|
|
example: 1000
|
|
in: header
|
|
name: X-Incus-uid
|
|
schema:
|
|
type: integer
|
|
- description: File owner GID
|
|
example: 1000
|
|
in: header
|
|
name: X-Incus-gid
|
|
schema:
|
|
type: integer
|
|
- description: File mode
|
|
example: 420
|
|
in: header
|
|
name: X-Incus-mode
|
|
schema:
|
|
type: integer
|
|
- description: Type of file (file, symlink or directory)
|
|
example: file
|
|
in: header
|
|
name: X-Incus-type
|
|
schema:
|
|
type: string
|
|
- description: Write mode (overwrite or append)
|
|
example: overwrite
|
|
in: header
|
|
name: X-Incus-write
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create or replace a file
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/logs:
|
|
get:
|
|
description: Returns a list of log files (URLs).
|
|
operationId: instance_logs_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/instances/foo/logs/lxc.log"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the log files
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/logs/{filename}:
|
|
delete:
|
|
description: Removes the log file.
|
|
operationId: instance_log_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the log file
|
|
tags:
|
|
- instances
|
|
get:
|
|
description: Gets the log file.
|
|
operationId: instance_log_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
- application/octet-stream
|
|
responses:
|
|
"200":
|
|
description: Raw file
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the log file
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/logs/exec-output:
|
|
get:
|
|
description: Returns a list of exec record-output files (URLs).
|
|
operationId: instance_exec-outputs_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/instances/foo/logs/exec-output/exec_d0a89537-0617-4ed6-a79b-c2e88a970965.stdout",
|
|
"/1.0/instances/foo/logs/exec-output/exec_d0a89537-0617-4ed6-a79b-c2e88a970965.stderr",
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the exec record-output files
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/logs/exec-output/{filename}:
|
|
delete:
|
|
description: Removes the exec record-output file.
|
|
operationId: instance_exec-output_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the exec record-output file
|
|
tags:
|
|
- instances
|
|
get:
|
|
description: Gets the exec-output file.
|
|
operationId: instance_exec-output_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
- application/octet-stream
|
|
responses:
|
|
"200":
|
|
description: Raw file
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the exec-output log file
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/metadata:
|
|
get:
|
|
description: Gets the image metadata for the instance.
|
|
operationId: instance_metadata_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Image metadata
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/ImageMetadata'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the instance image metadata
|
|
tags:
|
|
- instances
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the instance image metadata.
|
|
operationId: instance_metadata_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image metadata
|
|
in: body
|
|
name: metadata
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImageMetadata'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the image metadata
|
|
tags:
|
|
- instances
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the instance image metadata.
|
|
operationId: instance_metadata_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Image metadata
|
|
in: body
|
|
name: metadata
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ImageMetadata'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the image metadata
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/metadata/templates:
|
|
delete:
|
|
description: Removes the template file.
|
|
operationId: instance_metadata_templates_delete
|
|
parameters:
|
|
- description: Template name
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete a template file
|
|
tags:
|
|
- instances
|
|
get:
|
|
description: |-
|
|
If no path specified, returns a list of template file names.
|
|
If a path is specified, returns the file content.
|
|
operationId: instance_metadata_templates_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Template name
|
|
example: hostname.tpl
|
|
in: query
|
|
name: path
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
- application/octet-stream
|
|
responses:
|
|
"200":
|
|
description: Raw template file or file listing
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the template file names or a specific
|
|
tags:
|
|
- instances
|
|
post:
|
|
consumes:
|
|
- application/octet-stream
|
|
description: Creates a new image template file for the instance.
|
|
operationId: instance_metadata_templates_post
|
|
parameters:
|
|
- description: Template name
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Raw file content
|
|
in: body
|
|
name: raw_file
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create or replace a template file
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/rebuild:
|
|
post:
|
|
consumes:
|
|
- application/octet-stream
|
|
description: Rebuild an instance using an alternate image or as empty.
|
|
operationId: instance_rebuild_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: InstanceRebuild request
|
|
in: body
|
|
name: instance
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/InstanceRebuildPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rebuild an instance
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/sftp:
|
|
get:
|
|
description: Upgrades the request to an SFTP connection of the instance's filesystem.
|
|
operationId: instance_sftp
|
|
produces:
|
|
- application/json
|
|
- application/octet-stream
|
|
responses:
|
|
"101":
|
|
description: Switching protocols to SFTP
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the instance SFTP connection
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/snapshots:
|
|
get:
|
|
description: Returns a list of instance snapshots (URLs).
|
|
operationId: instance_snapshots_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/instances/foo/snapshots/snap0",
|
|
"/1.0/instances/foo/snapshots/snap1"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the snapshots
|
|
tags:
|
|
- instances
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new snapshot.
|
|
operationId: instance_snapshots_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Snapshot request
|
|
in: body
|
|
name: snapshot
|
|
schema:
|
|
$ref: '#/definitions/InstanceSnapshotsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create a snapshot
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/snapshots/{snapshot}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Deletes the instance snapshot.
|
|
operationId: instance_snapshot_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete a snapshot
|
|
tags:
|
|
- instances
|
|
get:
|
|
description: Gets a specific instance snapshot.
|
|
operationId: instance_snapshot_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Instance snapshot
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/InstanceSnapshot'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the snapshot
|
|
tags:
|
|
- instances
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the snapshot config.
|
|
operationId: instance_snapshot_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Snapshot update
|
|
in: body
|
|
name: snapshot
|
|
schema:
|
|
$ref: '#/definitions/InstanceSnapshotPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update snapshot
|
|
tags:
|
|
- instances
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Renames or migrates an instance snapshot to another server.
|
|
|
|
The returned operation metadata will vary based on what's requested.
|
|
For rename or move within the same server, this is a simple background operation with progress data.
|
|
For migration, in the push case, this will similarly be a background
|
|
operation with progress data, for the pull case, it will be a websocket
|
|
operation with a number of secrets to be passed to the target server.
|
|
operationId: instance_snapshot_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Snapshot migration
|
|
in: body
|
|
name: snapshot
|
|
schema:
|
|
$ref: '#/definitions/InstanceSnapshotPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename or move/migrate a snapshot
|
|
tags:
|
|
- instances
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the snapshot config.
|
|
operationId: instance_snapshot_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Snapshot update
|
|
in: body
|
|
name: snapshot
|
|
schema:
|
|
$ref: '#/definitions/InstanceSnapshotPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update snapshot
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/snapshots?recursion=1:
|
|
get:
|
|
description: Returns a list of instance snapshots (structs).
|
|
operationId: instance_snapshots_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of instance snapshots
|
|
items:
|
|
$ref: '#/definitions/InstanceSnapshot'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the snapshots
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}/state:
|
|
get:
|
|
description: |-
|
|
Gets the runtime state of the instance.
|
|
|
|
This is a reasonably expensive call as it causes code to be run
|
|
inside of the instance to retrieve the resource usage and network
|
|
information.
|
|
operationId: instance_state_get
|
|
parameters:
|
|
- description: Project name
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: State
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/InstanceState'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the runtime state
|
|
tags:
|
|
- instances
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Changes the running state of the instance.
|
|
operationId: instance_state_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: State
|
|
in: body
|
|
name: state
|
|
schema:
|
|
$ref: '#/definitions/InstanceStatePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Change the state
|
|
tags:
|
|
- instances
|
|
/1.0/instances/{name}?recursion=1:
|
|
get:
|
|
description: |-
|
|
Gets a specific instance (full struct).
|
|
|
|
recursion=1 also includes information about state, snapshots and backups.
|
|
operationId: instance_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Instance
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/InstanceFull'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the instance
|
|
tags:
|
|
- instances
|
|
/1.0/instances?recursion=1:
|
|
get:
|
|
description: Returns a list of instances (basic structs).
|
|
operationId: instances_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
- description: Retrieve instances from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of instances
|
|
items:
|
|
$ref: '#/definitions/Instance'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the instances
|
|
tags:
|
|
- instances
|
|
/1.0/instances?recursion=2:
|
|
get:
|
|
description: |-
|
|
Returns a list of instances (full structs).
|
|
|
|
The main difference between recursion=1 and recursion=2 is that the
|
|
latter also includes state and snapshot information allowing for a
|
|
single API call to return everything needed by most clients.
|
|
operationId: instances_get_recursion2
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
- description: Retrieve instances from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of instances
|
|
items:
|
|
$ref: '#/definitions/InstanceFull'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the instances
|
|
tags:
|
|
- instances
|
|
/1.0/metadata/configuration:
|
|
get:
|
|
description: Returns the generated metadata configuration in YAML format.
|
|
operationId: metadata_configuration_get
|
|
produces:
|
|
- text/plain
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: The generated metadata configuration
|
|
type: string
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the metadata configuration
|
|
/1.0/metrics:
|
|
get:
|
|
description: Gets metrics of instances.
|
|
operationId: metrics_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- text/plain
|
|
responses:
|
|
"200":
|
|
description: Metrics
|
|
schema:
|
|
description: Instance metrics
|
|
type: string
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get metrics
|
|
tags:
|
|
- metrics
|
|
/1.0/network-acls:
|
|
get:
|
|
description: Returns a list of network ACLs (URLs).
|
|
operationId: network_acls_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve network ACLs from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/network-acls/foo",
|
|
"/1.0/network-acls/bar"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network ACLs
|
|
tags:
|
|
- network-acls
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new network ACL.
|
|
operationId: network_acls_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: ACL
|
|
in: body
|
|
name: acl
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkACLsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a network ACL
|
|
tags:
|
|
- network-acls
|
|
/1.0/network-acls/{name}:
|
|
delete:
|
|
description: Removes the network ACL.
|
|
operationId: network_acl_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the network ACL
|
|
tags:
|
|
- network-acls
|
|
get:
|
|
description: Gets a specific network ACL.
|
|
operationId: network_acl_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: ACL
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkACL'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network ACL
|
|
tags:
|
|
- network-acls
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the network ACL configuration.
|
|
operationId: network_acl_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: ACL configuration
|
|
in: body
|
|
name: acl
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkACLPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the network ACL
|
|
tags:
|
|
- network-acls
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames an existing network ACL.
|
|
operationId: network_acl_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: ACL rename request
|
|
in: body
|
|
name: acl
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkACLPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename the network ACL
|
|
tags:
|
|
- network-acls
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire network ACL configuration.
|
|
operationId: network_acl_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: ACL configuration
|
|
in: body
|
|
name: acl
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkACLPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the network ACL
|
|
tags:
|
|
- network-acls
|
|
/1.0/network-acls/{name}/log:
|
|
get:
|
|
description: Gets a specific network ACL log entries.
|
|
operationId: network_acl_log_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/octet-stream
|
|
responses:
|
|
"200":
|
|
description: Raw log file
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network ACL log
|
|
tags:
|
|
- network-acls
|
|
/1.0/network-acls?recursion=1:
|
|
get:
|
|
description: Returns a list of network ACLs (structs).
|
|
operationId: network_acls_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve network ACLs from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of network ACLs
|
|
items:
|
|
$ref: '#/definitions/NetworkACL'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network ACLs
|
|
tags:
|
|
- network-acls
|
|
/1.0/network-address-sets:
|
|
get:
|
|
description: Returns a list of network address sets (URLs).
|
|
operationId: network_address_sets_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve network address sets from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/network-address-sets/foo",
|
|
"/1.0/network-address-sets/bar"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address sets
|
|
tags:
|
|
- network-address-sets
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new network address set.
|
|
operationId: network_address_sets_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: address set
|
|
in: body
|
|
name: address set
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkAddressSetsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a network address set
|
|
tags:
|
|
- network-address-sets
|
|
/1.0/network-address-sets/{name}:
|
|
delete:
|
|
description: Removes the network address set.
|
|
operationId: network_address_set_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the network address set
|
|
tags:
|
|
- network-address-sets
|
|
get:
|
|
description: Gets a specific network address set.
|
|
operationId: network_address_set_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: address set
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkAddressSet'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address set
|
|
tags:
|
|
- network-address-sets
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the network address set configuration.
|
|
operationId: network_address_set_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Address set configuration
|
|
in: body
|
|
name: address set
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkAddressSetPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the network address set
|
|
tags:
|
|
- network-address-sets
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames an existing network address set.
|
|
operationId: network_address_set_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Address set rename request
|
|
in: body
|
|
name: address set
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkAddressSetPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename the network address set
|
|
tags:
|
|
- network-address-sets
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire network address set configuration.
|
|
operationId: network_address_set_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Address set configuration
|
|
in: body
|
|
name: address set
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkAddressSetPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the network address set
|
|
tags:
|
|
- network-address-sets
|
|
/1.0/network-address-sets?recursion=1:
|
|
get:
|
|
description: Returns a list of network address sets (structs).
|
|
operationId: network_address_sets_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve network address sets from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of network address sets
|
|
items:
|
|
$ref: '#/definitions/NetworkAddressSet'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address sets
|
|
tags:
|
|
- network-address-sets
|
|
/1.0/network-allocations:
|
|
get:
|
|
description: Returns a list of network allocations.
|
|
operationId: network_allocations_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve entities from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
properties:
|
|
metadata:
|
|
description: List of network allocations used by a consuming entity
|
|
items:
|
|
$ref: '#/definitions/NetworkAllocations'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network allocations in use (`network`, `network-forward` and `load-balancer` and `instance`)
|
|
tags:
|
|
- network-allocations
|
|
/1.0/network-integrations:
|
|
get:
|
|
description: Returns a list of network integrations (URLs).
|
|
operationId: network_integrations_get
|
|
parameters:
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/network-integrations/region2",
|
|
"/1.0/network-integrations/region3"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network integrations
|
|
tags:
|
|
- network-integrations
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new network integration.
|
|
operationId: network_integrations_post
|
|
parameters:
|
|
- description: integration
|
|
in: body
|
|
name: integration
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkIntegrationsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a network integration
|
|
tags:
|
|
- network-integrations
|
|
/1.0/network-integrations/{integration}:
|
|
delete:
|
|
description: Removes the network integration.
|
|
operationId: network_integration_delete
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the network integration
|
|
tags:
|
|
- network-integrations
|
|
get:
|
|
description: Gets a specific network integration.
|
|
operationId: network_integration_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: integration
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkIntegration'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network integration
|
|
tags:
|
|
- network-integrations
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the network integration configuration.
|
|
operationId: network_integration_patch
|
|
parameters:
|
|
- description: integration configuration
|
|
in: body
|
|
name: integration
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkIntegrationPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the network integration
|
|
tags:
|
|
- network-integrations
|
|
post:
|
|
description: Renames the network integration.
|
|
operationId: network_integration_post
|
|
parameters:
|
|
- description: integration configuration
|
|
in: body
|
|
name: integration
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkIntegrationPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename the network integration
|
|
tags:
|
|
- network-integrations
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire network integration configuration.
|
|
operationId: network_integration_put
|
|
parameters:
|
|
- description: integration configuration
|
|
in: body
|
|
name: integration
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkIntegrationPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the network integration
|
|
tags:
|
|
- network-integrations
|
|
/1.0/network-integrations?recursion=1:
|
|
get:
|
|
description: Returns a list of network integrations (structs).
|
|
operationId: network_integrations_get_recursion1
|
|
parameters:
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of network integrations
|
|
items:
|
|
$ref: '#/definitions/NetworkIntegration'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network integrations
|
|
tags:
|
|
- network-integrations
|
|
/1.0/network-zones:
|
|
get:
|
|
description: Returns a list of network zones (URLs).
|
|
operationId: network_zones_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve network zones from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/network-zones/example.net",
|
|
"/1.0/network-zones/example.com"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network zones
|
|
tags:
|
|
- network-zones
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new network zone.
|
|
operationId: network_zones_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: zone
|
|
in: body
|
|
name: zone
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkZonesPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a network zone
|
|
tags:
|
|
- network-zones
|
|
/1.0/network-zones/{zone}:
|
|
delete:
|
|
description: Removes the network zone.
|
|
operationId: network_zone_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the network zone
|
|
tags:
|
|
- network-zones
|
|
get:
|
|
description: Gets a specific network zone.
|
|
operationId: network_zone_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: zone
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkZone'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network zone
|
|
tags:
|
|
- network-zones
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the network zone configuration.
|
|
operationId: network_zone_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: zone configuration
|
|
in: body
|
|
name: zone
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkZonePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the network zone
|
|
tags:
|
|
- network-zones
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire network zone configuration.
|
|
operationId: network_zone_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: zone configuration
|
|
in: body
|
|
name: zone
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkZonePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the network zone
|
|
tags:
|
|
- network-zones
|
|
/1.0/network-zones/{zone}/records:
|
|
get:
|
|
description: Returns a list of network zone records (URLs).
|
|
operationId: network_zone_records_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/network-zones/example.net/records/foo",
|
|
"/1.0/network-zones/example.net/records/bar"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network zone records
|
|
tags:
|
|
- network-zones
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new network zone record.
|
|
operationId: network_zone_records_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: zone
|
|
in: body
|
|
name: zone
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkZoneRecordsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a network zone record
|
|
tags:
|
|
- network-zones
|
|
/1.0/network-zones/{zone}/records/{name}:
|
|
delete:
|
|
description: Removes the network zone record.
|
|
operationId: network_zone_record_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the network zone record
|
|
tags:
|
|
- network-zones
|
|
get:
|
|
description: Gets a specific network zone record.
|
|
operationId: network_zone_record_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: zone
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkZoneRecord'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network zone record
|
|
tags:
|
|
- network-zones
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the network zone record configuration.
|
|
operationId: network_zone_record_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: zone record configuration
|
|
in: body
|
|
name: zone
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkZoneRecordPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the network zone record
|
|
tags:
|
|
- network-zones
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire network zone record configuration.
|
|
operationId: network_zone_record_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: zone record configuration
|
|
in: body
|
|
name: zone
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkZoneRecordPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the network zone record
|
|
tags:
|
|
- network-zones
|
|
/1.0/network-zones/{zone}/records?recursion=1:
|
|
get:
|
|
description: Returns a list of network zone records (structs).
|
|
operationId: network_zone_records_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of network zone records
|
|
items:
|
|
$ref: '#/definitions/NetworkZoneRecord'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network zone records
|
|
tags:
|
|
- network-zones
|
|
/1.0/network-zones?recursion=1:
|
|
get:
|
|
description: Returns a list of network zones (structs).
|
|
operationId: network_zones_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve network zones from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of network zones
|
|
items:
|
|
$ref: '#/definitions/NetworkZone'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network zones
|
|
tags:
|
|
- network-zones
|
|
/1.0/networks:
|
|
get:
|
|
description: Returns a list of networks (URLs).
|
|
operationId: networks_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve networks from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/networks/mybr0",
|
|
"/1.0/networks/mybr1"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the networks
|
|
tags:
|
|
- networks
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Creates a new network.
|
|
When clustered, most network types require individual POST for each cluster member prior to a global POST.
|
|
operationId: networks_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Network
|
|
in: body
|
|
name: network
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworksPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a network
|
|
tags:
|
|
- networks
|
|
/1.0/networks/{name}:
|
|
delete:
|
|
description: Removes the network.
|
|
operationId: network_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the network
|
|
tags:
|
|
- networks
|
|
get:
|
|
description: Gets a specific network.
|
|
operationId: network_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Network
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Network'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network
|
|
tags:
|
|
- networks
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the network configuration.
|
|
operationId: network_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Network configuration
|
|
in: body
|
|
name: network
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the network
|
|
tags:
|
|
- networks
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames an existing network.
|
|
operationId: network_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Network rename request
|
|
in: body
|
|
name: network
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename the network
|
|
tags:
|
|
- networks
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire network configuration.
|
|
operationId: network_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Network configuration
|
|
in: body
|
|
name: network
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the network
|
|
tags:
|
|
- networks
|
|
/1.0/networks/{name}/leases:
|
|
get:
|
|
description: Returns a list of DHCP leases for the network.
|
|
operationId: networks_leases_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of DHCP leases
|
|
items:
|
|
$ref: '#/definitions/NetworkLease'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the DHCP leases
|
|
tags:
|
|
- networks
|
|
/1.0/networks/{name}/state:
|
|
get:
|
|
description: Returns the current network state information.
|
|
operationId: networks_state_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkState'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network state
|
|
tags:
|
|
- networks
|
|
/1.0/networks/{networkName}/forwards:
|
|
get:
|
|
description: Returns a list of network address forwards (URLs).
|
|
operationId: network_forwards_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/networks/mybr0/forwards/192.0.2.1",
|
|
"/1.0/networks/mybr0/forwards/192.0.2.2"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address forwards
|
|
tags:
|
|
- network-forwards
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new network address forward.
|
|
operationId: network_forwards_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Forward
|
|
in: body
|
|
name: forward
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkForwardsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a network address forward
|
|
tags:
|
|
- network-forwards
|
|
/1.0/networks/{networkName}/forwards/{listenAddress}:
|
|
delete:
|
|
description: Removes the network address forward.
|
|
operationId: network_forward_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the network address forward
|
|
tags:
|
|
- network-forwards
|
|
get:
|
|
description: Gets a specific network address forward.
|
|
operationId: network_forward_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Address forward
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkForward'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address forward
|
|
tags:
|
|
- network-forwards
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the network address forward configuration.
|
|
operationId: network_forward_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Address forward configuration
|
|
in: body
|
|
name: forward
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkForwardPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the network address forward
|
|
tags:
|
|
- network-forwards
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire network address forward configuration.
|
|
operationId: network_forward_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Address forward configuration
|
|
in: body
|
|
name: forward
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkForwardPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the network address forward
|
|
tags:
|
|
- network-forwards
|
|
/1.0/networks/{networkName}/forwards?recursion=1:
|
|
get:
|
|
description: Returns a list of network address forwards (structs).
|
|
operationId: network_forward_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of network address forwards
|
|
items:
|
|
$ref: '#/definitions/NetworkForward'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address forwards
|
|
tags:
|
|
- network-forwards
|
|
/1.0/networks/{networkName}/load-balancers:
|
|
get:
|
|
description: Returns a list of network address load balancers (URLs).
|
|
operationId: network_load_balancers_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/networks/mybr0/load-balancers/192.0.2.1",
|
|
"/1.0/networks/mybr0/load-balancers/192.0.2.2"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address of load balancers
|
|
tags:
|
|
- network-load-balancers
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new network load balancer.
|
|
operationId: network_load_balancers_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Load Balancer
|
|
in: body
|
|
name: load-balancer
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkLoadBalancersPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a network load balancer
|
|
tags:
|
|
- network-load-balancers
|
|
/1.0/networks/{networkName}/load-balancers/{listenAddress}:
|
|
delete:
|
|
description: Removes the network address load balancer.
|
|
operationId: network_load_balancer_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the network address load balancer
|
|
tags:
|
|
- network-load-balancers
|
|
get:
|
|
description: Gets a specific network address load balancer.
|
|
operationId: network_load_balancer_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Load Balancer
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkLoadBalancer'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address load balancer
|
|
tags:
|
|
- network-load-balancers
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the network address load balancer configuration.
|
|
operationId: network_load_balancer_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Address load balancer configuration
|
|
in: body
|
|
name: load-balancer
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkLoadBalancerPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the network address load balancer
|
|
tags:
|
|
- network-load-balancers
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire network address load balancer configuration.
|
|
operationId: network_load_balancer_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Address load balancer configuration
|
|
in: body
|
|
name: load-balancer
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkLoadBalancerPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the network address load balancer
|
|
tags:
|
|
- network-load-balancers
|
|
/1.0/networks/{networkName}/load-balancers/{listenAddress}/state:
|
|
get:
|
|
description: Get the current state of a specific network address load balancer.
|
|
operationId: network_load_balancer_state_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Load Balancer state
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkLoadBalancerState'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address load balancer state
|
|
tags:
|
|
- network-load-balancers
|
|
/1.0/networks/{networkName}/load-balancers?recursion=1:
|
|
get:
|
|
description: Returns a list of network address load balancers (structs).
|
|
operationId: network_load_balancer_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of network address load balancers
|
|
items:
|
|
$ref: '#/definitions/NetworkLoadBalancer'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network address load balancers
|
|
tags:
|
|
- network-load-balancers
|
|
/1.0/networks/{networkName}/peers:
|
|
get:
|
|
description: Returns a list of network peers (URLs).
|
|
operationId: network_peers_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/networks/mybr0/peers/my-peer-1",
|
|
"/1.0/networks/mybr0/peers/my-peer-2"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network peers
|
|
tags:
|
|
- network-peers
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Initiates/creates a new network peering.
|
|
operationId: network_peers_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Peer
|
|
in: body
|
|
name: peer
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkPeersPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"202":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a network peer
|
|
tags:
|
|
- network-peers
|
|
/1.0/networks/{networkName}/peers/{peerName}:
|
|
delete:
|
|
description: Removes the network peering.
|
|
operationId: network_peer_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the network peer
|
|
tags:
|
|
- network-peers
|
|
get:
|
|
description: Gets a specific network peering.
|
|
operationId: network_peer_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Peer
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/NetworkPeer'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network peer
|
|
tags:
|
|
- network-peers
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the network peering configuration.
|
|
operationId: network_peer_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Peer configuration
|
|
in: body
|
|
name: Peer
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkPeerPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the network peer
|
|
tags:
|
|
- network-peers
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire network peering configuration.
|
|
operationId: network_peer_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Peer configuration
|
|
in: body
|
|
name: peer
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NetworkPeerPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the network peer
|
|
tags:
|
|
- network-peers
|
|
/1.0/networks/{networkName}/peers?recursion=1:
|
|
get:
|
|
description: Returns a list of network peers (structs).
|
|
operationId: network_peer_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of network peers
|
|
items:
|
|
$ref: '#/definitions/NetworkPeer'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the network peers
|
|
tags:
|
|
- network-peers
|
|
/1.0/networks?recursion=1:
|
|
get:
|
|
description: Returns a list of networks (structs).
|
|
operationId: networks_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve networks from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of networks
|
|
items:
|
|
$ref: '#/definitions/Network'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the networks
|
|
tags:
|
|
- networks
|
|
/1.0/operations:
|
|
get:
|
|
description: Returns a JSON object of operation type to operation list (URLs).
|
|
operationId: operations_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve operations from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
additionalProperties:
|
|
items:
|
|
type: string
|
|
type: array
|
|
description: JSON object of operation types to operation URLs
|
|
example: |-
|
|
{
|
|
"running": [
|
|
"/1.0/operations/6916c8a6-9b7d-4abd-90b3-aedfec7ec7da"
|
|
]
|
|
}
|
|
type: object
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the operations
|
|
tags:
|
|
- operations
|
|
/1.0/operations/{id}:
|
|
delete:
|
|
description: Cancels the operation if supported.
|
|
operationId: operation_delete
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Cancel the operation
|
|
tags:
|
|
- operations
|
|
get:
|
|
description: Gets the operation state.
|
|
operationId: operation_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Operation
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Operation'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the operation state
|
|
tags:
|
|
- operations
|
|
/1.0/operations/{id}/wait:
|
|
get:
|
|
description: Waits for the operation to reach a final state (or timeout) and retrieve its final state.
|
|
operationId: operation_wait_get
|
|
parameters:
|
|
- description: Timeout in seconds (-1 means never)
|
|
example: -1
|
|
in: query
|
|
name: timeout
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Operation
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Operation'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Wait for the operation
|
|
tags:
|
|
- operations
|
|
/1.0/operations/{id}/wait?public:
|
|
get:
|
|
description: |-
|
|
Waits for the operation to reach a final state (or timeout) and retrieve its final state.
|
|
|
|
When accessed by an untrusted user, the secret token must be provided.
|
|
operationId: operation_wait_get_untrusted
|
|
parameters:
|
|
- description: Authentication token
|
|
example: random-string
|
|
in: query
|
|
name: secret
|
|
type: string
|
|
- description: Timeout in seconds (-1 means never)
|
|
example: -1
|
|
in: query
|
|
name: timeout
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Operation
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Operation'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Wait for the operation
|
|
tags:
|
|
- operations
|
|
/1.0/operations/{id}/websocket:
|
|
get:
|
|
description: |-
|
|
Connects to an associated websocket stream for the operation.
|
|
This should almost never be done directly by a client, instead it's
|
|
meant for server to server communication with the client only relaying the
|
|
connection information to the servers.
|
|
operationId: operation_websocket_get
|
|
parameters:
|
|
- description: Authentication token
|
|
example: random-string
|
|
in: query
|
|
name: secret
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Websocket operation messages (dependent on operation)
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the websocket stream
|
|
tags:
|
|
- operations
|
|
/1.0/operations/{id}/websocket?public:
|
|
get:
|
|
description: |-
|
|
Connects to an associated websocket stream for the operation.
|
|
This should almost never be done directly by a client, instead it's
|
|
meant for server to server communication with the client only relaying the
|
|
connection information to the servers.
|
|
|
|
The untrusted endpoint is used by the target server to connect to the source server.
|
|
Authentication is performed through the secret token.
|
|
operationId: operation_websocket_get_untrusted
|
|
parameters:
|
|
- description: Authentication token
|
|
example: random-string
|
|
in: query
|
|
name: secret
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Websocket operation messages (dependent on operation)
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the websocket stream
|
|
tags:
|
|
- operations
|
|
/1.0/operations?recursion=1:
|
|
get:
|
|
description: Returns a list of operations (structs).
|
|
operationId: operations_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve operations from all projects
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of operations
|
|
items:
|
|
$ref: '#/definitions/Operation'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the operations
|
|
tags:
|
|
- operations
|
|
/1.0/profiles:
|
|
get:
|
|
description: Returns a list of profiles (URLs).
|
|
operationId: profiles_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve profiles from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/profiles/default",
|
|
"/1.0/profiles/foo"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the profiles
|
|
tags:
|
|
- profiles
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new profile.
|
|
operationId: profiles_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Profile
|
|
in: body
|
|
name: profile
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ProfilesPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a profile
|
|
tags:
|
|
- profiles
|
|
/1.0/profiles/{name}:
|
|
delete:
|
|
description: Removes the profile.
|
|
operationId: profile_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the profile
|
|
tags:
|
|
- profiles
|
|
get:
|
|
description: Gets a specific profile.
|
|
operationId: profile_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Profile
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Profile'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the profile
|
|
tags:
|
|
- profiles
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the profile configuration.
|
|
operationId: profile_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Profile configuration
|
|
in: body
|
|
name: profile
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ProfilePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the profile
|
|
tags:
|
|
- profiles
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames an existing profile.
|
|
operationId: profile_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Profile rename request
|
|
in: body
|
|
name: profile
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ProfilePost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename the profile
|
|
tags:
|
|
- profiles
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire profile configuration.
|
|
operationId: profile_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Profile configuration
|
|
in: body
|
|
name: profile
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ProfilePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the profile
|
|
tags:
|
|
- profiles
|
|
/1.0/profiles?recursion=1:
|
|
get:
|
|
description: Returns a list of profiles (structs).
|
|
operationId: profiles_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve profiles from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of profiles
|
|
items:
|
|
$ref: '#/definitions/Profile'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the profiles
|
|
tags:
|
|
- profiles
|
|
/1.0/projects:
|
|
get:
|
|
description: Returns a list of projects (URLs).
|
|
operationId: projects_get
|
|
parameters:
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/projects/default",
|
|
"/1.0/projects/foo"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the projects
|
|
tags:
|
|
- projects
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new project.
|
|
operationId: projects_post
|
|
parameters:
|
|
- description: Project
|
|
in: body
|
|
name: project
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ProjectsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a project
|
|
tags:
|
|
- projects
|
|
/1.0/projects/{name}:
|
|
delete:
|
|
description: Removes the project.
|
|
operationId: project_delete
|
|
parameters:
|
|
- description: Delete project and related artifacts
|
|
in: query
|
|
name: force
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the project
|
|
tags:
|
|
- projects
|
|
get:
|
|
description: Gets a specific project.
|
|
operationId: project_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Project
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Project'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the project
|
|
tags:
|
|
- projects
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the project configuration.
|
|
operationId: project_patch
|
|
parameters:
|
|
- description: Project configuration
|
|
in: body
|
|
name: project
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ProjectPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the project
|
|
tags:
|
|
- projects
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames an existing project.
|
|
operationId: project_post
|
|
parameters:
|
|
- description: Project rename request
|
|
in: body
|
|
name: project
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ProjectPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename the project
|
|
tags:
|
|
- projects
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire project configuration.
|
|
operationId: project_put
|
|
parameters:
|
|
- description: Project configuration
|
|
in: body
|
|
name: project
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/ProjectPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the project
|
|
tags:
|
|
- projects
|
|
/1.0/projects/{name}/access:
|
|
get:
|
|
description: Gets the access information for the project.
|
|
operationId: project_access
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Access
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Access'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get who has access to a project
|
|
tags:
|
|
- projects
|
|
/1.0/projects/{name}/state:
|
|
get:
|
|
description: Gets a specific project resource consumption information.
|
|
operationId: project_state_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Project state
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/ProjectState'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the project state
|
|
tags:
|
|
- projects
|
|
/1.0/projects?recursion=1:
|
|
get:
|
|
description: Returns a list of projects (structs).
|
|
operationId: projects_get_recursion1
|
|
parameters:
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of projects
|
|
items:
|
|
$ref: '#/definitions/Project'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the projects
|
|
tags:
|
|
- projects
|
|
/1.0/resources:
|
|
get:
|
|
description: Gets the hardware information profile of the server.
|
|
operationId: resources_get
|
|
parameters:
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Hardware resources
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Resources'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get system resources information
|
|
tags:
|
|
- server
|
|
/1.0/storage-pools:
|
|
get:
|
|
description: Returns a list of storage pools (URLs).
|
|
operationId: storage_pools_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/storage-pools/local",
|
|
"/1.0/storage-pools/remote"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pools
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Creates a new storage pool.
|
|
When clustered, storage pools require individual POST for each cluster member prior to a global POST.
|
|
operationId: storage_pools_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage pool
|
|
in: body
|
|
name: storage
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StoragePoolsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a storage pool
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{name}/buckets/{bucketName}:
|
|
delete:
|
|
description: Removes the storage bucket.
|
|
operationId: storage_pool_bucket_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the storage bucket
|
|
tags:
|
|
- storage
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the storage bucket configuration.
|
|
operationId: storage_pool_bucket_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage bucket configuration
|
|
in: body
|
|
name: storage bucket
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageBucketPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the storage bucket.
|
|
tags:
|
|
- storage
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire storage bucket configuration.
|
|
operationId: storage_pool_bucket_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage bucket configuration
|
|
in: body
|
|
name: storage bucket
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageBucketPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the storage bucket
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{name}/buckets/{bucketName}/keys/{keyName}:
|
|
delete:
|
|
description: Removes the storage bucket key.
|
|
operationId: storage_pool_bucket_key_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the storage bucket key
|
|
tags:
|
|
- storage
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire storage bucket key configuration.
|
|
operationId: storage_pool_bucket_key_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage bucket key configuration
|
|
in: body
|
|
name: storage bucket
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageBucketKeyPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the storage bucket key
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{name}/resources:
|
|
get:
|
|
description: Gets the usage information for the storage pool.
|
|
operationId: storage_pool_resources
|
|
parameters:
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Hardware resources
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/ResourcesStoragePool'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get storage pool resources information
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}:
|
|
delete:
|
|
description: Removes the storage pool.
|
|
operationId: storage_pools_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the storage pool
|
|
tags:
|
|
- storage
|
|
get:
|
|
description: Gets a specific storage pool.
|
|
operationId: storage_pool_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage pool
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StoragePool'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pool
|
|
tags:
|
|
- storage
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the storage pool configuration.
|
|
operationId: storage_pool_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage pool configuration
|
|
in: body
|
|
name: storage pool
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StoragePoolPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the storage pool
|
|
tags:
|
|
- storage
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire storage pool configuration.
|
|
operationId: storage_pool_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage pool configuration
|
|
in: body
|
|
name: storage pool
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StoragePoolPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the storage pool
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets:
|
|
get:
|
|
description: Returns a list of storage pool buckets (URLs).
|
|
operationId: storage_pool_buckets_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve storage pool buckets from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/storage-pools/default/buckets/foo",
|
|
"/1.0/storage-pools/default/buckets/bar",
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pool buckets
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new storage pool bucket.
|
|
operationId: storage_pool_bucket_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Bucket
|
|
in: body
|
|
name: bucket
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageBucketsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/definitions/StorageBucketKey'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a storage pool bucket.
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets/{bucketName}:
|
|
get:
|
|
description: Gets a specific storage pool bucket.
|
|
operationId: storage_pool_bucket_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage pool bucket
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StorageBucket'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pool bucket
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets/{bucketName}/backups:
|
|
get:
|
|
description: Returns a list of storage bucket backups (URLs).
|
|
operationId: storage_pool_buckets_backups_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/storage-pools/local/buckets/foo/backups/backup0",
|
|
"/1.0/storage-pools/local/buckets/foo/backups/backup1"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage bucket backups
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new storage bucket backup.
|
|
operationId: storage_pool_buckets_backups_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage bucket backup
|
|
in: body
|
|
name: bucket
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageBucketBackupsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create a storage bucket backup
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets/{bucketName}/backups/{backupName}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Deletes a new storage bucket backup.
|
|
operationId: storage_pool_buckets_backup_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete a storage bucket backup
|
|
tags:
|
|
- storage
|
|
get:
|
|
description: Gets a specific storage bucket backup.
|
|
operationId: storage_pool_buckets_backup_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage bucket backup
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StorageBucketBackup'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage bucket backup
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames a storage bucket backup.
|
|
operationId: storage_pool_buckets_backup_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage bucket backup
|
|
in: body
|
|
name: bucket rename
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageBucketBackupPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename a storage bucket backup
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets/{bucketName}/backups/{backupName}/export:
|
|
get:
|
|
description: Download the raw backup file from the server.
|
|
operationId: storage_pool_buckets_backup_export_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/octet-stream
|
|
responses:
|
|
"200":
|
|
description: Raw backup data
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the raw backup file
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets/{bucketName}/backups?recursion=1:
|
|
get:
|
|
description: Returns a list of storage bucket backups (structs).
|
|
operationId: storage_pool_buckets_backups_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage bucket backups
|
|
items:
|
|
$ref: '#/definitions/StorageBucketBackup'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage bucket backups
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys:
|
|
get:
|
|
description: Returns a list of storage pool bucket keys (URLs).
|
|
operationId: storage_pool_bucket_keys_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/storage-pools/default/buckets/foo/keys/my-read-only-key",
|
|
"/1.0/storage-pools/default/buckets/bar/keys/admin",
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pool bucket keys
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new storage pool bucket key.
|
|
operationId: storage_pool_bucket_key_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Bucket
|
|
in: body
|
|
name: bucket
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageBucketKeysPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/definitions/StorageBucketKey'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a storage pool bucket key.
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys/{keyName}:
|
|
get:
|
|
description: Gets a specific storage pool bucket key.
|
|
operationId: storage_pool_bucket_key_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage pool bucket key
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StorageBucketKey'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pool bucket key
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys?recursion=1:
|
|
get:
|
|
description: Returns a list of storage pool bucket keys (structs).
|
|
operationId: storage_pool_bucket_keys_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage pool bucket keys
|
|
items:
|
|
$ref: '#/definitions/StorageBucketKey'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pool bucket keys
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets/{bucketName}?recursion=1:
|
|
get:
|
|
description: Gets a specific storage pool bucket with all details (backups and keys).
|
|
operationId: storage_pool_bucket_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage pool bucket
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StorageBucketFull'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the full storage pool bucket details
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets?recursion=1:
|
|
get:
|
|
description: Returns a list of storage pool buckets (structs).
|
|
operationId: storage_pool_buckets_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve storage pool buckets from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage pool buckets
|
|
items:
|
|
$ref: '#/definitions/StorageBucket'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pool buckets
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/buckets?recursion=2:
|
|
get:
|
|
description: Returns a list of storage pool buckets with all details (structs).
|
|
operationId: storage_pool_buckets_get_recursion2
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Retrieve storage pool buckets from all projects
|
|
example: true
|
|
in: query
|
|
name: all-projects
|
|
type: boolean
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage pool buckets
|
|
items:
|
|
$ref: '#/definitions/StorageBucketFull'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pool bucket details
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes:
|
|
get:
|
|
description: Returns a list of storage volumes (URLs).
|
|
operationId: storage_pool_volumes_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/storage-pools/local/volumes/container/a1",
|
|
"/1.0/storage-pools/local/volumes/container/a2",
|
|
"/1.0/storage-pools/local/volumes/custom/backups",
|
|
"/1.0/storage-pools/local/volumes/custom/images"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volumes
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Creates a new storage volume.
|
|
Will return an empty sync response on simple volume creation but an operation on copy or migration.
|
|
operationId: storage_pool_volumes_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume
|
|
in: body
|
|
name: volume
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumesPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a storage volume
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}:
|
|
get:
|
|
description: Returns a list of storage volumes (URLs) (type specific endpoint).
|
|
operationId: storage_pool_volumes_type_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/storage-pools/local/volumes/custom/backups",
|
|
"/1.0/storage-pools/local/volumes/custom/images"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volumes
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Creates a new storage volume (type specific endpoint).
|
|
Will return an empty sync response on simple volume creation but an operation on copy or migration.
|
|
operationId: storage_pool_volumes_type_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume
|
|
in: body
|
|
name: volume
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumesPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Add a storage volume
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}:
|
|
delete:
|
|
description: Removes the storage volume.
|
|
operationId: storage_pool_volume_type_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the storage volume
|
|
tags:
|
|
- storage
|
|
get:
|
|
description: Gets a specific storage volume.
|
|
operationId: storage_pool_volume_type_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage volume
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StorageVolume'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volume
|
|
tags:
|
|
- storage
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the storage volume configuration.
|
|
operationId: storage_pool_volume_type_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume configuration
|
|
in: body
|
|
name: storage volume
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the storage volume
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: |-
|
|
Renames, moves a storage volume between pools or migrates an instance to another server.
|
|
|
|
The returned operation metadata will vary based on what's requested.
|
|
For rename or move within the same server, this is a simple background operation with progress data.
|
|
For migration, in the push case, this will similarly be a background
|
|
operation with progress data, for the pull case, it will be a websocket
|
|
operation with a number of secrets to be passed to the target server.
|
|
operationId: storage_pool_volume_type_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Migration request
|
|
in: body
|
|
name: migration
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumePost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename or move/migrate a storage volume
|
|
tags:
|
|
- storage
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire storage volume configuration.
|
|
operationId: storage_pool_volume_type_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume configuration
|
|
in: body
|
|
name: storage volume
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumePut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the storage volume
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups:
|
|
get:
|
|
description: Returns a list of storage volume backups (URLs).
|
|
operationId: storage_pool_volumes_type_backups_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/storage-pools/local/volumes/custom/foo/backups/backup0",
|
|
"/1.0/storage-pools/local/volumes/custom/foo/backups/backup1"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volume backups
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new storage volume backup.
|
|
operationId: storage_pool_volumes_type_backups_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume backup
|
|
in: body
|
|
name: volume
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumeBackupsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create a storage volume backup
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Deletes a new storage volume backup.
|
|
operationId: storage_pool_volumes_type_backup_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete a storage volume backup
|
|
tags:
|
|
- storage
|
|
get:
|
|
description: Gets a specific storage volume backup.
|
|
operationId: storage_pool_volumes_type_backup_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage volume backup
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StorageVolumeBackup'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volume backup
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames a storage volume backup.
|
|
operationId: storage_pool_volumes_type_backup_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume backup
|
|
in: body
|
|
name: volume rename
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumeSnapshotPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename a storage volume backup
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName}/export:
|
|
get:
|
|
description: Download the raw backup file from the server.
|
|
operationId: storage_pool_volumes_type_backup_export_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/octet-stream
|
|
responses:
|
|
"200":
|
|
description: Raw backup data
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the raw backup file
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups?recursion=1:
|
|
get:
|
|
description: Returns a list of storage volume backups (structs).
|
|
operationId: storage_pool_volumes_type_backups_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage volume backups
|
|
items:
|
|
$ref: '#/definitions/StorageVolumeBackup'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volume backups
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/files:
|
|
delete:
|
|
description: Removes the file.
|
|
operationId: storage_pool_volume_type_files_delete
|
|
parameters:
|
|
- description: Path to the file
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Perform recursive deletion
|
|
example: true
|
|
in: header
|
|
name: X-Incus-force
|
|
schema:
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete a file
|
|
tags:
|
|
- storage
|
|
get:
|
|
description: Gets the file content. If it's a directory, a json list of files will be returned instead.
|
|
operationId: storage_pool_volume_type_files_get
|
|
parameters:
|
|
- description: Path to the file
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
- application/octet-stream
|
|
responses:
|
|
"200":
|
|
description: Raw file or directory listing
|
|
headers:
|
|
X-Incus-gid:
|
|
description: File owner GID
|
|
X-Incus-mode:
|
|
description: Mode mask
|
|
X-Incus-modified:
|
|
description: Last modified date
|
|
X-Incus-type:
|
|
description: Type of file (file, symlink or directory)
|
|
X-Incus-uid:
|
|
description: File owner UID
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get a file
|
|
tags:
|
|
- storage
|
|
head:
|
|
description: Gets the file or directory metadata.
|
|
operationId: storage_pool_volume_type_files_head
|
|
parameters:
|
|
- description: Path to the file
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Raw file or directory listing
|
|
headers:
|
|
X-Incus-gid:
|
|
description: File owner GID
|
|
X-Incus-mode:
|
|
description: Mode mask
|
|
X-Incus-modified:
|
|
description: Last modified date
|
|
X-Incus-type:
|
|
description: Type of file (file, symlink or directory)
|
|
X-Incus-uid:
|
|
description: File owner UID
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get metadata for a file
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/octet-stream
|
|
description: Creates a new file in the storage volume.
|
|
operationId: storage_pool_volume_type_files_post
|
|
parameters:
|
|
- description: Path to the file
|
|
example: default
|
|
in: query
|
|
name: path
|
|
type: string
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Raw file content
|
|
in: body
|
|
name: raw_file
|
|
- description: File owner UID
|
|
example: 1000
|
|
in: header
|
|
name: X-Incus-uid
|
|
schema:
|
|
type: integer
|
|
- description: File owner GID
|
|
example: 1000
|
|
in: header
|
|
name: X-Incus-gid
|
|
schema:
|
|
type: integer
|
|
- description: File mode
|
|
example: 420
|
|
in: header
|
|
name: X-Incus-mode
|
|
schema:
|
|
type: integer
|
|
- description: Type of file (file, symlink or directory)
|
|
example: file
|
|
in: header
|
|
name: X-Incus-type
|
|
schema:
|
|
type: string
|
|
- description: Write mode (overwrite or append)
|
|
example: overwrite
|
|
in: header
|
|
name: X-Incus-write
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create or replace a file
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/sftp:
|
|
get:
|
|
description: Upgrades the request to an SFTP connection of the storage volume's filesystem.
|
|
operationId: storage_pool_volume_type_sftp_get
|
|
produces:
|
|
- application/json
|
|
- application/octet-stream
|
|
responses:
|
|
"101":
|
|
description: Switching protocols to SFTP
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volume SFTP connection
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots:
|
|
get:
|
|
description: Returns a list of storage volume snapshots (URLs).
|
|
operationId: storage_pool_volumes_type_snapshots_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/storage-pools/local/volumes/custom/foo/snapshots/snap0",
|
|
"/1.0/storage-pools/local/volumes/custom/foo/snapshots/snap1"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volume snapshots
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates a new storage volume snapshot.
|
|
operationId: storage_pool_volumes_type_snapshots_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume snapshot
|
|
in: body
|
|
name: volume
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumeSnapshotsPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Create a storage volume snapshot
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Deletes a new storage volume snapshot.
|
|
operationId: storage_pool_volumes_type_snapshot_delete
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete a storage volume snapshot
|
|
tags:
|
|
- storage
|
|
get:
|
|
description: Gets a specific storage volume snapshot.
|
|
operationId: storage_pool_volumes_type_snapshot_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage volume snapshot
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StorageVolumeSnapshot'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volume snapshot
|
|
tags:
|
|
- storage
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the storage volume snapshot configuration.
|
|
operationId: storage_pool_volumes_type_snapshot_patch
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume snapshot configuration
|
|
in: body
|
|
name: storage volume snapshot
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumeSnapshotPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the storage volume snapshot
|
|
tags:
|
|
- storage
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Renames a storage volume snapshot.
|
|
operationId: storage_pool_volumes_type_snapshot_post
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume snapshot
|
|
in: body
|
|
name: volume rename
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumeSnapshotPost'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"202":
|
|
$ref: '#/responses/Operation'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Rename a storage volume snapshot
|
|
tags:
|
|
- storage
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the entire storage volume snapshot configuration.
|
|
operationId: storage_pool_volumes_type_snapshot_put
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Storage volume snapshot configuration
|
|
in: body
|
|
name: storage volume snapshot
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/StorageVolumeSnapshotPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"412":
|
|
$ref: '#/responses/PreconditionFailed'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the storage volume snapshot
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots?recursion=1:
|
|
get:
|
|
description: Returns a list of storage volume snapshots (structs).
|
|
operationId: storage_pool_volumes_type_snapshots_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage volume snapshots
|
|
items:
|
|
$ref: '#/definitions/StorageVolumeSnapshot'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volume snapshots
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/state:
|
|
get:
|
|
description: Gets a specific storage volume state (usage data).
|
|
operationId: storage_pool_volume_type_state_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage pool
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StorageVolumeState'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volume state
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}?recursion=1:
|
|
get:
|
|
description: Gets a specific storage volume with all details (backups, snapshots and state0..
|
|
operationId: storage_pool_volume_type_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Storage volume
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/StorageVolumeFull'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the full storage volume details
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}?recursion=1:
|
|
get:
|
|
description: Returns a list of storage volumes (structs) (type specific endpoint).
|
|
operationId: storage_pool_volumes_type_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage volumes
|
|
items:
|
|
$ref: '#/definitions/StorageVolume'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volumes
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes/{type}?recursion=2:
|
|
get:
|
|
description: Returns a list of storage volumes (structs) including all details (type specific endpoint).
|
|
operationId: storage_pool_volumes_type_get_recursion2
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage volumes
|
|
items:
|
|
$ref: '#/definitions/StorageVolumeFull'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volumes with all details
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools/{poolName}/volumes?recursion=1:
|
|
get:
|
|
description: Returns a list of storage volumes (structs).
|
|
operationId: storage_pool_volumes_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Cluster member name
|
|
example: server01
|
|
in: query
|
|
name: target
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage volumes
|
|
items:
|
|
$ref: '#/definitions/StorageVolume'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage volumes
|
|
tags:
|
|
- storage
|
|
/1.0/storage-pools?recursion=1:
|
|
get:
|
|
description: Returns a list of storage pools (structs).
|
|
operationId: storage_pools_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
- description: Collection filter
|
|
example: default
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of storage pools
|
|
items:
|
|
$ref: '#/definitions/StoragePool'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the storage pools
|
|
tags:
|
|
- storage
|
|
/1.0/warnings:
|
|
get:
|
|
description: Returns a list of warnings.
|
|
operationId: warnings_get
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Sync response
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of endpoints
|
|
example: |-
|
|
[
|
|
"/1.0/warnings/39c61a48-cc17-40ae-8248-4f7b4cadedf4",
|
|
"/1.0/warnings/951779a5-2820-4d96-b01e-88fe820e5310"
|
|
]
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: List the warnings
|
|
tags:
|
|
- warnings
|
|
/1.0/warnings/{uuid}:
|
|
delete:
|
|
description: Removes the warning.
|
|
operationId: warning_delete
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Delete the warning
|
|
tags:
|
|
- warnings
|
|
get:
|
|
description: Gets a specific warning.
|
|
operationId: warning_get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Warning
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Warning'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"404":
|
|
$ref: '#/responses/NotFound'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the warning
|
|
tags:
|
|
- warnings
|
|
patch:
|
|
consumes:
|
|
- application/json
|
|
description: Updates a subset of the warning status.
|
|
operationId: warning_patch
|
|
parameters:
|
|
- description: Warning status
|
|
in: body
|
|
name: warning
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/WarningPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Partially update the warning
|
|
tags:
|
|
- warnings
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Updates the warning status.
|
|
operationId: warning_put
|
|
parameters:
|
|
- description: Warning status
|
|
in: body
|
|
name: warning
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/WarningPut'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
$ref: '#/responses/EmptySyncResponse'
|
|
"400":
|
|
$ref: '#/responses/BadRequest'
|
|
"403":
|
|
$ref: '#/responses/Forbidden'
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Update the warning
|
|
tags:
|
|
- warnings
|
|
/1.0/warnings?recursion=1:
|
|
get:
|
|
description: Returns a list of warnings (structs).
|
|
operationId: warnings_get_recursion1
|
|
parameters:
|
|
- description: Project name
|
|
example: default
|
|
in: query
|
|
name: project
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: API endpoints
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
description: List of warnings
|
|
items:
|
|
$ref: '#/definitions/Warning'
|
|
type: array
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the warnings
|
|
tags:
|
|
- warnings
|
|
/1.0?public:
|
|
get:
|
|
description: |-
|
|
Shows a small subset of the server environment and configuration
|
|
which is required by untrusted clients to reach a server.
|
|
|
|
The `?public` part of the URL isn't required, it's simply used to
|
|
separate the two behaviors of this endpoint.
|
|
operationId: server_get_untrusted
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Server environment and configuration
|
|
schema:
|
|
description: Sync response
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/ServerUntrusted'
|
|
status:
|
|
description: Status description
|
|
example: Success
|
|
type: string
|
|
status_code:
|
|
description: Status code
|
|
example: 200
|
|
type: integer
|
|
type:
|
|
description: Response type
|
|
example: sync
|
|
type: string
|
|
type: object
|
|
"500":
|
|
$ref: '#/responses/InternalServerError'
|
|
summary: Get the server environment
|
|
tags:
|
|
- server
|
|
responses:
|
|
BadRequest:
|
|
description: Bad Request
|
|
schema:
|
|
properties:
|
|
error:
|
|
example: bad request
|
|
type: string
|
|
x-go-name: Error
|
|
error_code:
|
|
example: 400
|
|
format: int64
|
|
type: integer
|
|
x-go-name: ErrorCode
|
|
type:
|
|
example: error
|
|
type: string
|
|
x-go-name: Type
|
|
type: object
|
|
EmptySyncResponse:
|
|
description: Empty sync response
|
|
schema:
|
|
properties:
|
|
status:
|
|
example: Success
|
|
type: string
|
|
x-go-name: Status
|
|
status_code:
|
|
example: 200
|
|
format: int64
|
|
type: integer
|
|
x-go-name: StatusCode
|
|
type:
|
|
example: sync
|
|
type: string
|
|
x-go-name: Type
|
|
type: object
|
|
Forbidden:
|
|
description: Forbidden
|
|
schema:
|
|
properties:
|
|
error:
|
|
example: not authorized
|
|
type: string
|
|
x-go-name: Error
|
|
error_code:
|
|
example: 403
|
|
format: int64
|
|
type: integer
|
|
x-go-name: ErrorCode
|
|
type:
|
|
example: error
|
|
type: string
|
|
x-go-name: Type
|
|
type: object
|
|
InternalServerError:
|
|
description: Internal Server Error
|
|
schema:
|
|
properties:
|
|
error:
|
|
example: internal server error
|
|
type: string
|
|
x-go-name: Error
|
|
error_code:
|
|
example: 500
|
|
format: int64
|
|
type: integer
|
|
x-go-name: ErrorCode
|
|
type:
|
|
example: error
|
|
type: string
|
|
x-go-name: Type
|
|
type: object
|
|
NotFound:
|
|
description: Not found
|
|
schema:
|
|
properties:
|
|
error:
|
|
example: not found
|
|
type: string
|
|
x-go-name: Error
|
|
error_code:
|
|
example: 404
|
|
format: int64
|
|
type: integer
|
|
x-go-name: ErrorCode
|
|
type:
|
|
example: error
|
|
type: string
|
|
x-go-name: Type
|
|
type: object
|
|
Operation:
|
|
description: Operation
|
|
schema:
|
|
properties:
|
|
metadata:
|
|
$ref: '#/definitions/Operation'
|
|
operation:
|
|
example: /1.0/operations/66e83638-9dd7-4a26-aef2-5462814869a1
|
|
type: string
|
|
x-go-name: Operation
|
|
status:
|
|
example: Operation created
|
|
type: string
|
|
x-go-name: Status
|
|
status_code:
|
|
example: 100
|
|
format: int64
|
|
type: integer
|
|
x-go-name: StatusCode
|
|
type:
|
|
example: async
|
|
type: string
|
|
x-go-name: Type
|
|
type: object
|
|
PreconditionFailed:
|
|
description: Precondition Failed
|
|
schema:
|
|
properties:
|
|
error:
|
|
example: precondition failed
|
|
type: string
|
|
x-go-name: Error
|
|
error_code:
|
|
example: 412
|
|
format: int64
|
|
type: integer
|
|
x-go-name: ErrorCode
|
|
type:
|
|
example: error
|
|
type: string
|
|
x-go-name: Type
|
|
type: object
|
|
swagger: "2.0"
|