Linode Instances
Linode Clone
https://api.linode.com/v4/linode/instances/{linodeId}/clone
You can clone your Linode's existing Disks or Configuration profiles to
another Linode on your Account. In order for this request to complete
successfully, your User must have the add_linodes
grant. Cloning to a
new Linode will incur a charge on your Account.
If cloning to an existing Linode, any actions currently running or queued must be completed first before you can clone to it.
Up to five clone operations from any given source Linode can be run concurrently. If more concurrent clones are attempted, an HTTP 400 error will be returned by this endpoint.
Any tags existing on the source Linode will be cloned to the target Linode.
Linodes utilizing Metadata ("has_user_data": true
) must be cloned to a new Linode with metadata.user_data
included with the clone request.
Path Parameters
ID of the Linode to clone.
Request Body Schema
If this field is set to true
, the created Linode will
automatically be enrolled in the Linode Backup service. This
will incur an additional charge. Pricing is included in the
response from
/linodes/types.
- Can only be included when cloning to a new Linode.
An array of configuration profile IDs.
- If the
configs
parameter is not provided, then all configuration profiles and their associated disks will be cloned from the source Linode. Any disks specified by thedisks
parameter will also be cloned. - If an empty array is provided for the
configs
parameter, then no configuration profiles (nor their associated disks) will be cloned from the source Linode. Any disks specified by thedisks
parameter will still be cloned. - If a non-empty array is provided for the
configs
parameter, then the configuration profiles specified in the array (and their associated disks) will be cloned from the source Linode. Any disks specified by thedisks
parameter will also be cloned.
An array of disk IDs.
- If the
disks
parameter is not provided, then no extra disks will be cloned from the source Linode. All disks associated with the configuration profiles specified by theconfigs
parameter will still be cloned. - If an empty array is provided for the
disks
parameter, then no extra disks will be cloned from the source Linode. All disks associated with the configuration profiles specified by theconfigs
parameter will still be cloned. - If a non-empty array is provided for the
disks
parameter, then the disks specified in the array will be cloned from the source Linode, in addition to any disks associated with the configuration profiles specified by theconfigs
parameter.
A label used to group Linodes for display. Linodes are not required to have a group.
The label to assign this Linode when cloning to a new Linode.
- Can only be provided when cloning to a new Linode.
- Defaults to "linode".
If an existing Linode is the target for the clone, the ID of that Linode. The existing Linode must have enough resources to accept the clone.
An object containing user-defined data relevant to the creation of Linodes.
Base64-encoded cloud-config data.
Cannot be modified after provisioning. To update, use either the Linode Clone or Linode Rebuild commands.
Must not be included when cloning to an existing Linode.
Unencoded data must not exceed 65535 bytes, or about 16kb encoded.
If true, the created Linode will have private networking enabled and assigned a private IPv4 address.
- Can only be provided when cloning to a new Linode.
This is the Region where the Linode will be deployed. To view all available Regions you can deploy to see /regions.
- Region can only be provided and is required when cloning to a new Linode.
A Linode's Type determines what resources are available to
it, including disk space, memory, and virtual cpus. The
amounts available to a specific Linode are returned as
specs
on the Linode object.
To view all available Linode Types you can deploy with see /linode/types.
- Type can only be provided and is required when cloning to a new Linode.
Request Samples
- Shell
- CLI
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"region": "us-east",
"type": "g6-standard-2",
"linode_id": 124,
"label": "cloned-linode",
"group": "Linode-Group",
"backups_enabled": true,
"disks": [25674],
"configs": [23456],
"private_ip": true,
"metadata": {
"user_data": "I2Nsb3VkLWNvbmZpZw=="
}
}' \
https://api.linode.com/v4/linode/instances/123/clone
Response Samples
- 200
- default
{
"status": "running",
"created": "2018-01-01T00:01:01",
"updated": "2018-01-01T00:01:01",
"id": 1234,
"label": "linode123",
"type": "g6-standard-1",
"region": "us-east",
"group": "Linode-Group",
"tags": [],
"image": "linode/debian10",
"hypervisor": "kvm",
"ipv4": [],
"ipv6": "c001:d00d::1337/128",
"specs": {
"disk": 81920,
"memory": 4096,
"vcpus": 2,
"gpus": 0,
"transfer": 4000
},
"alerts": {
"cpu": 180,
"network_in": 10,
"network_out": 10,
"transfer_quota": 80,
"io": 10000
},
"backups": {
"enabled": true,
"available": true,
"schedule": {
"day": "Saturday",
"window": "W22"
},
"last_successful": "2018-01-01T00:01:01"
},
"watchdog_enabled": true,
"host_uuid": "3a3ddd59d9a78bb8de041391075df44de62bfec8",
"has_user_data": true
}
Responses
200: Clone started.
A brief description of this Linode's current state. This field may change without direct action from you. For example, when a Linode goes into maintenance mode its status will display "stopped".
When this Linode was created.
When this Linode was last updated.
This Linode's ID which must be provided for all operations impacting this Linode.
The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
Linode labels have the following constraints:
- Must begin and end with an alphanumeric character.
- May only consist of alphanumeric characters, dashes (
-
), underscores (_
) or periods (.
). - Cannot have two dashes (
--
), underscores (__
) or periods (..
) in a row.
This is the Linode Type that this Linode was deployed with. To change a Linode's Type, use POST /linode/instances/{linodeId}/resize.
This is the Region where the Linode was deployed. A Linode's region can only be changed by initiating a cross data center migration.
A deprecated property denoting a group label for this Linode.
An array of tags applied to this object. Tags are for organizational purposes only.
The virtualization software powering this Linode.
This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
IPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. See the /networking endpoints for details.
This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not be shared. If the Linode has not been assigned an IPv6 address, the return value will be null
.
Information about the resources available to this Linode.
The amount of storage space, in MB, this Linode has access to. A typical Linode will divide this space between a primary disk with an image
deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an image
through POST /linode/instances. While this configuration is suitable for 99% of use cases, if you need finer control over your Linode's disks, see the /linode/instances/{linodeId}/disks endpoints.
The amount of RAM, in MB, this Linode has access to.
Typically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the /linode/instances/{linodeId}/configs endpoints and the LinodeConfig object for more information.
The number of vcpus this Linode has access to.
The number of gpus this Linode has access to.
The amount of network transfer this Linode is allotted each month.
The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. Your Linode's total CPU capacity is represented as 100%, multiplied by its number of cores.
For example, a two core Linode's CPU capacity is represented as 200%. If you want
to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to 180
.
The default value is 90% multiplied by the number of cores.
If the value is set to 0
(zero), the alert is disabled.
The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0
(zero), the alert is disabled.
The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0
(zero), the alert is disabled.
The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0
(zero), the alert is disabled.
The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0
(zero), this alert is disabled.
Information about this Linode's backups status. For information about available backups, see /linode/instances/{linodeId}/backups.
If this Linode has the Backup service enabled. To enable backups, see POST /linode/instances/{linodeId}/backups/enable.
Whether Backups for this Linode are available for restoration.
Backups undergoing maintenance are not available for restoration.
The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period.
If not set manually, then when backups are initially enabled, this
may come back as Scheduling
until the day
is automatically selected.
The window in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur.
For example, W10
indicates that your backups should be
taken between 10:00 and 12:00. If you do not choose a backup
window, one will be selected for you automatically.
If not set manually, when backups are initially enabled this
may come back as Scheduling
until the window
is automatically selected.
The last successful backup date. 'null' if there was no previous backup.
The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
The Linode's host machine, as a UUID.
Whether this compute instance was provisioned utilizing user_data
provided via the Metadata service. See the Linode Create description for more information on Metadata.
default: Error
What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.
The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.