import * as API from "@distilled.cloud/core/api"; import * as S from "@distilled.cloud/core/schema-lite"; import type * as Redacted from "effect/Redacted"; import { type HetznerOpError, type HetznerOpContext } from "../protocol.ts"; export type { HetznerOpError, HetznerOpContext }; declare const ServerLimitExceeded_base: S.TaggedErrorClass<"ServerLimitExceeded", { readonly code: any; readonly message: any; }>; /** The project has no remaining Server quota (Hetzner `resource_limit_exceeded`, HTTP 403). Often a race after a delete -- retry. */ export declare class ServerLimitExceeded extends /*@__PURE__*/ ServerLimitExceeded_base { } declare const ServerPlacementError_base: S.TaggedErrorClass<"ServerPlacementError", { readonly code: any; readonly message: any; }>; /** The Server could not be placed (Hetzner `resource_unavailable` / `placement_error`, HTTP 412). Spread groups and location capacity recover -- retry. */ export declare class ServerPlacementError extends /*@__PURE__*/ ServerPlacementError_base { } export type CreateServerRequestSshKeysItem = number | string; /** SSH key IDs (`integer`) or names (`string`) which should be injected into the Server at creation time. */ export type CreateServerRequestSshKeysList = Array; /** Volume IDs which should be attached to the Server at the creation time. Volumes must be in the same Location. */ export type CreateServerRequestVolumesList = Array; /** Network IDs which should be attached to the Server private network interface at the creation time. */ export type CreateServerRequestNetworksList = Array; export interface CreateServerRequestFirewallsItem { /** ID of the Firewall. */ firewall: number; } /** Firewalls which should be applied on the Server's public network interface at creation time. */ export type CreateServerRequestFirewallsList = Array; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type CreateServerRequestLabelsMap = { [key: string]: string | undefined; }; /** Public Network options. */ export interface CreateServerRequestPublicNet { /** Attach an IPv4 on the public NIC. If false, no IPv4 address will be attached. */ enable_ipv4?: boolean; /** Attach an IPv6 on the public NIC. If false, no IPv6 address will be attached. */ enable_ipv6?: boolean; /** ID of the ipv4 Primary IP to use. If omitted and enable_ipv4 is true, a new ipv4 Primary IP will automatically be created. */ ipv4?: number | null; /** ID of the ipv6 Primary IP to use. If omitted and enable_ipv6 is true, a new ipv6 Primary IP will automatically be created. */ ipv6?: number | null; } export interface CreateServerRequest { /** Name of the Server to create (must be unique per Project and a valid hostname as per RFC 1123). */ name: string; /** ID or name of the Location to create the Server in. */ location?: string; /** ID or name of the Server type this Server should be created with. */ server_type: string; /** This automatically triggers a [Power on a Server-Server Action](#tag/server-actions/poweron_server) after the creation is finished and is returned in the `next_actions` response object. */ start_after_create?: boolean; /** ID or name of the Image the Server is created from. */ image: string; /** ID of the Placement Group the Server should be in. */ placement_group?: number; /** SSH key IDs (`integer`) or names (`string`) which should be injected into the Server at creation time. */ ssh_keys?: CreateServerRequestSshKeysList; /** Volume IDs which should be attached to the Server at the creation time. Volumes must be in the same Location. */ volumes?: CreateServerRequestVolumesList; /** Network IDs which should be attached to the Server private network interface at the creation time. */ networks?: CreateServerRequestNetworksList; /** Firewalls which should be applied on the Server's public network interface at creation time. */ firewalls?: CreateServerRequestFirewallsList; /** Cloud-Init user data to use during Server creation. This field is limited to 32KiB. */ user_data?: string; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels?: CreateServerRequestLabelsMap; /** Auto-mount Volumes after attach. */ automount?: boolean; /** Public Network options. */ public_net?: CreateServerRequestPublicNet; } /** Status of the Server. */ export type CreateServerResponseServerStatus = "running" | "initializing" | "starting" | "stopping" | "off" | "deleting" | "migrating" | "rebuilding" | "unknown"; /** IP address (v4) and its reverse DNS entry of this Server. */ export interface CreateServerResponseServerPublicNetIpv4 { /** ID of the [Primary IP](#tag/primary-ips). */ id?: number; /** IP address (v4) of this Server. */ ip: string; /** Whether the IP is blocked by our abuse department. */ blocked: boolean; /** Reverse DNS PTR entry for the IPv4 addresses of this Server. */ dns_ptr: string; } export interface CreateServerResponseServerPublicNetIpv6DnsPtrItem { /** Single IPv6 address of this Server for which the reverse DNS entry has been set up. */ ip: string; /** DNS pointer for the specific IP address. */ dns_ptr: string; } /** Reverse DNS PTR entries for the IPv6 addresses of this Server. */ export type CreateServerResponseServerPublicNetIpv6DnsPtrList = Array; /** IPv6 network assigned to this Server and its reverse DNS entry. */ export interface CreateServerResponseServerPublicNetIpv6 { /** ID of the [Primary IP](#tag/primary-ips). */ id?: number; /** IP address (v6) of this Server. */ ip: string; /** Whether the IP is blocked by our abuse department. */ blocked: boolean; /** Reverse DNS PTR entries for the IPv6 addresses of this Server. */ dns_ptr: CreateServerResponseServerPublicNetIpv6DnsPtrList | null; } /** IDs of Floating IPs assigned to this Server. */ export type CreateServerResponseServerPublicNetFloatingIpsList = Array; /** Status of the Firewall on the Server. */ export type CreateServerResponseServerPublicNetFirewallsItemStatus = "applied" | "pending"; export interface CreateServerResponseServerPublicNetFirewallsItem { /** ID of the [Firewall](#tag/firewalls). */ id?: number; /** Status of the Firewall on the Server. */ status?: CreateServerResponseServerPublicNetFirewallsItemStatus; } /** Firewalls applied to the public network interface of this Server. */ export type CreateServerResponseServerPublicNetFirewallsList = Array; /** Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`. */ export interface CreateServerResponseServerPublicNet { /** IP address (v4) and its reverse DNS entry of this Server. */ ipv4: CreateServerResponseServerPublicNetIpv4 | null; /** IPv6 network assigned to this Server and its reverse DNS entry. */ ipv6: CreateServerResponseServerPublicNetIpv6 | null; /** IDs of Floating IPs assigned to this Server. */ floating_ips: CreateServerResponseServerPublicNetFloatingIpsList; /** Firewalls applied to the public network interface of this Server. */ firewalls?: CreateServerResponseServerPublicNetFirewallsList; } /** Additional IP addresses of the server on the network. */ export type CreateServerResponseServerPrivateNetItemAliasIpsList = Array; export interface CreateServerResponseServerPrivateNetItem { /** The Network ID the server is attached to. */ network?: number; /** The server IP address on the network. */ ip?: string; /** Additional IP addresses of the server on the network. */ alias_ips?: CreateServerResponseServerPrivateNetItemAliasIpsList; /** The server MAC address on the network. */ mac_address?: string; } /** Private networks information. */ export type CreateServerResponseServerPrivateNetList = Array; /** Hourly price in this [Location](#tag/locations). */ export interface CreateServerResponseServerServerTypePricesItemPriceHourly { /** Price without VAT. */ net: string; /** Price with VAT added. */ gross: string; } /** Monthly price in this [Location](#tag/locations). */ export type CreateServerResponseServerServerTypePricesItemPriceMonthly = CreateServerResponseServerServerTypePricesItemPriceHourly; /** Additional traffic price per TB in this [Location](#tag/locations). */ export type CreateServerResponseServerServerTypePricesItemPricePerTbTraffic = CreateServerResponseServerServerTypePricesItemPriceHourly; export interface CreateServerResponseServerServerTypePricesItem { /** Name of the [Location](#tag/locations) the price is for. */ location: string; /** Hourly price in this [Location](#tag/locations). */ price_hourly: CreateServerResponseServerServerTypePricesItemPriceHourly; /** Monthly price in this [Location](#tag/locations). */ price_monthly: CreateServerResponseServerServerTypePricesItemPriceHourly; /** Free traffic per month in bytes in this [Location](#tag/locations). */ included_traffic: number; /** Additional traffic price per TB in this [Location](#tag/locations). */ price_per_tb_traffic: CreateServerResponseServerServerTypePricesItemPriceHourly; } /** Price per [Location](#tag/locations). */ export type CreateServerResponseServerServerTypePricesList = Array; /** Type of Server boot drive. Local has higher speed. Network has better availability. */ export type CreateServerResponseServerServerTypeStorageType = "local" | "network"; /** Type of cpu. */ export type CreateServerResponseServerServerTypeCpuType = "shared" | "dedicated"; /** CPU architecture of the Server Type. */ export type CreateServerResponseServerServerTypeArchitecture = "x86" | "arm"; /** This field is deprecated. Use the `deprecation` object in the `locations` field instead (`.locations[].deprecation`). */ export interface CreateServerResponseServerServerTypeDeprecation { /** Date of the deprecated resource removal. Once this date is reached, the resource will not be returned by resource type "list" endpoint, and the resource can not be used to create new resources. For example, if this is an image, you can not create new servers with this image after the mentioned date. */ unavailable_after: string; /** Date of the deprecation announcement. */ announced: string; } /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type CreateServerResponseServerServerTypeLocationsItemDeprecation = CreateServerResponseServerServerTypeDeprecation; /** A [Location](#tag/locations) (containing only id and name) and Server Type specific metadata. */ export interface CreateServerResponseServerServerTypeLocationsItem { /** ID of the [Location](#tag/locations). */ id: number; /** Name of the [Location](#tag/locations). */ name: string; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ deprecation: CreateServerResponseServerServerTypeDeprecation | null; /** Whether the [Server Type](#tag/server-types) is recommended in this [Location](#tag/locations). */ recommended: boolean; /** Whether the [Server Type](#tag/server-types) is temporarily unavailable in this [Location](#tag/locations). */ available: boolean; } /** Supported [Location](#tag/locations) and per [Location](#tag/locations) details for the [Server Type](#tag/server-types). A [Server Type](#tag/server-types) is: - only supported in the [Location](#tag/locations) that are listed. - deprecated in the [Location](#tag/locations) when the `deprecation` property is set. - permanently unavailable in the [Location](#tag/locations) when the `deprecation.unavailable_after` date is in the past. - temporarily unavailable in the [Location](#tag/locations) when the `deprecation.available` is false. */ export type CreateServerResponseServerServerTypeLocationsList = Array; export interface CreateServerResponseServerServerType { /** ID of the Server type. */ id: number; /** Unique identifier of the Server type. */ name: string; /** Description of the Server type. */ description: string; /** Number of cpu cores a Server of this type will have. */ cores: number; /** Memory a Server of this type will have in GB. */ memory: number; /** Disk size a Server of this type will have in GB. */ disk: number; /** This field is deprecated. Use the deprecation object instead. */ deprecated: boolean; /** Price per [Location](#tag/locations). */ prices: CreateServerResponseServerServerTypePricesList; /** Type of Server boot drive. Local has higher speed. Network has better availability. */ storage_type: CreateServerResponseServerServerTypeStorageType; /** Type of cpu. */ cpu_type: CreateServerResponseServerServerTypeCpuType; /** Category of Server Type. */ category?: string; /** CPU architecture of the Server Type. */ architecture: CreateServerResponseServerServerTypeArchitecture; /** This field is deprecated. Use the `deprecation` object in the `locations` field instead (`.locations[].deprecation`). */ deprecation?: CreateServerResponseServerServerTypeDeprecation | null; /** Supported [Location](#tag/locations) and per [Location](#tag/locations) details for the [Server Type](#tag/server-types). A [Server Type](#tag/server-types) is: - only supported in the [Location](#tag/locations) that are listed. - deprecated in the [Location](#tag/locations) when the `deprecation` property is set. - permanently unavailable in the [Location](#tag/locations) when the `deprecation.unavailable_after` date is in the past. - temporarily unavailable in the [Location](#tag/locations) when the `deprecation.available` is false. */ locations: CreateServerResponseServerServerTypeLocationsList; } /** Location this Resource is located at. */ export interface CreateServerResponseServerLocation { /** ID of the [Location](#tag/locations). */ id: number; /** Unique identifier of the [Location](#tag/locations). */ name: string; /** Human readable description of the [Location](#tag/locations). */ description: string; /** Country the [Location](#tag/locations) resides in. ISO 3166-1 alpha-2 code of the country. */ country: string; /** Name of the closest city to the [Location](#tag/locations). City name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`. */ city: string; /** Latitude of the city closest to the [Location](#tag/locations). */ latitude: number; /** Longitude of the city closest to the [Location](#tag/locations). */ longitude: number; /** Name of the Network Zone this [Location](#tag/locations) resides in. */ network_zone: string; } /** Type of the Image. */ export type CreateServerResponseServerImageType = "system" | "app" | "snapshot" | "backup"; /** Status of the Image. */ export type CreateServerResponseServerImageStatus = "available" | "creating" | "unavailable"; /** Information about the Server the Image was created from. */ export interface CreateServerResponseServerImageCreatedFrom { /** ID of the Server the Image was created from. */ id: number; /** Server name at the time the Image was created. */ name: string; } /** Flavor of operating system contained in the Image. */ export type CreateServerResponseServerImageOsFlavor = "ubuntu" | "centos" | "debian" | "fedora" | "rocky" | "alma" | "opensuse" | "unknown"; /** Protection configuration for the Resource. */ export interface CreateServerResponseServerImageProtection { /** Prevent the Resource from being deleted. */ delete: boolean; } /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type CreateServerResponseServerImageDeprecation = CreateServerResponseServerServerTypeDeprecation; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type CreateServerResponseServerImageLabelsMap = { [key: string]: string | undefined; }; /** CPU architecture compatible with the Image. */ export type CreateServerResponseServerImageArchitecture = "x86" | "arm"; /** Image the server is based on. */ export interface CreateServerResponseServerImage { /** ID of the [Image](#tag/images). */ id: number; /** Type of the Image. */ type: CreateServerResponseServerImageType; /** Status of the Image. */ status: CreateServerResponseServerImageStatus; /** Unique identifier of the Image. This value is only set for system Images. */ name: string | null; /** Description of the Image. */ description: string; /** Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image. */ image_size: number | null; /** Size of the disk contained in the Image in GB. */ disk_size: number; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Information about the Server the Image was created from. */ created_from: CreateServerResponseServerImageCreatedFrom | null; /** ID of Server the Image is bound to. Only set for Images of type `backup`. */ bound_to: number | null; /** Flavor of operating system contained in the Image. */ os_flavor: CreateServerResponseServerImageOsFlavor; /** Operating system version. */ os_version: string | null; /** Indicates that rapid deploy of the Image is available. */ rapid_deploy?: boolean; /** Protection configuration for the Resource. */ protection: CreateServerResponseServerImageProtection; /** **Deprecated:** This field is deprecated, use the deprecation object instead. Point in time when the Image is considered to be deprecated (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ deprecated: string | null; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ deprecation: CreateServerResponseServerServerTypeDeprecation | null; /** Point in time where the Image was deleted (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ deleted: string | null; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: CreateServerResponseServerImageLabelsMap; /** CPU architecture compatible with the Image. */ architecture: CreateServerResponseServerImageArchitecture; } /** Type of the ISO. */ export type CreateServerResponseServerIsoType = "public" | "private"; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type CreateServerResponseServerIsoDeprecation = CreateServerResponseServerServerTypeDeprecation; /** CPU architecture compatible with the ISO. Null indicates no restriction on the architecture (wildcard). */ export type CreateServerResponseServerIsoArchitecture = "x86" | "arm"; /** ISO Image that is attached to this Server. Null if no ISO is attached. */ export interface CreateServerResponseServerIso { /** ID of the [ISO](#tag/isos). */ id: number; /** Unique identifier of the ISO. Only set for public ISOs. */ name: string | null; /** Description of the ISO. */ description: string; /** Type of the ISO. */ type: CreateServerResponseServerIsoType | null; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ deprecation: CreateServerResponseServerServerTypeDeprecation | null; /** CPU architecture compatible with the ISO. Null indicates no restriction on the architecture (wildcard). */ architecture: CreateServerResponseServerIsoArchitecture | null; } /** Protection configuration for the Server. */ export interface CreateServerResponseServerProtection { /** If true, prevents the Server from being deleted. */ delete: boolean; /** If true, prevents the Server from being rebuilt. */ rebuild: boolean; } /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type CreateServerResponseServerLabelsMap = { [key: string]: string | undefined; }; /** IDs of Volumes assigned to this Server. */ export type CreateServerResponseServerVolumesList = Array; /** Load Balancer IDs assigned to the server. */ export type CreateServerResponseServerLoadBalancersList = Array; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type CreateServerResponseServerPlacementGroupLabelsMap = { [key: string]: string | undefined; }; /** Type of Placement Group. */ export type CreateServerResponseServerPlacementGroupType = "spread"; /** Array of IDs of Servers that are part of this Placement Group. */ export type CreateServerResponseServerPlacementGroupServersList = Array; /** The placement group the server is assigned to. */ export interface CreateServerResponseServerPlacementGroup { /** ID of the [Placement Group](#tag/placement-groups). */ id: number; /** Name of the Resource. Must be unique per Project. */ name: string; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: CreateServerResponseServerPlacementGroupLabelsMap; /** Type of Placement Group. */ type: CreateServerResponseServerPlacementGroupType; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Array of IDs of Servers that are part of this Placement Group. */ servers: CreateServerResponseServerPlacementGroupServersList; } export interface CreateServerResponseServer { /** ID of the [Server](#tag/servers). */ id: number; /** Name of the Server (must be unique per Project and a valid hostname as per RFC 1123). */ name: string; /** Status of the Server. */ status: CreateServerResponseServerStatus; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`. */ public_net: CreateServerResponseServerPublicNet; /** Private networks information. */ private_net: CreateServerResponseServerPrivateNetList; server_type: CreateServerResponseServerServerType; /** Location this Resource is located at. */ location: CreateServerResponseServerLocation; /** Image the server is based on. */ image: CreateServerResponseServerImage | null; /** ISO Image that is attached to this Server. Null if no ISO is attached. */ iso: CreateServerResponseServerIso | null; /** True if rescue mode is enabled. Server will then boot into rescue system on next reboot. */ rescue_enabled: boolean; /** True if Server has been locked and is not available to user. */ locked: boolean; /** Time window (UTC) in which the backup will run, or null if the backups are not enabled. */ backup_window: string | null; /** Outbound Traffic for the current billing period in bytes. */ outgoing_traffic: number | null; /** Inbound Traffic for the current billing period in bytes. */ ingoing_traffic: number | null; /** Free Traffic for the current billing period in bytes. */ included_traffic: number | null; /** Protection configuration for the Server. */ protection: CreateServerResponseServerProtection; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: CreateServerResponseServerLabelsMap; /** IDs of Volumes assigned to this Server. */ volumes?: CreateServerResponseServerVolumesList; /** Load Balancer IDs assigned to the server. */ load_balancers?: CreateServerResponseServerLoadBalancersList; /** Size of the primary Disk. */ primary_disk_size: number; /** The placement group the server is assigned to. */ placement_group?: CreateServerResponseServerPlacementGroup | null; } /** Status of the Action. */ export type CreateServerResponseActionStatus = "running" | "success" | "error"; export interface CreateServerResponseActionResourcesItem { /** ID of the Resource. */ id: number; /** Type of the Resource. */ type: string; } /** Resources the Action relates to. */ export type CreateServerResponseActionResourcesList = Array; /** Error message for the Action if an error occurred, otherwise null. */ export interface CreateServerResponseActionError { /** Fixed error code for machines. */ code: string; /** Error message for humans. */ message: string; } export interface CreateServerResponseAction { /** ID of the [Action](#description/actions). */ id: number; /** Command executed in the Action. */ command: string; /** Status of the Action. */ status: CreateServerResponseActionStatus; /** Point in time when the Action was started (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ started: string; /** Point in time when the Action was finished (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). Only set if the Action is finished otherwise null. */ finished: string | null; /** Progress of the Action in percent. */ progress: number; /** Resources the Action relates to. */ resources: CreateServerResponseActionResourcesList; /** Error message for the Action if an error occurred, otherwise null. */ error: CreateServerResponseActionError | null; } /** Status of the Action. */ export type CreateServerResponseNextActionsItemStatus = "running" | "success" | "error"; export type CreateServerResponseNextActionsItemResourcesItem = CreateServerResponseActionResourcesItem; /** Resources the Action relates to. */ export type CreateServerResponseNextActionsItemResourcesList = Array; /** Error message for the Action if an error occurred, otherwise null. */ export type CreateServerResponseNextActionsItemError = CreateServerResponseActionError; export interface CreateServerResponseNextActionsItem { /** ID of the [Action](#description/actions). */ id: number; /** Command executed in the Action. */ command: string; /** Status of the Action. */ status: CreateServerResponseNextActionsItemStatus; /** Point in time when the Action was started (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ started: string; /** Point in time when the Action was finished (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). Only set if the Action is finished otherwise null. */ finished: string | null; /** Progress of the Action in percent. */ progress: number; /** Resources the Action relates to. */ resources: CreateServerResponseNextActionsItemResourcesList; /** Error message for the Action if an error occurred, otherwise null. */ error: CreateServerResponseActionError | null; } export type CreateServerResponseNextActionsList = Array; export interface CreateServerResponse { server: CreateServerResponseServer; action: CreateServerResponseAction; next_actions: CreateServerResponseNextActionsList; /** Root password when no SSH keys have been specified. */ root_password: string | Redacted.Redacted | null; } export interface DeleteServerRequest { /** ID of the Server. */ id: number; } /** Status of the Action. */ export type DeleteServerResponseActionStatus = "running" | "success" | "error"; export type DeleteServerResponseActionResourcesItem = CreateServerResponseActionResourcesItem; /** Resources the Action relates to. */ export type DeleteServerResponseActionResourcesList = Array; /** Error message for the Action if an error occurred, otherwise null. */ export type DeleteServerResponseActionError = CreateServerResponseActionError; export interface DeleteServerResponseAction { /** ID of the [Action](#description/actions). */ id: number; /** Command executed in the Action. */ command: string; /** Status of the Action. */ status: DeleteServerResponseActionStatus; /** Point in time when the Action was started (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ started: string; /** Point in time when the Action was finished (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). Only set if the Action is finished otherwise null. */ finished: string | null; /** Progress of the Action in percent. */ progress: number; /** Resources the Action relates to. */ resources: DeleteServerResponseActionResourcesList; /** Error message for the Action if an error occurred, otherwise null. */ error: CreateServerResponseActionError | null; } export interface DeleteServerResponse { action?: DeleteServerResponseAction; } export interface GetServerRequest { /** ID of the Server. */ id: number; } /** Status of the Server. */ export type GetServerResponseServerStatus = "running" | "initializing" | "starting" | "stopping" | "off" | "deleting" | "migrating" | "rebuilding" | "unknown"; /** IP address (v4) and its reverse DNS entry of this Server. */ export type GetServerResponseServerPublicNetIpv4 = CreateServerResponseServerPublicNetIpv4; export type GetServerResponseServerPublicNetIpv6DnsPtrItem = CreateServerResponseServerPublicNetIpv6DnsPtrItem; /** Reverse DNS PTR entries for the IPv6 addresses of this Server. */ export type GetServerResponseServerPublicNetIpv6DnsPtrList = Array; /** IPv6 network assigned to this Server and its reverse DNS entry. */ export interface GetServerResponseServerPublicNetIpv6 { /** ID of the [Primary IP](#tag/primary-ips). */ id?: number; /** IP address (v6) of this Server. */ ip: string; /** Whether the IP is blocked by our abuse department. */ blocked: boolean; /** Reverse DNS PTR entries for the IPv6 addresses of this Server. */ dns_ptr: GetServerResponseServerPublicNetIpv6DnsPtrList | null; } /** IDs of Floating IPs assigned to this Server. */ export type GetServerResponseServerPublicNetFloatingIpsList = Array; /** Status of the Firewall on the Server. */ export type GetServerResponseServerPublicNetFirewallsItemStatus = "applied" | "pending"; export interface GetServerResponseServerPublicNetFirewallsItem { /** ID of the [Firewall](#tag/firewalls). */ id?: number; /** Status of the Firewall on the Server. */ status?: GetServerResponseServerPublicNetFirewallsItemStatus; } /** Firewalls applied to the public network interface of this Server. */ export type GetServerResponseServerPublicNetFirewallsList = Array; /** Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`. */ export interface GetServerResponseServerPublicNet { /** IP address (v4) and its reverse DNS entry of this Server. */ ipv4: CreateServerResponseServerPublicNetIpv4 | null; /** IPv6 network assigned to this Server and its reverse DNS entry. */ ipv6: GetServerResponseServerPublicNetIpv6 | null; /** IDs of Floating IPs assigned to this Server. */ floating_ips: GetServerResponseServerPublicNetFloatingIpsList; /** Firewalls applied to the public network interface of this Server. */ firewalls?: GetServerResponseServerPublicNetFirewallsList; } /** Additional IP addresses of the server on the network. */ export type GetServerResponseServerPrivateNetItemAliasIpsList = Array; export interface GetServerResponseServerPrivateNetItem { /** The Network ID the server is attached to. */ network?: number; /** The server IP address on the network. */ ip?: string; /** Additional IP addresses of the server on the network. */ alias_ips?: GetServerResponseServerPrivateNetItemAliasIpsList; /** The server MAC address on the network. */ mac_address?: string; } /** Private networks information. */ export type GetServerResponseServerPrivateNetList = Array; /** Hourly price in this [Location](#tag/locations). */ export type GetServerResponseServerServerTypePricesItemPriceHourly = CreateServerResponseServerServerTypePricesItemPriceHourly; /** Monthly price in this [Location](#tag/locations). */ export type GetServerResponseServerServerTypePricesItemPriceMonthly = CreateServerResponseServerServerTypePricesItemPriceHourly; /** Additional traffic price per TB in this [Location](#tag/locations). */ export type GetServerResponseServerServerTypePricesItemPricePerTbTraffic = CreateServerResponseServerServerTypePricesItemPriceHourly; export type GetServerResponseServerServerTypePricesItem = CreateServerResponseServerServerTypePricesItem; /** Price per [Location](#tag/locations). */ export type GetServerResponseServerServerTypePricesList = Array; /** Type of Server boot drive. Local has higher speed. Network has better availability. */ export type GetServerResponseServerServerTypeStorageType = "local" | "network"; /** Type of cpu. */ export type GetServerResponseServerServerTypeCpuType = "shared" | "dedicated"; /** CPU architecture of the Server Type. */ export type GetServerResponseServerServerTypeArchitecture = "x86" | "arm"; /** This field is deprecated. Use the `deprecation` object in the `locations` field instead (`.locations[].deprecation`). */ export type GetServerResponseServerServerTypeDeprecation = CreateServerResponseServerServerTypeDeprecation; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type GetServerResponseServerServerTypeLocationsItemDeprecation = CreateServerResponseServerServerTypeDeprecation; /** A [Location](#tag/locations) (containing only id and name) and Server Type specific metadata. */ export type GetServerResponseServerServerTypeLocationsItem = CreateServerResponseServerServerTypeLocationsItem; /** Supported [Location](#tag/locations) and per [Location](#tag/locations) details for the [Server Type](#tag/server-types). A [Server Type](#tag/server-types) is: - only supported in the [Location](#tag/locations) that are listed. - deprecated in the [Location](#tag/locations) when the `deprecation` property is set. - permanently unavailable in the [Location](#tag/locations) when the `deprecation.unavailable_after` date is in the past. - temporarily unavailable in the [Location](#tag/locations) when the `deprecation.available` is false. */ export type GetServerResponseServerServerTypeLocationsList = Array; export interface GetServerResponseServerServerType { /** ID of the Server type. */ id: number; /** Unique identifier of the Server type. */ name: string; /** Description of the Server type. */ description: string; /** Number of cpu cores a Server of this type will have. */ cores: number; /** Memory a Server of this type will have in GB. */ memory: number; /** Disk size a Server of this type will have in GB. */ disk: number; /** This field is deprecated. Use the deprecation object instead. */ deprecated: boolean; /** Price per [Location](#tag/locations). */ prices: GetServerResponseServerServerTypePricesList; /** Type of Server boot drive. Local has higher speed. Network has better availability. */ storage_type: GetServerResponseServerServerTypeStorageType; /** Type of cpu. */ cpu_type: GetServerResponseServerServerTypeCpuType; /** Category of Server Type. */ category?: string; /** CPU architecture of the Server Type. */ architecture: GetServerResponseServerServerTypeArchitecture; /** This field is deprecated. Use the `deprecation` object in the `locations` field instead (`.locations[].deprecation`). */ deprecation?: CreateServerResponseServerServerTypeDeprecation | null; /** Supported [Location](#tag/locations) and per [Location](#tag/locations) details for the [Server Type](#tag/server-types). A [Server Type](#tag/server-types) is: - only supported in the [Location](#tag/locations) that are listed. - deprecated in the [Location](#tag/locations) when the `deprecation` property is set. - permanently unavailable in the [Location](#tag/locations) when the `deprecation.unavailable_after` date is in the past. - temporarily unavailable in the [Location](#tag/locations) when the `deprecation.available` is false. */ locations: GetServerResponseServerServerTypeLocationsList; } /** Location this Resource is located at. */ export type GetServerResponseServerLocation = CreateServerResponseServerLocation; /** Type of the Image. */ export type GetServerResponseServerImageType = "system" | "app" | "snapshot" | "backup"; /** Status of the Image. */ export type GetServerResponseServerImageStatus = "available" | "creating" | "unavailable"; /** Information about the Server the Image was created from. */ export type GetServerResponseServerImageCreatedFrom = CreateServerResponseServerImageCreatedFrom; /** Flavor of operating system contained in the Image. */ export type GetServerResponseServerImageOsFlavor = "ubuntu" | "centos" | "debian" | "fedora" | "rocky" | "alma" | "opensuse" | "unknown"; /** Protection configuration for the Resource. */ export type GetServerResponseServerImageProtection = CreateServerResponseServerImageProtection; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type GetServerResponseServerImageDeprecation = CreateServerResponseServerServerTypeDeprecation; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type GetServerResponseServerImageLabelsMap = { [key: string]: string | undefined; }; /** CPU architecture compatible with the Image. */ export type GetServerResponseServerImageArchitecture = "x86" | "arm"; /** Image the server is based on. */ export interface GetServerResponseServerImage { /** ID of the [Image](#tag/images). */ id: number; /** Type of the Image. */ type: GetServerResponseServerImageType; /** Status of the Image. */ status: GetServerResponseServerImageStatus; /** Unique identifier of the Image. This value is only set for system Images. */ name: string | null; /** Description of the Image. */ description: string; /** Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image. */ image_size: number | null; /** Size of the disk contained in the Image in GB. */ disk_size: number; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Information about the Server the Image was created from. */ created_from: CreateServerResponseServerImageCreatedFrom | null; /** ID of Server the Image is bound to. Only set for Images of type `backup`. */ bound_to: number | null; /** Flavor of operating system contained in the Image. */ os_flavor: GetServerResponseServerImageOsFlavor; /** Operating system version. */ os_version: string | null; /** Indicates that rapid deploy of the Image is available. */ rapid_deploy?: boolean; /** Protection configuration for the Resource. */ protection: CreateServerResponseServerImageProtection; /** **Deprecated:** This field is deprecated, use the deprecation object instead. Point in time when the Image is considered to be deprecated (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ deprecated: string | null; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ deprecation: CreateServerResponseServerServerTypeDeprecation | null; /** Point in time where the Image was deleted (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ deleted: string | null; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: GetServerResponseServerImageLabelsMap; /** CPU architecture compatible with the Image. */ architecture: GetServerResponseServerImageArchitecture; } /** Type of the ISO. */ export type GetServerResponseServerIsoType = "public" | "private"; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type GetServerResponseServerIsoDeprecation = CreateServerResponseServerServerTypeDeprecation; /** CPU architecture compatible with the ISO. Null indicates no restriction on the architecture (wildcard). */ export type GetServerResponseServerIsoArchitecture = "x86" | "arm"; /** ISO Image that is attached to this Server. Null if no ISO is attached. */ export interface GetServerResponseServerIso { /** ID of the [ISO](#tag/isos). */ id: number; /** Unique identifier of the ISO. Only set for public ISOs. */ name: string | null; /** Description of the ISO. */ description: string; /** Type of the ISO. */ type: GetServerResponseServerIsoType | null; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ deprecation: CreateServerResponseServerServerTypeDeprecation | null; /** CPU architecture compatible with the ISO. Null indicates no restriction on the architecture (wildcard). */ architecture: GetServerResponseServerIsoArchitecture | null; } /** Protection configuration for the Server. */ export type GetServerResponseServerProtection = CreateServerResponseServerProtection; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type GetServerResponseServerLabelsMap = { [key: string]: string | undefined; }; /** IDs of Volumes assigned to this Server. */ export type GetServerResponseServerVolumesList = Array; /** Load Balancer IDs assigned to the server. */ export type GetServerResponseServerLoadBalancersList = Array; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type GetServerResponseServerPlacementGroupLabelsMap = { [key: string]: string | undefined; }; /** Type of Placement Group. */ export type GetServerResponseServerPlacementGroupType = "spread"; /** Array of IDs of Servers that are part of this Placement Group. */ export type GetServerResponseServerPlacementGroupServersList = Array; /** The placement group the server is assigned to. */ export interface GetServerResponseServerPlacementGroup { /** ID of the [Placement Group](#tag/placement-groups). */ id: number; /** Name of the Resource. Must be unique per Project. */ name: string; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: GetServerResponseServerPlacementGroupLabelsMap; /** Type of Placement Group. */ type: GetServerResponseServerPlacementGroupType; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Array of IDs of Servers that are part of this Placement Group. */ servers: GetServerResponseServerPlacementGroupServersList; } export interface GetServerResponseServer { /** ID of the [Server](#tag/servers). */ id: number; /** Name of the Server (must be unique per Project and a valid hostname as per RFC 1123). */ name: string; /** Status of the Server. */ status: GetServerResponseServerStatus; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`. */ public_net: GetServerResponseServerPublicNet; /** Private networks information. */ private_net: GetServerResponseServerPrivateNetList; server_type: GetServerResponseServerServerType; /** Location this Resource is located at. */ location: CreateServerResponseServerLocation; /** Image the server is based on. */ image: GetServerResponseServerImage | null; /** ISO Image that is attached to this Server. Null if no ISO is attached. */ iso: GetServerResponseServerIso | null; /** True if rescue mode is enabled. Server will then boot into rescue system on next reboot. */ rescue_enabled: boolean; /** True if Server has been locked and is not available to user. */ locked: boolean; /** Time window (UTC) in which the backup will run, or null if the backups are not enabled. */ backup_window: string | null; /** Outbound Traffic for the current billing period in bytes. */ outgoing_traffic: number | null; /** Inbound Traffic for the current billing period in bytes. */ ingoing_traffic: number | null; /** Free Traffic for the current billing period in bytes. */ included_traffic: number | null; /** Protection configuration for the Server. */ protection: CreateServerResponseServerProtection; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: GetServerResponseServerLabelsMap; /** IDs of Volumes assigned to this Server. */ volumes?: GetServerResponseServerVolumesList; /** Load Balancer IDs assigned to the server. */ load_balancers?: GetServerResponseServerLoadBalancersList; /** Size of the primary Disk. */ primary_disk_size: number; /** The placement group the server is assigned to. */ placement_group?: GetServerResponseServerPlacementGroup | null; } export interface GetServerResponse { server?: GetServerResponseServer; } export type GetServerMetricsRequestTypeItem = "cpu" | "disk" | "network"; export type GetServerMetricsRequestTypeList = Array; export interface GetServerMetricsRequest { /** ID of the Server. */ id: number; /** Type of metrics to get. */ type: GetServerMetricsRequestTypeList; /** Start of period to get Metrics for (must be in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ start: string; /** End of period to get Metrics for (must be in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ end: string; /** Resolution of results in seconds. */ step?: string; } export type GetServerMetricsResponseMetricsTimeSeriesValueValuesItemList = Array; /** Metrics timestamps with values. */ export type GetServerMetricsResponseMetricsTimeSeriesValueValuesList = Array; export interface GetServerMetricsResponseMetricsTimeSeriesValue { /** Metrics timestamps with values. */ values: GetServerMetricsResponseMetricsTimeSeriesValueValuesList; } /** Hash with timeseries information, containing the name of timeseries as key. */ export type GetServerMetricsResponseMetricsTimeSeriesMap = { [key: string]: GetServerMetricsResponseMetricsTimeSeriesValue | undefined; }; export interface GetServerMetricsResponseMetrics { /** Start of period of metrics reported (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ start: string; /** End of period of metrics reported (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ end: string; /** Resolution of results in seconds. */ step: number; /** Hash with timeseries information, containing the name of timeseries as key. */ time_series: GetServerMetricsResponseMetricsTimeSeriesMap; } export interface GetServerMetricsResponse { metrics: GetServerMetricsResponseMetrics; } export type ListServersRequestSortItem = "id" | "id:asc" | "id:desc" | "name" | "name:asc" | "name:desc" | "created" | "created:asc" | "created:desc"; export type ListServersRequestSortList = Array; /** Status of the Server. */ export type ListServersRequestStatusItem = "running" | "initializing" | "starting" | "stopping" | "off" | "deleting" | "migrating" | "rebuilding" | "unknown"; export type ListServersRequestStatusList = Array; export interface ListServersRequest { /** Filter resources by their name. The response will only contain the resources matching exactly the specified name. */ name?: string; /** Filter resources by labels. The response will only contain resources matching the label selector. For more information, see "[Label Selector](#description/label-selector)". */ label_selector?: string; /** Sort resources by field and direction. May be used multiple times. For more information, see "[Sorting](#description/sorting)". */ sort?: ListServersRequestSortList; /** Filter resources by status. May be used multiple times. The response will only contain the resources with the specified status. */ status?: ListServersRequestStatusList; /** Page number to return. For more information, see "[Pagination](#description/pagination)". */ page?: number; /** Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)". */ per_page?: number; } /** Status of the Server. */ export type ListServersResponseServersItemStatus = "running" | "initializing" | "starting" | "stopping" | "off" | "deleting" | "migrating" | "rebuilding" | "unknown"; /** IP address (v4) and its reverse DNS entry of this Server. */ export type ListServersResponseServersItemPublicNetIpv4 = CreateServerResponseServerPublicNetIpv4; export type ListServersResponseServersItemPublicNetIpv6DnsPtrItem = CreateServerResponseServerPublicNetIpv6DnsPtrItem; /** Reverse DNS PTR entries for the IPv6 addresses of this Server. */ export type ListServersResponseServersItemPublicNetIpv6DnsPtrList = Array; /** IPv6 network assigned to this Server and its reverse DNS entry. */ export interface ListServersResponseServersItemPublicNetIpv6 { /** ID of the [Primary IP](#tag/primary-ips). */ id?: number; /** IP address (v6) of this Server. */ ip: string; /** Whether the IP is blocked by our abuse department. */ blocked: boolean; /** Reverse DNS PTR entries for the IPv6 addresses of this Server. */ dns_ptr: ListServersResponseServersItemPublicNetIpv6DnsPtrList | null; } /** IDs of Floating IPs assigned to this Server. */ export type ListServersResponseServersItemPublicNetFloatingIpsList = Array; /** Status of the Firewall on the Server. */ export type ListServersResponseServersItemPublicNetFirewallsItemStatus = "applied" | "pending"; export interface ListServersResponseServersItemPublicNetFirewallsItem { /** ID of the [Firewall](#tag/firewalls). */ id?: number; /** Status of the Firewall on the Server. */ status?: ListServersResponseServersItemPublicNetFirewallsItemStatus; } /** Firewalls applied to the public network interface of this Server. */ export type ListServersResponseServersItemPublicNetFirewallsList = Array; /** Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`. */ export interface ListServersResponseServersItemPublicNet { /** IP address (v4) and its reverse DNS entry of this Server. */ ipv4: CreateServerResponseServerPublicNetIpv4 | null; /** IPv6 network assigned to this Server and its reverse DNS entry. */ ipv6: ListServersResponseServersItemPublicNetIpv6 | null; /** IDs of Floating IPs assigned to this Server. */ floating_ips: ListServersResponseServersItemPublicNetFloatingIpsList; /** Firewalls applied to the public network interface of this Server. */ firewalls?: ListServersResponseServersItemPublicNetFirewallsList; } /** Additional IP addresses of the server on the network. */ export type ListServersResponseServersItemPrivateNetItemAliasIpsList = Array; export interface ListServersResponseServersItemPrivateNetItem { /** The Network ID the server is attached to. */ network?: number; /** The server IP address on the network. */ ip?: string; /** Additional IP addresses of the server on the network. */ alias_ips?: ListServersResponseServersItemPrivateNetItemAliasIpsList; /** The server MAC address on the network. */ mac_address?: string; } /** Private networks information. */ export type ListServersResponseServersItemPrivateNetList = Array; /** Hourly price in this [Location](#tag/locations). */ export type ListServersResponseServersItemServerTypePricesItemPriceHourly = CreateServerResponseServerServerTypePricesItemPriceHourly; /** Monthly price in this [Location](#tag/locations). */ export type ListServersResponseServersItemServerTypePricesItemPriceMonthly = CreateServerResponseServerServerTypePricesItemPriceHourly; /** Additional traffic price per TB in this [Location](#tag/locations). */ export type ListServersResponseServersItemServerTypePricesItemPricePerTbTraffic = CreateServerResponseServerServerTypePricesItemPriceHourly; export type ListServersResponseServersItemServerTypePricesItem = CreateServerResponseServerServerTypePricesItem; /** Price per [Location](#tag/locations). */ export type ListServersResponseServersItemServerTypePricesList = Array; /** Type of Server boot drive. Local has higher speed. Network has better availability. */ export type ListServersResponseServersItemServerTypeStorageType = "local" | "network"; /** Type of cpu. */ export type ListServersResponseServersItemServerTypeCpuType = "shared" | "dedicated"; /** CPU architecture of the Server Type. */ export type ListServersResponseServersItemServerTypeArchitecture = "x86" | "arm"; /** This field is deprecated. Use the `deprecation` object in the `locations` field instead (`.locations[].deprecation`). */ export type ListServersResponseServersItemServerTypeDeprecation = CreateServerResponseServerServerTypeDeprecation; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type ListServersResponseServersItemServerTypeLocationsItemDeprecation = CreateServerResponseServerServerTypeDeprecation; /** A [Location](#tag/locations) (containing only id and name) and Server Type specific metadata. */ export type ListServersResponseServersItemServerTypeLocationsItem = CreateServerResponseServerServerTypeLocationsItem; /** Supported [Location](#tag/locations) and per [Location](#tag/locations) details for the [Server Type](#tag/server-types). A [Server Type](#tag/server-types) is: - only supported in the [Location](#tag/locations) that are listed. - deprecated in the [Location](#tag/locations) when the `deprecation` property is set. - permanently unavailable in the [Location](#tag/locations) when the `deprecation.unavailable_after` date is in the past. - temporarily unavailable in the [Location](#tag/locations) when the `deprecation.available` is false. */ export type ListServersResponseServersItemServerTypeLocationsList = Array; export interface ListServersResponseServersItemServerType { /** ID of the Server type. */ id: number; /** Unique identifier of the Server type. */ name: string; /** Description of the Server type. */ description: string; /** Number of cpu cores a Server of this type will have. */ cores: number; /** Memory a Server of this type will have in GB. */ memory: number; /** Disk size a Server of this type will have in GB. */ disk: number; /** This field is deprecated. Use the deprecation object instead. */ deprecated: boolean; /** Price per [Location](#tag/locations). */ prices: ListServersResponseServersItemServerTypePricesList; /** Type of Server boot drive. Local has higher speed. Network has better availability. */ storage_type: ListServersResponseServersItemServerTypeStorageType; /** Type of cpu. */ cpu_type: ListServersResponseServersItemServerTypeCpuType; /** Category of Server Type. */ category?: string; /** CPU architecture of the Server Type. */ architecture: ListServersResponseServersItemServerTypeArchitecture; /** This field is deprecated. Use the `deprecation` object in the `locations` field instead (`.locations[].deprecation`). */ deprecation?: CreateServerResponseServerServerTypeDeprecation | null; /** Supported [Location](#tag/locations) and per [Location](#tag/locations) details for the [Server Type](#tag/server-types). A [Server Type](#tag/server-types) is: - only supported in the [Location](#tag/locations) that are listed. - deprecated in the [Location](#tag/locations) when the `deprecation` property is set. - permanently unavailable in the [Location](#tag/locations) when the `deprecation.unavailable_after` date is in the past. - temporarily unavailable in the [Location](#tag/locations) when the `deprecation.available` is false. */ locations: ListServersResponseServersItemServerTypeLocationsList; } /** Location this Resource is located at. */ export type ListServersResponseServersItemLocation = CreateServerResponseServerLocation; /** Type of the Image. */ export type ListServersResponseServersItemImageType = "system" | "app" | "snapshot" | "backup"; /** Status of the Image. */ export type ListServersResponseServersItemImageStatus = "available" | "creating" | "unavailable"; /** Information about the Server the Image was created from. */ export type ListServersResponseServersItemImageCreatedFrom = CreateServerResponseServerImageCreatedFrom; /** Flavor of operating system contained in the Image. */ export type ListServersResponseServersItemImageOsFlavor = "ubuntu" | "centos" | "debian" | "fedora" | "rocky" | "alma" | "opensuse" | "unknown"; /** Protection configuration for the Resource. */ export type ListServersResponseServersItemImageProtection = CreateServerResponseServerImageProtection; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type ListServersResponseServersItemImageDeprecation = CreateServerResponseServerServerTypeDeprecation; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type ListServersResponseServersItemImageLabelsMap = { [key: string]: string | undefined; }; /** CPU architecture compatible with the Image. */ export type ListServersResponseServersItemImageArchitecture = "x86" | "arm"; /** Image the server is based on. */ export interface ListServersResponseServersItemImage { /** ID of the [Image](#tag/images). */ id: number; /** Type of the Image. */ type: ListServersResponseServersItemImageType; /** Status of the Image. */ status: ListServersResponseServersItemImageStatus; /** Unique identifier of the Image. This value is only set for system Images. */ name: string | null; /** Description of the Image. */ description: string; /** Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image. */ image_size: number | null; /** Size of the disk contained in the Image in GB. */ disk_size: number; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Information about the Server the Image was created from. */ created_from: CreateServerResponseServerImageCreatedFrom | null; /** ID of Server the Image is bound to. Only set for Images of type `backup`. */ bound_to: number | null; /** Flavor of operating system contained in the Image. */ os_flavor: ListServersResponseServersItemImageOsFlavor; /** Operating system version. */ os_version: string | null; /** Indicates that rapid deploy of the Image is available. */ rapid_deploy?: boolean; /** Protection configuration for the Resource. */ protection: CreateServerResponseServerImageProtection; /** **Deprecated:** This field is deprecated, use the deprecation object instead. Point in time when the Image is considered to be deprecated (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ deprecated: string | null; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ deprecation: CreateServerResponseServerServerTypeDeprecation | null; /** Point in time where the Image was deleted (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ deleted: string | null; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: ListServersResponseServersItemImageLabelsMap; /** CPU architecture compatible with the Image. */ architecture: ListServersResponseServersItemImageArchitecture; } /** Type of the ISO. */ export type ListServersResponseServersItemIsoType = "public" | "private"; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type ListServersResponseServersItemIsoDeprecation = CreateServerResponseServerServerTypeDeprecation; /** CPU architecture compatible with the ISO. Null indicates no restriction on the architecture (wildcard). */ export type ListServersResponseServersItemIsoArchitecture = "x86" | "arm"; /** ISO Image that is attached to this Server. Null if no ISO is attached. */ export interface ListServersResponseServersItemIso { /** ID of the [ISO](#tag/isos). */ id: number; /** Unique identifier of the ISO. Only set for public ISOs. */ name: string | null; /** Description of the ISO. */ description: string; /** Type of the ISO. */ type: ListServersResponseServersItemIsoType | null; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ deprecation: CreateServerResponseServerServerTypeDeprecation | null; /** CPU architecture compatible with the ISO. Null indicates no restriction on the architecture (wildcard). */ architecture: ListServersResponseServersItemIsoArchitecture | null; } /** Protection configuration for the Server. */ export type ListServersResponseServersItemProtection = CreateServerResponseServerProtection; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type ListServersResponseServersItemLabelsMap = { [key: string]: string | undefined; }; /** IDs of Volumes assigned to this Server. */ export type ListServersResponseServersItemVolumesList = Array; /** Load Balancer IDs assigned to the server. */ export type ListServersResponseServersItemLoadBalancersList = Array; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type ListServersResponseServersItemPlacementGroupLabelsMap = { [key: string]: string | undefined; }; /** Type of Placement Group. */ export type ListServersResponseServersItemPlacementGroupType = "spread"; /** Array of IDs of Servers that are part of this Placement Group. */ export type ListServersResponseServersItemPlacementGroupServersList = Array; /** The placement group the server is assigned to. */ export interface ListServersResponseServersItemPlacementGroup { /** ID of the [Placement Group](#tag/placement-groups). */ id: number; /** Name of the Resource. Must be unique per Project. */ name: string; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: ListServersResponseServersItemPlacementGroupLabelsMap; /** Type of Placement Group. */ type: ListServersResponseServersItemPlacementGroupType; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Array of IDs of Servers that are part of this Placement Group. */ servers: ListServersResponseServersItemPlacementGroupServersList; } export interface ListServersResponseServersItem { /** ID of the [Server](#tag/servers). */ id: number; /** Name of the Server (must be unique per Project and a valid hostname as per RFC 1123). */ name: string; /** Status of the Server. */ status: ListServersResponseServersItemStatus; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`. */ public_net: ListServersResponseServersItemPublicNet; /** Private networks information. */ private_net: ListServersResponseServersItemPrivateNetList; server_type: ListServersResponseServersItemServerType; /** Location this Resource is located at. */ location: CreateServerResponseServerLocation; /** Image the server is based on. */ image: ListServersResponseServersItemImage | null; /** ISO Image that is attached to this Server. Null if no ISO is attached. */ iso: ListServersResponseServersItemIso | null; /** True if rescue mode is enabled. Server will then boot into rescue system on next reboot. */ rescue_enabled: boolean; /** True if Server has been locked and is not available to user. */ locked: boolean; /** Time window (UTC) in which the backup will run, or null if the backups are not enabled. */ backup_window: string | null; /** Outbound Traffic for the current billing period in bytes. */ outgoing_traffic: number | null; /** Inbound Traffic for the current billing period in bytes. */ ingoing_traffic: number | null; /** Free Traffic for the current billing period in bytes. */ included_traffic: number | null; /** Protection configuration for the Server. */ protection: CreateServerResponseServerProtection; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: ListServersResponseServersItemLabelsMap; /** IDs of Volumes assigned to this Server. */ volumes?: ListServersResponseServersItemVolumesList; /** Load Balancer IDs assigned to the server. */ load_balancers?: ListServersResponseServersItemLoadBalancersList; /** Size of the primary Disk. */ primary_disk_size: number; /** The placement group the server is assigned to. */ placement_group?: ListServersResponseServersItemPlacementGroup | null; } export type ListServersResponseServersList = Array; /** See "[Pagination](#description/pagination)" for more information. */ export interface ListServersResponseMetaPagination { /** Current page number. */ page: number; /** Maximum number of entries returned per page. */ per_page: number; /** Page number of the previous page. Can be null if the current page is the first one. */ previous_page: number | null; /** Page number of the next page. Can be null if the current page is the last one. */ next_page: number | null; /** Page number of the last page available. Can be null if the current page is the last one. */ last_page: number | null; /** Total number of entries that exist for this query. Can be null if unknown. */ total_entries: number | null; } export interface ListServersResponseMeta { /** See "[Pagination](#description/pagination)" for more information. */ pagination: ListServersResponseMetaPagination; } export interface ListServersResponse { servers: ListServersResponseServersList; meta: ListServersResponseMeta; } /** User-defined labels (`key/value` pairs) for the Resource. Note that the set of [Labels](#description/labels) provided in the request will overwrite the existing one. For more information, see "[Labels](#description/labels)". */ export type UpdateServerRequestLabelsMap = { [key: string]: string | undefined; }; export interface UpdateServerRequest { /** ID of the Server. */ id: number; /** New name to set. */ name?: string; /** User-defined labels (`key/value` pairs) for the Resource. Note that the set of [Labels](#description/labels) provided in the request will overwrite the existing one. For more information, see "[Labels](#description/labels)". */ labels?: UpdateServerRequestLabelsMap; } /** Status of the Server. */ export type UpdateServerResponseServerStatus = "running" | "initializing" | "starting" | "stopping" | "off" | "deleting" | "migrating" | "rebuilding" | "unknown"; /** IP address (v4) and its reverse DNS entry of this Server. */ export type UpdateServerResponseServerPublicNetIpv4 = CreateServerResponseServerPublicNetIpv4; export type UpdateServerResponseServerPublicNetIpv6DnsPtrItem = CreateServerResponseServerPublicNetIpv6DnsPtrItem; /** Reverse DNS PTR entries for the IPv6 addresses of this Server. */ export type UpdateServerResponseServerPublicNetIpv6DnsPtrList = Array; /** IPv6 network assigned to this Server and its reverse DNS entry. */ export interface UpdateServerResponseServerPublicNetIpv6 { /** ID of the [Primary IP](#tag/primary-ips). */ id?: number; /** IP address (v6) of this Server. */ ip: string; /** Whether the IP is blocked by our abuse department. */ blocked: boolean; /** Reverse DNS PTR entries for the IPv6 addresses of this Server. */ dns_ptr: UpdateServerResponseServerPublicNetIpv6DnsPtrList | null; } /** IDs of Floating IPs assigned to this Server. */ export type UpdateServerResponseServerPublicNetFloatingIpsList = Array; /** Status of the Firewall on the Server. */ export type UpdateServerResponseServerPublicNetFirewallsItemStatus = "applied" | "pending"; export interface UpdateServerResponseServerPublicNetFirewallsItem { /** ID of the [Firewall](#tag/firewalls). */ id?: number; /** Status of the Firewall on the Server. */ status?: UpdateServerResponseServerPublicNetFirewallsItemStatus; } /** Firewalls applied to the public network interface of this Server. */ export type UpdateServerResponseServerPublicNetFirewallsList = Array; /** Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`. */ export interface UpdateServerResponseServerPublicNet { /** IP address (v4) and its reverse DNS entry of this Server. */ ipv4: CreateServerResponseServerPublicNetIpv4 | null; /** IPv6 network assigned to this Server and its reverse DNS entry. */ ipv6: UpdateServerResponseServerPublicNetIpv6 | null; /** IDs of Floating IPs assigned to this Server. */ floating_ips: UpdateServerResponseServerPublicNetFloatingIpsList; /** Firewalls applied to the public network interface of this Server. */ firewalls?: UpdateServerResponseServerPublicNetFirewallsList; } /** Additional IP addresses of the server on the network. */ export type UpdateServerResponseServerPrivateNetItemAliasIpsList = Array; export interface UpdateServerResponseServerPrivateNetItem { /** The Network ID the server is attached to. */ network?: number; /** The server IP address on the network. */ ip?: string; /** Additional IP addresses of the server on the network. */ alias_ips?: UpdateServerResponseServerPrivateNetItemAliasIpsList; /** The server MAC address on the network. */ mac_address?: string; } /** Private networks information. */ export type UpdateServerResponseServerPrivateNetList = Array; /** Hourly price in this [Location](#tag/locations). */ export type UpdateServerResponseServerServerTypePricesItemPriceHourly = CreateServerResponseServerServerTypePricesItemPriceHourly; /** Monthly price in this [Location](#tag/locations). */ export type UpdateServerResponseServerServerTypePricesItemPriceMonthly = CreateServerResponseServerServerTypePricesItemPriceHourly; /** Additional traffic price per TB in this [Location](#tag/locations). */ export type UpdateServerResponseServerServerTypePricesItemPricePerTbTraffic = CreateServerResponseServerServerTypePricesItemPriceHourly; export type UpdateServerResponseServerServerTypePricesItem = CreateServerResponseServerServerTypePricesItem; /** Price per [Location](#tag/locations). */ export type UpdateServerResponseServerServerTypePricesList = Array; /** Type of Server boot drive. Local has higher speed. Network has better availability. */ export type UpdateServerResponseServerServerTypeStorageType = "local" | "network"; /** Type of cpu. */ export type UpdateServerResponseServerServerTypeCpuType = "shared" | "dedicated"; /** CPU architecture of the Server Type. */ export type UpdateServerResponseServerServerTypeArchitecture = "x86" | "arm"; /** This field is deprecated. Use the `deprecation` object in the `locations` field instead (`.locations[].deprecation`). */ export type UpdateServerResponseServerServerTypeDeprecation = CreateServerResponseServerServerTypeDeprecation; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type UpdateServerResponseServerServerTypeLocationsItemDeprecation = CreateServerResponseServerServerTypeDeprecation; /** A [Location](#tag/locations) (containing only id and name) and Server Type specific metadata. */ export type UpdateServerResponseServerServerTypeLocationsItem = CreateServerResponseServerServerTypeLocationsItem; /** Supported [Location](#tag/locations) and per [Location](#tag/locations) details for the [Server Type](#tag/server-types). A [Server Type](#tag/server-types) is: - only supported in the [Location](#tag/locations) that are listed. - deprecated in the [Location](#tag/locations) when the `deprecation` property is set. - permanently unavailable in the [Location](#tag/locations) when the `deprecation.unavailable_after` date is in the past. - temporarily unavailable in the [Location](#tag/locations) when the `deprecation.available` is false. */ export type UpdateServerResponseServerServerTypeLocationsList = Array; export interface UpdateServerResponseServerServerType { /** ID of the Server type. */ id: number; /** Unique identifier of the Server type. */ name: string; /** Description of the Server type. */ description: string; /** Number of cpu cores a Server of this type will have. */ cores: number; /** Memory a Server of this type will have in GB. */ memory: number; /** Disk size a Server of this type will have in GB. */ disk: number; /** This field is deprecated. Use the deprecation object instead. */ deprecated: boolean; /** Price per [Location](#tag/locations). */ prices: UpdateServerResponseServerServerTypePricesList; /** Type of Server boot drive. Local has higher speed. Network has better availability. */ storage_type: UpdateServerResponseServerServerTypeStorageType; /** Type of cpu. */ cpu_type: UpdateServerResponseServerServerTypeCpuType; /** Category of Server Type. */ category?: string; /** CPU architecture of the Server Type. */ architecture: UpdateServerResponseServerServerTypeArchitecture; /** This field is deprecated. Use the `deprecation` object in the `locations` field instead (`.locations[].deprecation`). */ deprecation?: CreateServerResponseServerServerTypeDeprecation | null; /** Supported [Location](#tag/locations) and per [Location](#tag/locations) details for the [Server Type](#tag/server-types). A [Server Type](#tag/server-types) is: - only supported in the [Location](#tag/locations) that are listed. - deprecated in the [Location](#tag/locations) when the `deprecation` property is set. - permanently unavailable in the [Location](#tag/locations) when the `deprecation.unavailable_after` date is in the past. - temporarily unavailable in the [Location](#tag/locations) when the `deprecation.available` is false. */ locations: UpdateServerResponseServerServerTypeLocationsList; } /** Location this Resource is located at. */ export type UpdateServerResponseServerLocation = CreateServerResponseServerLocation; /** Type of the Image. */ export type UpdateServerResponseServerImageType = "system" | "app" | "snapshot" | "backup"; /** Status of the Image. */ export type UpdateServerResponseServerImageStatus = "available" | "creating" | "unavailable"; /** Information about the Server the Image was created from. */ export type UpdateServerResponseServerImageCreatedFrom = CreateServerResponseServerImageCreatedFrom; /** Flavor of operating system contained in the Image. */ export type UpdateServerResponseServerImageOsFlavor = "ubuntu" | "centos" | "debian" | "fedora" | "rocky" | "alma" | "opensuse" | "unknown"; /** Protection configuration for the Resource. */ export type UpdateServerResponseServerImageProtection = CreateServerResponseServerImageProtection; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type UpdateServerResponseServerImageDeprecation = CreateServerResponseServerServerTypeDeprecation; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type UpdateServerResponseServerImageLabelsMap = { [key: string]: string | undefined; }; /** CPU architecture compatible with the Image. */ export type UpdateServerResponseServerImageArchitecture = "x86" | "arm"; /** Image the server is based on. */ export interface UpdateServerResponseServerImage { /** ID of the [Image](#tag/images). */ id: number; /** Type of the Image. */ type: UpdateServerResponseServerImageType; /** Status of the Image. */ status: UpdateServerResponseServerImageStatus; /** Unique identifier of the Image. This value is only set for system Images. */ name: string | null; /** Description of the Image. */ description: string; /** Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image. */ image_size: number | null; /** Size of the disk contained in the Image in GB. */ disk_size: number; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Information about the Server the Image was created from. */ created_from: CreateServerResponseServerImageCreatedFrom | null; /** ID of Server the Image is bound to. Only set for Images of type `backup`. */ bound_to: number | null; /** Flavor of operating system contained in the Image. */ os_flavor: UpdateServerResponseServerImageOsFlavor; /** Operating system version. */ os_version: string | null; /** Indicates that rapid deploy of the Image is available. */ rapid_deploy?: boolean; /** Protection configuration for the Resource. */ protection: CreateServerResponseServerImageProtection; /** **Deprecated:** This field is deprecated, use the deprecation object instead. Point in time when the Image is considered to be deprecated (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ deprecated: string | null; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ deprecation: CreateServerResponseServerServerTypeDeprecation | null; /** Point in time where the Image was deleted (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ deleted: string | null; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: UpdateServerResponseServerImageLabelsMap; /** CPU architecture compatible with the Image. */ architecture: UpdateServerResponseServerImageArchitecture; } /** Type of the ISO. */ export type UpdateServerResponseServerIsoType = "public" | "private"; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ export type UpdateServerResponseServerIsoDeprecation = CreateServerResponseServerServerTypeDeprecation; /** CPU architecture compatible with the ISO. Null indicates no restriction on the architecture (wildcard). */ export type UpdateServerResponseServerIsoArchitecture = "x86" | "arm"; /** ISO Image that is attached to this Server. Null if no ISO is attached. */ export interface UpdateServerResponseServerIso { /** ID of the [ISO](#tag/isos). */ id: number; /** Unique identifier of the ISO. Only set for public ISOs. */ name: string | null; /** Description of the ISO. */ description: string; /** Type of the ISO. */ type: UpdateServerResponseServerIsoType | null; /** Describes if, when and how the resource is deprecated. If this field is set to `null` the resource is not deprecated. If a value is set, it is considered deprecated. */ deprecation: CreateServerResponseServerServerTypeDeprecation | null; /** CPU architecture compatible with the ISO. Null indicates no restriction on the architecture (wildcard). */ architecture: UpdateServerResponseServerIsoArchitecture | null; } /** Protection configuration for the Server. */ export type UpdateServerResponseServerProtection = CreateServerResponseServerProtection; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type UpdateServerResponseServerLabelsMap = { [key: string]: string | undefined; }; /** IDs of Volumes assigned to this Server. */ export type UpdateServerResponseServerVolumesList = Array; /** Load Balancer IDs assigned to the server. */ export type UpdateServerResponseServerLoadBalancersList = Array; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ export type UpdateServerResponseServerPlacementGroupLabelsMap = { [key: string]: string | undefined; }; /** Type of Placement Group. */ export type UpdateServerResponseServerPlacementGroupType = "spread"; /** Array of IDs of Servers that are part of this Placement Group. */ export type UpdateServerResponseServerPlacementGroupServersList = Array; /** The placement group the server is assigned to. */ export interface UpdateServerResponseServerPlacementGroup { /** ID of the [Placement Group](#tag/placement-groups). */ id: number; /** Name of the Resource. Must be unique per Project. */ name: string; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: UpdateServerResponseServerPlacementGroupLabelsMap; /** Type of Placement Group. */ type: UpdateServerResponseServerPlacementGroupType; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Array of IDs of Servers that are part of this Placement Group. */ servers: UpdateServerResponseServerPlacementGroupServersList; } export interface UpdateServerResponseServer { /** ID of the [Server](#tag/servers). */ id: number; /** Name of the Server (must be unique per Project and a valid hostname as per RFC 1123). */ name: string; /** Status of the Server. */ status: UpdateServerResponseServerStatus; /** Point in time when the Resource was created (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format). */ created: string; /** Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`. */ public_net: UpdateServerResponseServerPublicNet; /** Private networks information. */ private_net: UpdateServerResponseServerPrivateNetList; server_type: UpdateServerResponseServerServerType; /** Location this Resource is located at. */ location: CreateServerResponseServerLocation; /** Image the server is based on. */ image: UpdateServerResponseServerImage | null; /** ISO Image that is attached to this Server. Null if no ISO is attached. */ iso: UpdateServerResponseServerIso | null; /** True if rescue mode is enabled. Server will then boot into rescue system on next reboot. */ rescue_enabled: boolean; /** True if Server has been locked and is not available to user. */ locked: boolean; /** Time window (UTC) in which the backup will run, or null if the backups are not enabled. */ backup_window: string | null; /** Outbound Traffic for the current billing period in bytes. */ outgoing_traffic: number | null; /** Inbound Traffic for the current billing period in bytes. */ ingoing_traffic: number | null; /** Free Traffic for the current billing period in bytes. */ included_traffic: number | null; /** Protection configuration for the Server. */ protection: CreateServerResponseServerProtection; /** User-defined labels (`key/value` pairs) for the Resource. For more information, see "[Labels](#description/labels)". */ labels: UpdateServerResponseServerLabelsMap; /** IDs of Volumes assigned to this Server. */ volumes?: UpdateServerResponseServerVolumesList; /** Load Balancer IDs assigned to the server. */ load_balancers?: UpdateServerResponseServerLoadBalancersList; /** Size of the primary Disk. */ primary_disk_size: number; /** The placement group the server is assigned to. */ placement_group?: UpdateServerResponseServerPlacementGroup | null; } export interface UpdateServerResponse { server?: UpdateServerResponseServer; } export type CreateServerError = ServerLimitExceeded | ServerPlacementError | HetznerOpError; /** Create a Server Creates a new Server. Returns preliminary information about the Server as well as an Action that covers progress of creation. #### Operation specific errors */ export declare const createServer: API.OperationMethod; export type DeleteServerError = HetznerOpError; /** Delete a Server Deletes a Server. This immediately removes the Server from your account, and it is no longer accessible. Any resources attached to the server (like Volumes, Primary IPs, Floating IPs, Firewalls, Placement Groups) are detached while the server is deleted. */ export declare const deleteServer: API.OperationMethod; export type GetServerError = HetznerOpError; /** Get a Server Returns a specific Server object. The Server must exist inside the Project. */ export declare const getServer: API.OperationMethod; export type GetServerMetricsError = HetznerOpError; /** Get Metrics for a Server Get Metrics for specified Server. You must specify the type of metric to get: cpu, disk or network. You can also specify more than one type by comma separation, e.g. cpu,disk. Depending on the type you will get different time series data Note that the CPU value is not normalized to a fixed 0-100% scale. It is calculated per vCPU: a value of 100 represents full utilization on a 1-vCPU server, and 25% utilization on a 4-vCPU server. To calculate the overall CPU usage, divide the metric value by the number of vCPUs. Metrics are available for the last 30 days only. If you do not provide the step argument we will automatically adjust it so that a maximum of 200 samples are returned. We limit the number of samples returned to a maximum of 500 and will adjust the step parameter accordingly. */ export declare const getServerMetrics: API.OperationMethod; export type ListServersError = HetznerOpError; /** List Servers Returns all existing Server objects. */ export declare const listServers: API.PaginatedOperationMethod; export type UpdateServerError = HetznerOpError; /** Update a Server Updates a Server. You can update a Server's name and a Server's labels. Please note that Server names must be unique per Project and valid hostnames as per RFC 1123 (i.e. may only contain letters, digits, periods, and dashes). */ export declare const updateServer: API.OperationMethod; //# sourceMappingURL=servers.d.ts.map