linode-v4

Linode v4 alpha API client

Usage no npm install needed!

<script type="module">
  import linodeV4 from 'https://cdn.skypack.dev/linode-v4';
</script>

README

Linode v4 API

Compatible with v4.0.19

This is a promise-based clinet for the Linode API version 4


Build Status FOSSA Status

bitHound DependenciesbitHound Dev Dependencies

MaintainabilityTest Coverage

semantic-release">Commitizen friendlyTypeScri[t]

Installation

npm install linode-v4 --save

Usage

import { Linodev4 } from 'linode-v4';

const server = new Linodev4('personal_key');

or

const Linodev4 = require('linode-v4');

const server = new Linodev4('personal_key');

Introduction

This package is generate automatically based on the openapi.yaml document provided by the Linode Team; however the package provided here is a fixed versión of the one you can get at linode documentation I've reported all the changes I made to this document to the Linode Team hopefully they will fixed this in future versions.

The project comes with d.ts files, so If you use and editor compatible with this, you will no need any documentation since every function and parameter has its definition and description.

As I mention this package is generated automatically, that inclues tests, I've checked really carefully that every function will reach the correct url with the correct parameters (headers, body, query, verbs), since I actually use this package in production; but I did not test every command to the the actual linode servers.

Request

This packages uses Axios to manage the request, yo can pass and AxiosRequestConfig as the second argument of the constructor in order to modify the request configuration.

This is useful is you want to set your proxy in order to make the requests.

Commands

Here you will find a complete list of all the command and their link to the actual linode website.

account

Command Reference
await server.account.get() /account
await server.account.update({} as Account) /account
await server.account.creditCard({} as any) /account
await server.account.transfer() /account
await server.account.events.list() /account/events
await server.account.events.list(1) /account/events
await server.account.events.list(1, 50) /account/events
await server.account.events(1).get() /account/events/{eventId}
await server.account.events(1).read() /account/events/{eventId}
await server.account.events(1).seen() /account/events/{eventId}
await server.account.invoices.list() /account/invoices
await server.account.invoices.list(1) /account/invoices
await server.account.invoices.list(1, 50) /account/invoices
await server.account.invoices(1).get() /account/invoices/{invoiceId}
await server.account.invoices(1).items.list() /account/invoices/{invoiceId}/items
await server.account.invoices(1).items.list(1) /account/invoices/{invoiceId}/items
await server.account.invoices(1).items.list(1, 50) /account/invoices/{invoiceId}/items
await server.account.notifications.list() /account/notifications
await server.account.notifications.list(1) /account/notifications
await server.account.notifications.list(1, 50) /account/notifications
await server.account.oauthClients.list() /account/oauth-clients
await server.account.oauthClients.list(1) /account/oauth-clients
await server.account.oauthClients.list(1, 50) /account/oauth-clients
await server.account.oauthClients.list({} as Filter) /account/oauth-clients
await server.account.oauthClients.list(2, {} as Filter) /account/oauth-clients
await server.account.oauthClients.list(2, 5, {} as Filter) /account/oauth-clients
await server.account.oauthClients.create({} as any) /account/oauth-clients
await server.account.oauthClients('clientId').get() /account/oauth-clients/{clientId}
await server.account.oauthClients('clientId').update({} as OAuthClient) /account/oauth-clients/{clientId}
await server.account.oauthClients('clientId').delete() /account/oauth-clients/{clientId}
await server.account.oauthClients('clientId').resetSecret() /account/oauth-clients/{clientId}
await server.account.oauthClients('clientId').thumbnail.get() /account/oauth-clients/{clientId}/thumbnail
await server.account.oauthClients('clientId').thumbnail.update({} as ArrayBuffer) /account/oauth-clients/{clientId}/thumbnail
await server.account.payments.list() /account/payments
await server.account.payments.list(1) /account/payments
await server.account.payments.list(1, 50) /account/payments
await server.account.payments.create({} as PaymentRequest) /account/payments
await server.account.payments(1).get() /account/payments/{paymentId}
await server.account.payments.paypal.create({} as PayPal) /account/payments/paypal
await server.account.payments.paypal.execute({} as PayPalExecute) /account/payments/paypal
await server.account.settings.get() /account/settings
await server.account.settings.update({} as AccountSettings) /account/settings
await server.account.users.list() /account/users
await server.account.users.list(1) /account/users
await server.account.users.list(1, 50) /account/users
await server.account.users.list({} as Filter) /account/users
await server.account.users.list(2, {} as Filter) /account/users
await server.account.users.list(2, 5, {} as Filter) /account/users
await server.account.users.create({} as any) /account/users
await server.account.users('username').get() /account/users/{username}
await server.account.users('username').update({} as User) /account/users/{username}
await server.account.users('username').delete() /account/users/{username}
await server.account.users('username').grants.get() /account/users/{username}/grants
await server.account.users('username').grants.update({} as GrantsResponse) /account/users/{username}/grants
### domains
Command Reference
--- ---
await server.domains.list() /domains
await server.domains.list(1) /domains
await server.domains.list(1, 50) /domains
await server.domains.list({} as Filter) /domains
await server.domains.list(2, {} as Filter) /domains
await server.domains.list(2, 5, {} as Filter) /domains
await server.domains.create({} as Domain) /domains
await server.domains.import({} as any) /domains
await server.domains(1).get() /domains/{domainId}
await server.domains(1).update({} as Domain) /domains/{domainId}
await server.domains(1).delete() /domains/{domainId}
await server.domains(1).records.list() /domains/{domainId}/records
await server.domains(1).records.list(1) /domains/{domainId}/records
await server.domains(1).records.list(1, 50) /domains/{domainId}/records
await server.domains(1).records.create({} as any) /domains/{domainId}/records
await server.domains(1).records(1).get() /domains/{domainId}/records/{recordId}
await server.domains(1).records(1).update({} as DomainRecord) /domains/{domainId}/records/{recordId}
await server.domains(1).records(1).delete() /domains/{domainId}/records/{recordId}
### images
Command Reference
--- ---
await server.images.list() /images
await server.images.list(1) /images
await server.images.list(1, 50) /images
await server.images.list({} as Filter) /images
await server.images.list(2, {} as Filter) /images
await server.images.list(2, 5, {} as Filter) /images
await server.images.create({} as any) /images
await server.images('imageId').get() /images/{imageId}
await server.images('imageId').update({} as ImagePrivate) /images/{imageId}
await server.images('imageId').delete() /images/{imageId}
### linode
Command Reference
--- ---
await server.linode.instances.list() /linode/instances
await server.linode.instances.list(1) /linode/instances
await server.linode.instances.list(1, 50) /linode/instances
await server.linode.instances.list({} as Filter) /linode/instances
await server.linode.instances.list(2, {} as Filter) /linode/instances
await server.linode.instances.list(2, 5, {} as Filter) /linode/instances
await server.linode.instances.create({} as any) /linode/instances
await server.linode.instances(1).get() /linode/instances/{linodeId}
await server.linode.instances(1).update({} as Linode) /linode/instances/{linodeId}
await server.linode.instances(1).delete() /linode/instances/{linodeId}
await server.linode.instances(1).boot({} as any) /linode/instances/{linodeId}
await server.linode.instances(1).clone({} as any) /linode/instances/{linodeId}
await server.linode.instances(1).migrate() /linode/instances/{linodeId}
await server.linode.instances(1).mutate() /linode/instances/{linodeId}
await server.linode.instances(1).reboot({} as any) /linode/instances/{linodeId}
await server.linode.instances(1).rebuild({} as any) /linode/instances/{linodeId}
await server.linode.instances(1).rescue({} as any) /linode/instances/{linodeId}
await server.linode.instances(1).resize({} as any) /linode/instances/{linodeId}
await server.linode.instances(1).shutdown() /linode/instances/{linodeId}
await server.linode.instances(1).backups.get() /linode/instances/{linodeId}/backups
await server.linode.instances(1).backups.create({} as any) /linode/instances/{linodeId}/backups
await server.linode.instances(1).backups.cancel() /linode/instances/{linodeId}/backups
await server.linode.instances(1).backups.enable() /linode/instances/{linodeId}/backups
await server.linode.instances(1).backups(1).get() /linode/instances/{linodeId}/backups/{backupId}
await server.linode.instances(1).backups(1).restore({} as any) /linode/instances/{linodeId}/backups/{backupId}
await server.linode.instances(1).configs.list() /linode/instances/{linodeId}/configs
await server.linode.instances(1).configs.list(1) /linode/instances/{linodeId}/configs
await server.linode.instances(1).configs.list(1, 50) /linode/instances/{linodeId}/configs
await server.linode.instances(1).configs.list({} as Filter) /linode/instances/{linodeId}/configs
await server.linode.instances(1).configs.list(2, {} as Filter) /linode/instances/{linodeId}/configs
await server.linode.instances(1).configs.list(2, 5, {} as Filter) /linode/instances/{linodeId}/configs
await server.linode.instances(1).configs.create({} as LinodeConfig) /linode/instances/{linodeId}/configs
await server.linode.instances(1).configs(1).get() /linode/instances/{linodeId}/configs/{configId}
await server.linode.instances(1).configs(1).update({} as LinodeConfig) /linode/instances/{linodeId}/configs/{configId}
await server.linode.instances(1).configs(1).delete() /linode/instances/{linodeId}/configs/{configId}
await server.linode.instances(1).disks.list() /linode/instances/{linodeId}/disks
await server.linode.instances(1).disks.list(1) /linode/instances/{linodeId}/disks
await server.linode.instances(1).disks.list(1, 50) /linode/instances/{linodeId}/disks
await server.linode.instances(1).disks.list({} as Filter) /linode/instances/{linodeId}/disks
await server.linode.instances(1).disks.list(2, {} as Filter) /linode/instances/{linodeId}/disks
await server.linode.instances(1).disks.list(2, 5, {} as Filter) /linode/instances/{linodeId}/disks
await server.linode.instances(1).disks.create({} as DiskRequest) /linode/instances/{linodeId}/disks
await server.linode.instances(1).disks(1).get() /linode/instances/{linodeId}/disks/{diskId}
await server.linode.instances(1).disks(1).update({} as Disk) /linode/instances/{linodeId}/disks/{diskId}
await server.linode.instances(1).disks(1).delete() /linode/instances/{linodeId}/disks/{diskId}
await server.linode.instances(1).disks(1).clone() /linode/instances/{linodeId}/disks/{diskId}
await server.linode.instances(1).disks(1).password({} as any) /linode/instances/{linodeId}/disks/{diskId}
await server.linode.instances(1).disks(1).resize({} as any) /linode/instances/{linodeId}/disks/{diskId}
await server.linode.instances(1).ips.get() /linode/instances/{linodeId}/ips
await server.linode.instances(1).ips.create({} as any) /linode/instances/{linodeId}/ips
await server.linode.instances(1).ips('address').get() /linode/instances/{linodeId}/ips/{address}
await server.linode.instances(1).ips('address').update({} as any) /linode/instances/{linodeId}/ips/{address}
await server.linode.instances(1).ips('address').delete() /linode/instances/{linodeId}/ips/{address}
await server.linode.instances(1).stats.get() /linode/instances/{linodeId}/stats
await server.linode.instances(1).stats.stats(1, 1) /linode/instances/{linodeId}/stats
await server.linode.instances(1).volumes.list() /linode/instances/{linodeId}/volumes
await server.linode.instances(1).volumes.list(1) /linode/instances/{linodeId}/volumes
await server.linode.instances(1).volumes.list(1, 50) /linode/instances/{linodeId}/volumes
await server.linode.instances(1).volumes.list({} as Filter) /linode/instances/{linodeId}/volumes
await server.linode.instances(1).volumes.list(2, {} as Filter) /linode/instances/{linodeId}/volumes
await server.linode.instances(1).volumes.list(2, 5, {} as Filter) /linode/instances/{linodeId}/volumes
await server.linode.kernels.list() /linode/kernels
await server.linode.kernels.list(1) /linode/kernels
await server.linode.kernels.list(1, 50) /linode/kernels
await server.linode.kernels.list({} as Filter) /linode/kernels
await server.linode.kernels.list(2, {} as Filter) /linode/kernels
await server.linode.kernels.list(2, 5, {} as Filter) /linode/kernels
await server.linode.kernels('kernelId').get() /linode/kernels/{kernelId}
await server.linode.stackscripts.list() /linode/stackscripts
await server.linode.stackscripts.list(1) /linode/stackscripts
await server.linode.stackscripts.list(1, 50) /linode/stackscripts
await server.linode.stackscripts.list({} as Filter) /linode/stackscripts
await server.linode.stackscripts.list(2, {} as Filter) /linode/stackscripts
await server.linode.stackscripts.list(2, 5, {} as Filter) /linode/stackscripts
await server.linode.stackscripts.create({} as any) /linode/stackscripts
await server.linode.stackscripts('stackscriptId').get() /linode/stackscripts/{stackscriptId}
await server.linode.stackscripts('stackscriptId').update({} as StackScript) /linode/stackscripts/{stackscriptId}
await server.linode.stackscripts('stackscriptId').delete() /linode/stackscripts/{stackscriptId}
await server.linode.types.list() /linode/types
await server.linode.types.list(1) /linode/types
await server.linode.types.list(1, 50) /linode/types
await server.linode.types.list({} as Filter) /linode/types
await server.linode.types.list(2, {} as Filter) /linode/types
await server.linode.types.list(2, 5, {} as Filter) /linode/types
await server.linode.types('typeId').get() /linode/types/{typeId}
### longview
Command Reference
--- ---
await server.longview.clients.list() /longview/clients
await server.longview.clients.list(1) /longview/clients
await server.longview.clients.list(1, 50) /longview/clients
await server.longview.clients.list({} as Filter) /longview/clients
await server.longview.clients.list(2, {} as Filter) /longview/clients
await server.longview.clients.list(2, 5, {} as Filter) /longview/clients
await server.longview.clients.create({} as LongviewClient) /longview/clients
await server.longview.clients(1).get() /longview/clients/{clientId}
await server.longview.clients(1).update({} as LongviewClient) /longview/clients/{clientId}
await server.longview.clients(1).delete() /longview/clients/{clientId}
await server.longview.subscriptions.list() /longview/subscriptions
await server.longview.subscriptions.list(1) /longview/subscriptions
await server.longview.subscriptions.list(1, 50) /longview/subscriptions
await server.longview.subscriptions('subscriptionId').get() /longview/subscriptions/{subscriptionId}
### managed
Command Reference
--- ---
await server.managed.contacts.list() /managed/contacts
await server.managed.contacts.list(1) /managed/contacts
await server.managed.contacts.list(1, 50) /managed/contacts
await server.managed.contacts.list({} as Filter) /managed/contacts
await server.managed.contacts.list(2, {} as Filter) /managed/contacts
await server.managed.contacts.list(2, 5, {} as Filter) /managed/contacts
await server.managed.contacts.create({} as ManagedContact) /managed/contacts
await server.managed.contacts(1).get() /managed/contacts/{contactId}
await server.managed.contacts(1).update({} as ManagedContact) /managed/contacts/{contactId}
await server.managed.contacts(1).delete() /managed/contacts/{contactId}
await server.managed.credentials.list() /managed/credentials
await server.managed.credentials.list(1) /managed/credentials
await server.managed.credentials.list(1, 50) /managed/credentials
await server.managed.credentials.create({} as any) /managed/credentials
await server.managed.credentials(1).get() /managed/credentials/{credentialId}
await server.managed.credentials(1).update({} as ManagedCredential) /managed/credentials/{credentialId}
await server.managed.credentials(1).revoke() /managed/credentials/{credentialId}
await server.managed.issues.list() /managed/issues
await server.managed.issues.list(1) /managed/issues
await server.managed.issues.list(1, 50) /managed/issues
await server.managed.issues(1).get() /managed/issues/{issueId}
await server.managed.linodeSettings.list() /managed/linode-settings
await server.managed.linodeSettings.list(1) /managed/linode-settings
await server.managed.linodeSettings.list(1, 50) /managed/linode-settings
await server.managed.linodeSettings(1).get() /managed/linode-settings/{linodeId}
await server.managed.linodeSettings(1).update({} as ManagedLinodeSettings) /managed/linode-settings/{linodeId}
await server.managed.services.list() /managed/services
await server.managed.services.list(1) /managed/services
await server.managed.services.list(1, 50) /managed/services
await server.managed.services.create({} as any) /managed/services
await server.managed.services(1).get() /managed/services/{serviceId}
await server.managed.services(1).update({} as ManagedService) /managed/services/{serviceId}
await server.managed.services(1).delete() /managed/services/{serviceId}
await server.managed.services(1).disable() /managed/services/{serviceId}
await server.managed.services(1).enable() /managed/services/{serviceId}
### networking
Command Reference
--- ---
await server.networking.ips.list() /networking/ips
await server.networking.ips.list(1) /networking/ips
await server.networking.ips.list(1, 50) /networking/ips
await server.networking.ips.list({} as Filter) /networking/ips
await server.networking.ips.list(2, {} as Filter) /networking/ips
await server.networking.ips.list(2, 5, {} as Filter) /networking/ips
await server.networking.ips.create({} as any) /networking/ips
await server.networking.ips('address').get() /networking/ips/{address}
await server.networking.ips('address').update({} as IPAddress) /networking/ips/{address}
await server.networking.ipv4.assign({} as any) /networking/ipv4
await server.networking.ipv4.share({} as any) /networking/ipv4
await server.networking.ipv6.pools.list() /networking/ipv6/pools
await server.networking.ipv6.pools.list(1) /networking/ipv6/pools
await server.networking.ipv6.pools.list(1, 50) /networking/ipv6/pools
await server.networking.ipv6.ranges.list() /networking/ipv6/ranges
await server.networking.ipv6.ranges.list(1) /networking/ipv6/ranges
await server.networking.ipv6.ranges.list(1, 50) /networking/ipv6/ranges
### nodebalancers
Command Reference
--- ---
await server.nodebalancers.list() /nodebalancers
await server.nodebalancers.list(1) /nodebalancers
await server.nodebalancers.list(1, 50) /nodebalancers
await server.nodebalancers.list({} as Filter) /nodebalancers
await server.nodebalancers.list(2, {} as Filter) /nodebalancers
await server.nodebalancers.list(2, 5, {} as Filter) /nodebalancers
await server.nodebalancers.create({} as any) /nodebalancers
await server.nodebalancers(1).get() /nodebalancers/{nodeBalancerId}
await server.nodebalancers(1).update({} as NodeBalancer) /nodebalancers/{nodeBalancerId}
await server.nodebalancers(1).delete() /nodebalancers/{nodeBalancerId}
await server.nodebalancers(1).stats() /nodebalancers/{nodeBalancerId}
await server.nodebalancers(1).configs.list() /nodebalancers/{nodeBalancerId}/configs
await server.nodebalancers(1).configs.list(1) /nodebalancers/{nodeBalancerId}/configs
await server.nodebalancers(1).configs.list(1, 50) /nodebalancers/{nodeBalancerId}/configs
await server.nodebalancers(1).configs.create({} as NodeBalancerConfig) /nodebalancers/{nodeBalancerId}/configs
await server.nodebalancers(1).configs(1).get() /nodebalancers/{nodeBalancerId}/configs/{configId}
await server.nodebalancers(1).configs(1).update({} as NodeBalancerConfig) /nodebalancers/{nodeBalancerId}/configs/{configId}
await server.nodebalancers(1).configs(1).delete() /nodebalancers/{nodeBalancerId}/configs/{configId}
await server.nodebalancers(1).configs(1).rebuild({} as any) /nodebalancers/{nodeBalancerId}/configs/{configId}
await server.nodebalancers(1).configs(1).nodes.list() /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes
await server.nodebalancers(1).configs(1).nodes.list(1) /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes
await server.nodebalancers(1).configs(1).nodes.list(1, 50) /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes
await server.nodebalancers(1).configs(1).nodes.create({} as any) /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes
await server.nodebalancers(1).configs(1).nodes(1).get() /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}
await server.nodebalancers(1).configs(1).nodes(1).update({} as NodeBalancerNode) /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}
await server.nodebalancers(1).configs(1).nodes(1).delete() /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}
### profile
Command Reference
--- ---
await server.profile.get() /profile
await server.profile.update({} as Profile) /profile
await server.profile.grants() /profile
await server.profile.tfaDisable() /profile
await server.profile.tfaEnable() /profile
await server.profile.tfaEnableConfirm({} as any) /profile
await server.profile.apps.list() /profile/apps
await server.profile.apps.list(1) /profile/apps
await server.profile.apps.list(1, 50) /profile/apps
await server.profile.apps.list({} as Filter) /profile/apps
await server.profile.apps.list(2, {} as Filter) /profile/apps
await server.profile.apps.list(2, 5, {} as Filter) /profile/apps
await server.profile.apps(1).get() /profile/apps/{appId}
await server.profile.apps(1).delete() /profile/apps/{appId}
await server.profile.tokens.list() /profile/tokens
await server.profile.tokens.list(1) /profile/tokens
await server.profile.tokens.list(1, 50) /profile/tokens
await server.profile.tokens.list({} as Filter) /profile/tokens
await server.profile.tokens.list(2, {} as Filter) /profile/tokens
await server.profile.tokens.list(2, 5, {} as Filter) /profile/tokens
await server.profile.tokens.create({} as any) /profile/tokens
await server.profile.tokens(1).get() /profile/tokens/{tokenId}
await server.profile.tokens(1).update({} as PersonalAccessToken) /profile/tokens/{tokenId}
await server.profile.tokens(1).delete() /profile/tokens/{tokenId}
await server.profile.devices.list() /profile/devices
await server.profile.devices.list(1) /profile/devices
await server.profile.devices.list(1, 50) /profile/devices
await server.profile.devices(1).get() /profile/devices/{deviceId}
await server.profile.devices(1).delete() /profile/devices/{deviceId}
await server.profile.sshkeys.list() /profile/sshkeys
await server.profile.sshkeys.list(1) /profile/sshkeys
await server.profile.sshkeys.list(1, 50) /profile/sshkeys
await server.profile.sshkeys.create({} as SSHKeyRequest) /profile/sshkeys
await server.profile.sshkeys(1).get() /profile/sshkeys/{sshKeyId}
await server.profile.sshkeys(1).update({} as SSHKey) /profile/sshkeys/{sshKeyId}
await server.profile.sshkeys(1).delete() /profile/sshkeys/{sshKeyId}
### regions
Command Reference
--- ---
await server.regions.list() /regions
await server.regions.list(1) /regions
await server.regions.list(1, 50) /regions
await server.regions('regionId').get() /regions/{regionId}
### support
Command Reference
--- ---
await server.support.tickets.list() /support/tickets
await server.support.tickets.list(1) /support/tickets
await server.support.tickets.list(1, 50) /support/tickets
await server.support.tickets.list({} as Filter) /support/tickets
await server.support.tickets.list(2, {} as Filter) /support/tickets
await server.support.tickets.list(2, 5, {} as Filter) /support/tickets
await server.support.tickets.create({} as SupportTicketRequest) /support/tickets
await server.support.tickets(1).get() /support/tickets/{ticketId}
await server.support.tickets(1).attachments() /support/tickets/{ticketId}
await server.support.tickets(1).close() /support/tickets/{ticketId}
await server.support.tickets(1).replies.list() /support/tickets/{ticketId}/replies
await server.support.tickets(1).replies.list(1) /support/tickets/{ticketId}/replies
await server.support.tickets(1).replies.list(1, 50) /support/tickets/{ticketId}/replies
await server.support.tickets(1).replies.create({} as any) /support/tickets/{ticketId}/replies
### tags
Command Reference
--- ---
await server.tags.list() /tags
await server.tags.list(1) /tags
await server.tags.list(1, 50) /tags
await server.tags.create({} as any) /tags
await server.tags('label').get() /tags/{label}
await server.tags('label').delete() /tags/{label}
### volumes
Command Reference
--- ---
await server.volumes.list() /volumes
await server.volumes.list(1) /volumes
await server.volumes.list(1, 50) /volumes
await server.volumes.list({} as Filter) /volumes
await server.volumes.list(2, {} as Filter) /volumes
await server.volumes.list(2, 5, {} as Filter) /volumes
await server.volumes.create({} as any) /volumes
await server.volumes(1).get() /volumes/{volumeId}
await server.volumes(1).update({} as any) /volumes/{volumeId}
await server.volumes(1).delete() /volumes/{volumeId}
await server.volumes(1).attach({} as any) /volumes/{volumeId}
await server.volumes(1).clone({} as any) /volumes/{volumeId}
await server.volumes(1).detach() /volumes/{volumeId}
await server.volumes(1).resize({} as any) /volumes/{volumeId}