Clone a Linode

Clone your Linode's existing disks, configuration profiles, and interfaces to another Linode on your account. Consider these points before cloning a Linode:

  • Cloning to a new Linode incurs a charge on your account.

  • If cloning to an existing Linode, any actions currently running or queued need to finish before you can clone to it.

  • You can run up to five concurrent clone operations, from a single Linode. If you exceed this limit, you'll receive an HTTP 400 error.

  • For Linodes using Linode interfaces, the region where you want the clone to live also needs to support Linode interfaces. You can run the GET a region operation to see what's supported. Your user's account settings also need ot be set to allow creation of Linodes with Linode interfaces.

  • Any tags you have set on your source Linode will be cloned to the target Linode.

  • If your source Linode is protected with a resource lock, the lock is not included on the clone. You'll need to add a new resource lock if you want to protect the clone.

  • If the target Linode uses Metadata, with has_user_data set to true, you need to create the clone with metadata.user_data in the request.

  • If the target Linode has a vpc interface on its active legacy configuration profile, and it includes a 1:1 NAT, the resulting clone is configured with an any 1:1 NAT. See the VPC documentation guide for its specifications and limitations.

  • Only next generation network (NGN) data centers (regions) support VLANs. If a VLAN is attached to your Linode and you try to clone it to a non-NGN region, the clone won't start. If a Linode can't be cloned because of an incompatibility, you're prompted to select a different region or contact support. See the VLANs Overview guide for more specifications and limitations.

  • Alerts settings for a Linode are not carried through to the clone. This applies to both Akamai Cloud Pulse (ACLP) and legacy alerts formats. See Clone a Linode and alerts for more information.

Permissions and scopes

To call this operation, you need the following:

  • Identity and access permissions. Your user needs a role with these permissions assigned. Learn more.

    • Permissions: clone_linode
  • OAuth scopes. Your user needs these scopes assigned. Learn more.

    • Scopes: linodes:read_write

CLI

linode-cli linodes clone 123 \
  --linode_id 124 \
  --region us-east \
  --type g6-standard-2 \
  --label cloned-linode \
  --backups_enabled true \
  --placement_group.id 528 \
  --disks 25674 \
  --configs 23456 \
  --private_ip true \
  --metadata.user_data I2Nsb3VkLWNvbmZpZw==

Learn more

Path Params
string
enum
required

Enum Call either the v4 URL, or v4beta for operations still in Beta.

Allowed:
integer
required

ID of the Linode to clone.

Body Params
alerts
object

Include this to configure Akamai Cloud Pulse (ACLP) format alerts for the cloned Linode. ACLP offers more granular control of your alerts, allowing you to define custom alerts or use system-generated ones. If you leave this out of the request, legacy alerts format will be applied on the clone. This format automatically applies several pre-defined alerts, with default settings to the cloned Linode.

📘

  • Alerts settings for a Linode are not carried through to the clone. This applies to both Akamai Cloud Pulse (ACLP) and legacy alerts formats. See Clone a Linode and alerts for more information.

  • If you include this and enable ACLP alerts format on the clone, you can't revert to legacy alerts format.

boolean

Set to true, the clone will automatically be enrolled in the Linode Backup service. This incurs an additional charge. Run the List types operation to see pricing information for this service.

  • Can only be included when cloning to a new Linode.
configs
array of integers

The unique identifiers for specific configuration profiles to be cloned from the source Linode. Run the List configuration profiles, based on the linodeId for the source of the clone, and store the id values for relevant configuration profiles. Consider these points:

  • If you name a specific configuration profile, its assigned disks are also included in the clone.

  • If you leave this out of the request, all configuration profiles and their associated disks will be cloned from the source Linode.

  • If you set this to an empty array, no configuration profiles (nor their associated disks) will be cloned from the source Linode.

  • Any disks specified by the disks array will also be cloned.

configs
disks
array of integers

Include this to target specific disks to be cloned, based on their unique identifier. Run the List disks, based on the linodeId for the source of the clone, and store the id values for relevant disks. Consider these points:

  • Disks named here are cloned in addition to any disks assigned to configuration profiles set in configs.

  • If you leave this out of the request or set it as an empty array, no extra disks will be cloned from the source Linode. Only the disks assigned to the specified configs will be cloned.

disks
string
deprecated

Deprecated A label used to group Linodes for display. Linodes are not required to have a group.

string
length between 3 and 64

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.
integer

The unique identifier for an existing Linode that will house the cloned configuration profiles, disks, and interfaces. The existing Linode needs to have enough resources to accept the clone. Leave this out if you want to clone to a new Linode.

string
enum

The maintenance policy you want applied to the clone. This can be one of two policies:

  • linode/migrate. This migrates the Linode to a new host while it remains fully operational, but with some performance degradation. This focuses on maximizing availability.

  • linode/power_off_on. This powers off the Linode at the start of the maintenance event and reboots it once the maintenance finishes. This focuses on maximizing performance.

Review the maintenance policy documentation for more details.

Allowed:
metadata
object

Write-only An object containing user-defined data relevant to the creation of Linodes.

placement_group
object

Include this to assign the cloned Linode to an existing placement group. Consider these points:

  • If the Linode you're cloning exists in a placement group, the API won't automatically add the cloned instance to the same placement group. You need to specify a placement group to add the clone to.

  • The target placement group needs to be in the same region set for this Linode.

  • The placement group needs to have capacity. Run the Get a region operation and note either the maximum_linodes_per_pg (strict) or maximum_linodes_per_flexible_pg (flexible), based on your selected placement_group_policy. These represent the Linode limit per placement group, for each placement_group_policy type. You can then run the Get a placement group operation to review the Linodes in that group.

boolean

Set to true, the clone will have private networking enabled and it will be assigned a private IPv4 address. This only applies when you're cloning to a new Linode.

string

The slug value that represents the Akamai Cloud Computing data center (region) where the clone will be deployed. Run the List regions operation to view the regions that are available. This only applies when you're cloning to a new Linode.

string
required

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. Run the List types operation to view all Linode types available on your account.

Responses

Language
Credentials
LoadingLoading…
Response
Choose an example:
application/json