UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

894 lines (893 loc) 42.8 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ServerConfig extends cdktf.TerraformMetaArguments { /** * The boot device order, `cdrom`|`disk`|`network` or comma separated combination of those values. Defaults to `disk` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#boot_order Server#boot_order} */ readonly bootOrder?: string; /** * The number of CPU cores for the server * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#cpu Server#cpu} */ readonly cpu?: number; /** * Are firewall rules active for the server * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#firewall Server#firewall} */ readonly firewall?: boolean | cdktf.IResolvable; /** * Use this to start the VM on a specific host. Refers to value from host -attribute. Only available for private cloud hosts * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#host Server#host} */ readonly host?: number; /** * The hostname of the server. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#hostname Server#hostname} */ readonly hostname: string; /** * If set to true, allows changing the server plan without requiring a reboot. This enables hot resizing of the server. If hot resizing fails, the apply operation will fail. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#hot_resize Server#hot_resize} */ readonly hotResize?: boolean | cdktf.IResolvable; /** * User defined key-value pairs to classify the server. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#labels Server#labels} */ readonly labels?: { [key: string]: string; }; /** * The amount of memory for the server (in megabytes) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#mem Server#mem} */ readonly mem?: number; /** * Is metadata service active for the server. The metadata service must be enabled when using recent cloud-init based templates. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#metadata Server#metadata} */ readonly metadata?: boolean | cdktf.IResolvable; /** * The model of the server's network interfaces * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#nic_model Server#nic_model} */ readonly nicModel?: string; /** * The pricing plan used for the server. You can list available server plans with `upctl server plans` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#plan Server#plan} */ readonly plan?: string; /** * The UUID of a server group to attach this server to. Note that the server can also be attached to a server group via the `members` property of `upcloud_server_group`. Only one of the these should be defined at a time. This value is only updated if it has been set to non-zero value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#server_group Server#server_group} */ readonly serverGroup?: string; /** * The server related tags * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#tags Server#tags} */ readonly tags?: string[]; /** * The timezone of the server. The timezone must be a valid timezone string, e.g. `Europe/Helsinki`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#timezone Server#timezone} */ readonly timezone?: string; /** * A short, informational description of the server. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#title Server#title} */ readonly title?: string; /** * Defines URL for a server setup script, or the script body itself * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#user_data Server#user_data} */ readonly userData?: string; /** * The model of the server's video interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#video_model Server#video_model} */ readonly videoModel?: string; /** * The zone in which the server will be hosted, e.g. `de-fra1`. You can list available zones with `upctl zone list`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#zone Server#zone} */ readonly zone: string; /** * login block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#login Server#login} */ readonly login?: ServerLogin[] | cdktf.IResolvable; /** * network_interface block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#network_interface Server#network_interface} */ readonly networkInterface?: ServerNetworkInterface[] | cdktf.IResolvable; /** * simple_backup block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#simple_backup Server#simple_backup} */ readonly simpleBackup?: ServerSimpleBackup[] | cdktf.IResolvable; /** * storage_devices block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#storage_devices Server#storage_devices} */ readonly storageDevices?: ServerStorageDevices[] | cdktf.IResolvable; /** * template block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#template Server#template} */ readonly template?: ServerTemplate[] | cdktf.IResolvable; } export interface ServerLogin { /** * Indicates a password should be create to allow access * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#create_password Server#create_password} */ readonly createPassword?: boolean | cdktf.IResolvable; /** * A list of ssh keys to access the server * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#keys Server#keys} */ readonly keys?: string[]; /** * The delivery method for the server's root password (one of `none`, `email` or `sms`) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#password_delivery Server#password_delivery} */ readonly passwordDelivery?: string; /** * Username to be create to access the server * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#user Server#user} */ readonly user?: string; } export declare function serverLoginToTerraform(struct?: ServerLogin | cdktf.IResolvable): any; export declare function serverLoginToHclTerraform(struct?: ServerLogin | cdktf.IResolvable): any; export declare class ServerLoginOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ServerLogin | cdktf.IResolvable | undefined; set internalValue(value: ServerLogin | cdktf.IResolvable | undefined); private _createPassword?; get createPassword(): boolean | cdktf.IResolvable; set createPassword(value: boolean | cdktf.IResolvable); resetCreatePassword(): void; get createPasswordInput(): boolean | cdktf.IResolvable | undefined; private _keys?; get keys(): string[]; set keys(value: string[]); resetKeys(): void; get keysInput(): string[] | undefined; private _passwordDelivery?; get passwordDelivery(): string; set passwordDelivery(value: string); resetPasswordDelivery(): void; get passwordDeliveryInput(): string | undefined; private _user?; get user(): string; set user(value: string); resetUser(): void; get userInput(): string | undefined; } export declare class ServerLoginList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ServerLogin[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ServerLoginOutputReference; } export interface ServerNetworkInterfaceAdditionalIpAddress { /** * An additional IP address for this interface. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#ip_address Server#ip_address} */ readonly ipAddress?: string; /** * The type of the additional IP address of this interface (one of `IPv4` or `IPv6`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#ip_address_family Server#ip_address_family} */ readonly ipAddressFamily?: string; } export declare function serverNetworkInterfaceAdditionalIpAddressToTerraform(struct?: ServerNetworkInterfaceAdditionalIpAddress | cdktf.IResolvable): any; export declare function serverNetworkInterfaceAdditionalIpAddressToHclTerraform(struct?: ServerNetworkInterfaceAdditionalIpAddress | cdktf.IResolvable): any; export declare class ServerNetworkInterfaceAdditionalIpAddressOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ServerNetworkInterfaceAdditionalIpAddress | cdktf.IResolvable | undefined; set internalValue(value: ServerNetworkInterfaceAdditionalIpAddress | cdktf.IResolvable | undefined); private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); resetIpAddress(): void; get ipAddressInput(): string | undefined; private _ipAddressFamily?; get ipAddressFamily(): string; set ipAddressFamily(value: string); resetIpAddressFamily(): void; get ipAddressFamilyInput(): string | undefined; get ipAddressFloating(): cdktf.IResolvable; } export declare class ServerNetworkInterfaceAdditionalIpAddressList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ServerNetworkInterfaceAdditionalIpAddress[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ServerNetworkInterfaceAdditionalIpAddressOutputReference; } export interface ServerNetworkInterface { /** * `true` if this interface should be used for network booting. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#bootable Server#bootable} */ readonly bootable?: boolean | cdktf.IResolvable; /** * The interface index. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#index Server#index} */ readonly index?: number; /** * The primary IP address of this interface. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#ip_address Server#ip_address} */ readonly ipAddress?: string; /** * The type of the primary IP address of this interface (one of `IPv4` or `IPv6`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#ip_address_family Server#ip_address_family} */ readonly ipAddressFamily?: string; /** * The UUID of the network to attach this interface to. Required for private network interfaces. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#network Server#network} */ readonly network?: string; /** * `true` if source IP should be filtered. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#source_ip_filtering Server#source_ip_filtering} */ readonly sourceIpFiltering?: boolean | cdktf.IResolvable; /** * Network interface type. For private network interfaces, a network must be specified with an existing network id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#type Server#type} */ readonly type: string; /** * additional_ip_address block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#additional_ip_address Server#additional_ip_address} */ readonly additionalIpAddress?: ServerNetworkInterfaceAdditionalIpAddress[] | cdktf.IResolvable; } export declare function serverNetworkInterfaceToTerraform(struct?: ServerNetworkInterface | cdktf.IResolvable): any; export declare function serverNetworkInterfaceToHclTerraform(struct?: ServerNetworkInterface | cdktf.IResolvable): any; export declare class ServerNetworkInterfaceOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ServerNetworkInterface | cdktf.IResolvable | undefined; set internalValue(value: ServerNetworkInterface | cdktf.IResolvable | undefined); private _bootable?; get bootable(): boolean | cdktf.IResolvable; set bootable(value: boolean | cdktf.IResolvable); resetBootable(): void; get bootableInput(): boolean | cdktf.IResolvable | undefined; private _index?; get index(): number; set index(value: number); resetIndex(): void; get indexInput(): number | undefined; private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); resetIpAddress(): void; get ipAddressInput(): string | undefined; private _ipAddressFamily?; get ipAddressFamily(): string; set ipAddressFamily(value: string); resetIpAddressFamily(): void; get ipAddressFamilyInput(): string | undefined; get ipAddressFloating(): cdktf.IResolvable; get macAddress(): string; private _network?; get network(): string; set network(value: string); resetNetwork(): void; get networkInput(): string | undefined; private _sourceIpFiltering?; get sourceIpFiltering(): boolean | cdktf.IResolvable; set sourceIpFiltering(value: boolean | cdktf.IResolvable); resetSourceIpFiltering(): void; get sourceIpFilteringInput(): boolean | cdktf.IResolvable | undefined; private _type?; get type(): string; set type(value: string); get typeInput(): string | undefined; private _additionalIpAddress; get additionalIpAddress(): ServerNetworkInterfaceAdditionalIpAddressList; putAdditionalIpAddress(value: ServerNetworkInterfaceAdditionalIpAddress[] | cdktf.IResolvable): void; resetAdditionalIpAddress(): void; get additionalIpAddressInput(): cdktf.IResolvable | ServerNetworkInterfaceAdditionalIpAddress[] | undefined; } export declare class ServerNetworkInterfaceList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ServerNetworkInterface[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ServerNetworkInterfaceOutputReference; } export interface ServerSimpleBackup { /** * Simple backup plan. Accepted values: daily, dailies, weeklies, monthlies. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#plan Server#plan} */ readonly plan?: string; /** * Time of the day at which backup will be taken. Should be provided in a hhmm format (e.g. 2230). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#time Server#time} */ readonly time?: string; } export declare function serverSimpleBackupToTerraform(struct?: ServerSimpleBackup | cdktf.IResolvable): any; export declare function serverSimpleBackupToHclTerraform(struct?: ServerSimpleBackup | cdktf.IResolvable): any; export declare class ServerSimpleBackupOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ServerSimpleBackup | cdktf.IResolvable | undefined; set internalValue(value: ServerSimpleBackup | cdktf.IResolvable | undefined); private _plan?; get plan(): string; set plan(value: string); resetPlan(): void; get planInput(): string | undefined; private _time?; get time(): string; set time(value: string); resetTime(): void; get timeInput(): string | undefined; } export declare class ServerSimpleBackupList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ServerSimpleBackup[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ServerSimpleBackupOutputReference; } export interface ServerStorageDevices { /** * The device address the storage will be attached to (`scsi`|`virtio`|`ide`). Leave `address_position` field empty to auto-select next available address from that bus. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#address Server#address} */ readonly address?: string; /** * The device position in the given bus (defined via field `address`). Valid values for address `virtio` are `0-15` (`0`, for example). Valid values for `scsi` or `ide` are `0-1:0-1` (`0:0`, for example). Leave empty to auto-select next available address in the given bus. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#address_position Server#address_position} */ readonly addressPosition?: string; /** * The UUID of the storage to attach to the server. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#storage Server#storage} */ readonly storage?: string; /** * The device type the storage will be attached as * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#type Server#type} */ readonly type?: string; } export declare function serverStorageDevicesToTerraform(struct?: ServerStorageDevices | cdktf.IResolvable): any; export declare function serverStorageDevicesToHclTerraform(struct?: ServerStorageDevices | cdktf.IResolvable): any; export declare class ServerStorageDevicesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ServerStorageDevices | cdktf.IResolvable | undefined; set internalValue(value: ServerStorageDevices | cdktf.IResolvable | undefined); private _address?; get address(): string; set address(value: string); resetAddress(): void; get addressInput(): string | undefined; private _addressPosition?; get addressPosition(): string; set addressPosition(value: string); resetAddressPosition(): void; get addressPositionInput(): string | undefined; private _storage?; get storage(): string; set storage(value: string); resetStorage(): void; get storageInput(): string | undefined; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string | undefined; } export declare class ServerStorageDevicesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ServerStorageDevices[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ServerStorageDevicesOutputReference; } export interface ServerTemplateBackupRule { /** * The weekday when the backup is created * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#interval Server#interval} */ readonly interval: string; /** * The number of days before a backup is automatically deleted * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#retention Server#retention} */ readonly retention: number; /** * The time of day (UTC) when the backup is created * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#time Server#time} */ readonly time: string; } export declare function serverTemplateBackupRuleToTerraform(struct?: ServerTemplateBackupRule | cdktf.IResolvable): any; export declare function serverTemplateBackupRuleToHclTerraform(struct?: ServerTemplateBackupRule | cdktf.IResolvable): any; export declare class ServerTemplateBackupRuleOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ServerTemplateBackupRule | cdktf.IResolvable | undefined; set internalValue(value: ServerTemplateBackupRule | cdktf.IResolvable | undefined); private _interval?; get interval(): string; set interval(value: string); get intervalInput(): string | undefined; private _retention?; get retention(): number; set retention(value: number); get retentionInput(): number | undefined; private _time?; get time(): string; set time(value: string); get timeInput(): string | undefined; } export declare class ServerTemplateBackupRuleList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ServerTemplateBackupRule[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ServerTemplateBackupRuleOutputReference; } export interface ServerTemplate { /** * The device address the storage will be attached to (`scsi`|`virtio`|`ide`). Leave `address_position` field empty to auto-select next available address from that bus. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#address Server#address} */ readonly address?: string; /** * The device position in the given bus (defined via field `address`). For example `0:0`, or `0`. Leave empty to auto-select next available address in the given bus. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#address_position Server#address_position} */ readonly addressPosition?: string; /** * If set to true, the backup taken before the partition and filesystem resize attempt will be deleted immediately after success. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#delete_autoresize_backup Server#delete_autoresize_backup} */ readonly deleteAutoresizeBackup?: boolean | cdktf.IResolvable; /** * Sets if the storage is encrypted at rest * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#encrypt Server#encrypt} */ readonly encrypt?: boolean | cdktf.IResolvable; /** * If set to true, provider will attempt to resize partition and filesystem when the size of template storage changes. * Please note that before the resize attempt is made, backup of the storage will be taken. If the resize attempt fails, the backup will be used * to restore the storage and then deleted. If the resize attempt succeeds, backup will be kept (unless delete_autoresize_backup option is set to true). * Taking and keeping backups incure costs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#filesystem_autoresize Server#filesystem_autoresize} */ readonly filesystemAutoresize?: boolean | cdktf.IResolvable; /** * The size of the storage in gigabytes * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#size Server#size} */ readonly size?: number; /** * A valid storage UUID or template name. You can list available public templates with `upctl storage list --public --template` and available private templates with `upctl storage list --template`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#storage Server#storage} */ readonly storage?: string; /** * The storage tier to use. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#tier Server#tier} */ readonly tier?: string; /** * A short, informative description * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#title Server#title} */ readonly title?: string; /** * backup_rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#backup_rule Server#backup_rule} */ readonly backupRule?: ServerTemplateBackupRule[] | cdktf.IResolvable; } export declare function serverTemplateToTerraform(struct?: ServerTemplate | cdktf.IResolvable): any; export declare function serverTemplateToHclTerraform(struct?: ServerTemplate | cdktf.IResolvable): any; export declare class ServerTemplateOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ServerTemplate | cdktf.IResolvable | undefined; set internalValue(value: ServerTemplate | cdktf.IResolvable | undefined); private _address?; get address(): string; set address(value: string); resetAddress(): void; get addressInput(): string | undefined; private _addressPosition?; get addressPosition(): string; set addressPosition(value: string); resetAddressPosition(): void; get addressPositionInput(): string | undefined; private _deleteAutoresizeBackup?; get deleteAutoresizeBackup(): boolean | cdktf.IResolvable; set deleteAutoresizeBackup(value: boolean | cdktf.IResolvable); resetDeleteAutoresizeBackup(): void; get deleteAutoresizeBackupInput(): boolean | cdktf.IResolvable | undefined; private _encrypt?; get encrypt(): boolean | cdktf.IResolvable; set encrypt(value: boolean | cdktf.IResolvable); resetEncrypt(): void; get encryptInput(): boolean | cdktf.IResolvable | undefined; private _filesystemAutoresize?; get filesystemAutoresize(): boolean | cdktf.IResolvable; set filesystemAutoresize(value: boolean | cdktf.IResolvable); resetFilesystemAutoresize(): void; get filesystemAutoresizeInput(): boolean | cdktf.IResolvable | undefined; get id(): string; private _size?; get size(): number; set size(value: number); resetSize(): void; get sizeInput(): number | undefined; private _storage?; get storage(): string; set storage(value: string); resetStorage(): void; get storageInput(): string | undefined; private _tier?; get tier(): string; set tier(value: string); resetTier(): void; get tierInput(): string | undefined; private _title?; get title(): string; set title(value: string); resetTitle(): void; get titleInput(): string | undefined; private _backupRule; get backupRule(): ServerTemplateBackupRuleList; putBackupRule(value: ServerTemplateBackupRule[] | cdktf.IResolvable): void; resetBackupRule(): void; get backupRuleInput(): cdktf.IResolvable | ServerTemplateBackupRule[] | undefined; } export declare class ServerTemplateList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ServerTemplate[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ServerTemplateOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server upcloud_server} */ export declare class Server extends cdktf.TerraformResource { static readonly tfResourceType = "upcloud_server"; /** * Generates CDKTF code for importing a Server resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the Server to import * @param importFromId The id of the existing Server that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Server to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/server upcloud_server} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options ServerConfig */ constructor(scope: Construct, id: string, config: ServerConfig); private _bootOrder?; get bootOrder(): string; set bootOrder(value: string); resetBootOrder(): void; get bootOrderInput(): string | undefined; private _cpu?; get cpu(): number; set cpu(value: number); resetCpu(): void; get cpuInput(): number | undefined; private _firewall?; get firewall(): boolean | cdktf.IResolvable; set firewall(value: boolean | cdktf.IResolvable); resetFirewall(): void; get firewallInput(): boolean | cdktf.IResolvable | undefined; private _host?; get host(): number; set host(value: number); resetHost(): void; get hostInput(): number | undefined; private _hostname?; get hostname(): string; set hostname(value: string); get hostnameInput(): string | undefined; private _hotResize?; get hotResize(): boolean | cdktf.IResolvable; set hotResize(value: boolean | cdktf.IResolvable); resetHotResize(): void; get hotResizeInput(): boolean | cdktf.IResolvable | undefined; get id(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _mem?; get mem(): number; set mem(value: number); resetMem(): void; get memInput(): number | undefined; private _metadata?; get metadata(): boolean | cdktf.IResolvable; set metadata(value: boolean | cdktf.IResolvable); resetMetadata(): void; get metadataInput(): boolean | cdktf.IResolvable | undefined; private _nicModel?; get nicModel(): string; set nicModel(value: string); resetNicModel(): void; get nicModelInput(): string | undefined; private _plan?; get plan(): string; set plan(value: string); resetPlan(): void; get planInput(): string | undefined; private _serverGroup?; get serverGroup(): string; set serverGroup(value: string); resetServerGroup(): void; get serverGroupInput(): string | undefined; private _tags?; get tags(): string[]; set tags(value: string[]); resetTags(): void; get tagsInput(): string[] | undefined; private _timezone?; get timezone(): string; set timezone(value: string); resetTimezone(): void; get timezoneInput(): string | undefined; private _title?; get title(): string; set title(value: string); resetTitle(): void; get titleInput(): string | undefined; private _userData?; get userData(): string; set userData(value: string); resetUserData(): void; get userDataInput(): string | undefined; private _videoModel?; get videoModel(): string; set videoModel(value: string); resetVideoModel(): void; get videoModelInput(): string | undefined; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string | undefined; private _login; get login(): ServerLoginList; putLogin(value: ServerLogin[] | cdktf.IResolvable): void; resetLogin(): void; get loginInput(): cdktf.IResolvable | ServerLogin[] | undefined; private _networkInterface; get networkInterface(): ServerNetworkInterfaceList; putNetworkInterface(value: ServerNetworkInterface[] | cdktf.IResolvable): void; resetNetworkInterface(): void; get networkInterfaceInput(): cdktf.IResolvable | ServerNetworkInterface[] | undefined; private _simpleBackup; get simpleBackup(): ServerSimpleBackupList; putSimpleBackup(value: ServerSimpleBackup[] | cdktf.IResolvable): void; resetSimpleBackup(): void; get simpleBackupInput(): cdktf.IResolvable | ServerSimpleBackup[] | undefined; private _storageDevices; get storageDevices(): ServerStorageDevicesList; putStorageDevices(value: ServerStorageDevices[] | cdktf.IResolvable): void; resetStorageDevices(): void; get storageDevicesInput(): cdktf.IResolvable | ServerStorageDevices[] | undefined; private _template; get template(): ServerTemplateList; putTemplate(value: ServerTemplate[] | cdktf.IResolvable): void; resetTemplate(): void; get templateInput(): cdktf.IResolvable | ServerTemplate[] | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }