@akamai/openapi-ts
    Preparing search index...

    Type Alias PostLinodeInstanceData

    type PostLinodeInstanceData = {
        body: {
            authorized_keys?: string[];
            authorized_users?: string[];
            booted?: boolean;
            disk_encryption?: "enabled" | "disabled";
            image?: string | null;
            maintenance_policy?: "linode/migrate" | "linode/power_off_on";
            metadata?: { user_data?: string };
            root_pass?: string;
            stackscript_data?: { [key: string]: unknown };
            stackscript_id?: number;
        } & {
            backup_id?: number;
            backups_enabled?: boolean;
            firewall_id?: number;
            group?: string;
            interface_generation?: "legacy_config"
            | "linode";
            interfaces?: (
                | {
                    default_route?: { ipv4?: boolean
                    | null; ipv6?: boolean | null };
                    firewall_id?: number | null;
                    public?:
                        | {
                            ipv4?: { addresses?: { address?: ...; primary?: ... }[] };
                            ipv6?: { ranges?: { range: ... }[] };
                        }
                        | null;
                }
                | { vlan?: { ipam_address?: string; vlan_label?: string }
                | null }
                | {
                    default_route?: { ipv4?: boolean | null };
                    firewall_id?: number | null;
                    vpc?:
                        | {
                            ipv4?: {
                                addresses?: {
                                    address?: ...;
                                    nat_1_1_address?: ...;
                                    primary?: ...;
                                }[];
                                ranges?: { range: ... }[];
                            };
                            subnet_id: number;
                        }
                        | null;
                }
                | {
                    active?: boolean;
                    id?: number;
                    ip_ranges?: string[]
                    | null;
                    ipam_address?: string | null;
                    ipv4?: { nat_1_1?: string | "any" | null; vpc?: string | null };
                    label?: string | null;
                    primary?: boolean;
                    purpose: "public" | "vlan" | "vpc";
                    subnet_id?: number | null;
                    vpc_id?: number | null;
                }
            )[];
            label?: string;
            network_helper?: boolean
            | null;
            placement_group?: { id?: number };
            private_ip?: boolean;
            region: string;
            swap_size?: number;
            tags?: string[];
            type: string;
        };
        path?: never;
        query?: never;
        url: "linode/instances";
    }
    Index

    Properties

    Properties

    body: {
        authorized_keys?: string[];
        authorized_users?: string[];
        booted?: boolean;
        disk_encryption?: "enabled" | "disabled";
        image?: string | null;
        maintenance_policy?: "linode/migrate" | "linode/power_off_on";
        metadata?: { user_data?: string };
        root_pass?: string;
        stackscript_data?: { [key: string]: unknown };
        stackscript_id?: number;
    } & {
        backup_id?: number;
        backups_enabled?: boolean;
        firewall_id?: number;
        group?: string;
        interface_generation?: "legacy_config"
        | "linode";
        interfaces?: (
            | {
                default_route?: { ipv4?: boolean
                | null; ipv6?: boolean | null };
                firewall_id?: number | null;
                public?:
                    | {
                        ipv4?: { addresses?: { address?: ...; primary?: ... }[] };
                        ipv6?: { ranges?: { range: ... }[] };
                    }
                    | null;
            }
            | { vlan?: { ipam_address?: string; vlan_label?: string }
            | null }
            | {
                default_route?: { ipv4?: boolean | null };
                firewall_id?: number | null;
                vpc?:
                    | {
                        ipv4?: {
                            addresses?: { address?: ...; nat_1_1_address?: ...; primary?: ... }[];
                            ranges?: { range: ... }[];
                        };
                        subnet_id: number;
                    }
                    | null;
            }
            | {
                active?: boolean;
                id?: number;
                ip_ranges?: string[]
                | null;
                ipam_address?: string | null;
                ipv4?: { nat_1_1?: string | "any" | null; vpc?: string | null };
                label?: string | null;
                primary?: boolean;
                purpose: "public" | "vlan" | "vpc";
                subnet_id?: number | null;
                vpc_id?: number | null;
            }
        )[];
        label?: string;
        network_helper?: boolean
        | null;
        placement_group?: { id?: number };
        private_ip?: boolean;
        region: string;
        swap_size?: number;
        tags?: string[];
        type: string;
    }

    The requested initial state of a new Linode.

    Type Declaration

    • Optionalauthorized_keys?: string[]

      Write-only A list of public SSH keys that will be automatically appended to the root user's ~/.ssh/authorized_keys file when deploying from an Image.

    • Optionalauthorized_users?: string[]

      Write-only A list of usernames for authorized users. Before you can add a user, it needs an SSH key assigned to its profile. See Add an SSH key for more information. If the usernames already have associated SSH keys, the keys will be appended to the root users ~/.ssh/authorized_keys file automatically when deploying from an image.

    • Optionalbooted?: boolean

      Write-only This field defaults to true if the Linode is created with an Image or from a Backup. If it is deployed from an Image or a Backup and you wish it to remain offline after deployment, set this to false.

    • Optionaldisk_encryption?: "enabled" | "disabled"

      Local disk encryption ensures that your data stored on Linodes is secured. Disk encryption protects against unauthorized data access by keeping the data encrypted if the disk is ever removed from the data center, decommissioned, or disposed of. The platform manages the encryption and decryption for you.

      By default, encryption is enabled on all Linodes. If you opted out of encryption or if the Linode was created prior to local disk encryption support, you can encrypt your data using Rebuild.

    • Optionalimage?: string | null

      An Image ID to deploy the Linode Disk from.

      Run the List images operation with authentication to view all available Images. Official Linode Images start with linode/, while your Account's Images start with private/. Creating a disk from a Private Image requires read_only or read_write permissions for that Image. Run the Update a user's grants operation to adjust permissions for an Account Image.

    • Optionalmaintenance_policy?: "linode/migrate" | "linode/power_off_on"

      Beta Defines the maintenance policy for this Linode. Choose from the following policies:

      • linode/migrate: Migrates the Linode to a new host while it remains fully operational (with some performance degradation). Recommended for maximizing availability.
      • linode/power_off_on: Powers off the Linode at the start of the maintenance event and reboots it once the maintenance finishes. Recommended for maximizing performance.

      Review maintenance policy documentation for more details.

    • Optionalmetadata?: { user_data?: string }

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

      • Optionaluser_data?: string

        Base64-encoded cloud-config data.

        Cannot be modified after provisioning. To update, use either the Clone a Linode or Rebuild a Linode operations.

        Must not be included when cloning to an existing Linode.

        Unencoded data must not exceed 65535 bytes, or about 16kb encoded.

    • Optionalroot_pass?: string

      Write-only This sets the root user's password on a newly created Linode Disk when deploying from an Image.

      • Required when creating a Linode Disk from an Image, including when using a StackScript.

      • Must meet a password strength score requirement that is calculated internally by the API. If the strength requirement is not met, you will receive a Password does not meet strength requirement error.

    • Optionalstackscript_data?: { [key: string]: unknown }

      This field is required only if the StackScript being deployed requires input data from the User for successful completion. See User Defined Fields (UDFs) for more details.

      This field is required to be valid JSON.

      Total length cannot exceed 65,535 characters.

    • Optionalstackscript_id?: number

      A StackScript ID that will cause the referenced StackScript to be run during deployment of this Linode. A compatible image is required to use a StackScript. To get a list of available StackScript and their permitted Images, run List StackScripts. This field cannot be used when deploying from a Backup or a Private Image.

    • Optionalbackup_id?: number

      A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. Run List backups for a Linode's available backups.

      This field and the image field are mutually exclusive.

    • Optionalbackups_enabled?: boolean

      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. The cost for the Backup service is dependent on the Type of Linode deployed.

      This option is always treated as true if the account-wide backups_enabled setting is true. See Get account settings for more information.

      Backup pricing is included in the response from List types

    • Optionalfirewall_id?: number

      The id of the Firewall to attach this Linode to upon creation. This firewall_id field is for Linodes using VLAN and legacy configuration interfaces only.

    • Optionalgroup?: string

      Deprecated, Filterable The group label for this Linode.

    • Optionalinterface_generation?: "legacy_config" | "linode"

      Beta Specifies the interface type for the Linode. The value can be either legacy_config or linode. The default value is determined by the interfaces_for_new_linodes setting in the account settings. If the interface_generation option is set to linode, legacy configuration interfaces can no longer be used on the Linode.

      • If interfaces_for_new_linodes is set to linode_only, set interface_generation to linode or omit it for Linode interfaces.
      • If interfaces_for_new_linodes is set to legacy_config_only, set interface_generation to legacy_config or omit it for legacy configuration interfaces.
      • If interfaces_for_new_linodes is set to linode_default_but_legacy_config_allowed, set interface_generation to linode or omit it for Linode interfaces, and to legacy_config if the Linode uses legacy configuration interfaces.
      • If interfaces_for_new_linodes is set to legacy_config_default_but_linode_allowed, set interface_generation to legacy_config or omit it for legacy configuration interfaces, and to linode if the Linode uses Linode interfaces.
    • Optionalinterfaces?: (
          | {
              default_route?: { ipv4?: boolean
              | null; ipv6?: boolean | null };
              firewall_id?: number | null;
              public?:
                  | {
                      ipv4?: { addresses?: { address?: ...; primary?: ... }[] };
                      ipv6?: { ranges?: { range: ... }[] };
                  }
                  | null;
          }
          | { vlan?: { ipam_address?: string; vlan_label?: string }
          | null }
          | {
              default_route?: { ipv4?: boolean | null };
              firewall_id?: number | null;
              vpc?:
                  | {
                      ipv4?: {
                          addresses?: { address?: ...; nat_1_1_address?: ...; primary?: ... }[];
                          ranges?: { range: ... }[];
                      };
                      subnet_id: number;
                  }
                  | null;
          }
          | {
              active?: boolean;
              id?: number;
              ip_ranges?: string[]
              | null;
              ipam_address?: string | null;
              ipv4?: { nat_1_1?: string | "any" | null; vpc?: string | null };
              label?: string | null;
              primary?: boolean;
              purpose: "public" | "vlan" | "vpc";
              subnet_id?: number | null;
              vpc_id?: number | null;
          }
      )[]

      Interfaces for the Linode. This can be a Linode interface or legacy configuration interface.

    • Optionallabel?: string

      Filterable Provides a name for the Linode. If not provided, the API generates one for it.

      Linode labels have the following constraints:

      • It needs to begin and end with an alphanumeric character.
      • It can only consist of alphanumeric characters, hyphens (-), underscores (_) or periods (.).
      • Cannot have two hyphens (--), underscores (__) or periods (..) in a row.
    • Optionalnetwork_helper?: boolean | null

      Enables the Network Helper feature. The default value is determined by the network_helper setting in the account settings. This network_helper field is for Linodes using Linode interfaces only.

    • Optionalplacement_group?: { id?: number }

      Include this to assign this Linode to an existing placement group. These constraints apply:

      • 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.
      • Optionalid?: number

        The placement group's ID. You need to provide it for all operations that affect it.

    • Optionalprivate_ip?: boolean

      If true, the created Linode will have private networking enabled and assigned a private IPv4 address.

    • region: string

      The region where the Linode will be located.

    • Optionalswap_size?: number

      When deploying from an Image, this field is optional, otherwise it is ignored. This is used to set the swap disk size for the newly created Linode.

    • Optionaltags?: string[]

      Filterable Tags to help you organize your content.

    • type: string

      The Linode type of the Linode you are creating.

    path?: never
    query?: never
    url: "linode/instances"