import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface InstanceConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#activation_email Instance#activation_email} */ readonly activationEmail?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#app_id Instance#app_id} */ readonly appId?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#app_variables Instance#app_variables} */ readonly appVariables?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#backups Instance#backups} */ readonly backups?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#ddos_protection Instance#ddos_protection} */ readonly ddosProtection?: boolean | cdktf.IResolvable; /** * Don't set up a public IPv4 address when IPv6 is enabled. * Will not do anything unless enable_ipv6 is also true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#disable_public_ipv4 Instance#disable_public_ipv4} */ readonly disablePublicIpv4?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#enable_ipv6 Instance#enable_ipv6} */ readonly enableIpv6?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#firewall_group_id Instance#firewall_group_id} */ readonly firewallGroupId?: string; /** * The hostname of the instance. Updating the * hostname will cause a force new. This behavior is in place to prevent accidental reinstalls. Issuing an update to the * hostname on UI or API issues a reinstall of the OS. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#hostname Instance#hostname} */ readonly hostname?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#id Instance#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#image_id Instance#image_id} */ readonly imageId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#ipxe_chain_url Instance#ipxe_chain_url} */ readonly ipxeChainUrl?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#iso_id Instance#iso_id} */ readonly isoId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#label Instance#label} */ readonly label?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#os_id Instance#os_id} */ readonly osId?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#plan Instance#plan} */ readonly plan: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#region Instance#region} */ readonly region: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#reserved_ip_id Instance#reserved_ip_id} */ readonly reservedIpId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#script_id Instance#script_id} */ readonly scriptId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#snapshot_id Instance#snapshot_id} */ readonly snapshotId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#ssh_key_ids Instance#ssh_key_ids} */ readonly sshKeyIds?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#tags Instance#tags} */ readonly tags?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#user_data Instance#user_data} */ readonly userData?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#user_scheme Instance#user_scheme} */ readonly userScheme?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#vpc2_ids Instance#vpc2_ids} */ readonly vpc2Ids?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#vpc_ids Instance#vpc_ids} */ readonly vpcIds?: string[]; /** * backups_schedule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#backups_schedule Instance#backups_schedule} */ readonly backupsSchedule?: InstanceBackupsSchedule; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#timeouts Instance#timeouts} */ readonly timeouts?: InstanceTimeouts; } export interface InstanceBackupsSchedule { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#dom Instance#dom} */ readonly dom?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#dow Instance#dow} */ readonly dow?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#hour Instance#hour} */ readonly hour?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#type Instance#type} */ readonly type: string; } export declare function instanceBackupsScheduleToTerraform(struct?: InstanceBackupsScheduleOutputReference | InstanceBackupsSchedule): any; export declare function instanceBackupsScheduleToHclTerraform(struct?: InstanceBackupsScheduleOutputReference | InstanceBackupsSchedule): any; export declare class InstanceBackupsScheduleOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): InstanceBackupsSchedule | undefined; set internalValue(value: InstanceBackupsSchedule | undefined); private _dom?; get dom(): number; set dom(value: number); resetDom(): void; get domInput(): number; private _dow?; get dow(): number; set dow(value: number); resetDow(): void; get dowInput(): number; private _hour?; get hour(): number; set hour(value: number); resetHour(): void; get hourInput(): number; private _type?; get type(): string; set type(value: string); get typeInput(): string; } export interface InstanceTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#create Instance#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#update Instance#update} */ readonly update?: string; } export declare function instanceTimeoutsToTerraform(struct?: InstanceTimeouts | cdktf.IResolvable): any; export declare function instanceTimeoutsToHclTerraform(struct?: InstanceTimeouts | cdktf.IResolvable): any; export declare class InstanceTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): InstanceTimeouts | cdktf.IResolvable | undefined; set internalValue(value: InstanceTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance vultr_instance} */ export declare class Instance extends cdktf.TerraformResource { static readonly tfResourceType = "vultr_instance"; /** * Generates CDKTF code for importing a Instance resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the Instance to import * @param importFromId The id of the existing Instance that should be imported. Refer to the {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Instance to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/instance vultr_instance} 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 InstanceConfig */ constructor(scope: Construct, id: string, config: InstanceConfig); private _activationEmail?; get activationEmail(): boolean | cdktf.IResolvable; set activationEmail(value: boolean | cdktf.IResolvable); resetActivationEmail(): void; get activationEmailInput(): any; get allowedBandwidth(): any; private _appId?; get appId(): number; set appId(value: number); resetAppId(): void; get appIdInput(): number; private _appVariables?; get appVariables(): { [key: string]: string; }; set appVariables(value: { [key: string]: string; }); resetAppVariables(): void; get appVariablesInput(): { [key: string]: string; }; private _backups?; get backups(): string; set backups(value: string); resetBackups(): void; get backupsInput(): string; get dateCreated(): any; private _ddosProtection?; get ddosProtection(): boolean | cdktf.IResolvable; set ddosProtection(value: boolean | cdktf.IResolvable); resetDdosProtection(): void; get ddosProtectionInput(): any; get defaultPassword(): any; private _disablePublicIpv4?; get disablePublicIpv4(): boolean | cdktf.IResolvable; set disablePublicIpv4(value: boolean | cdktf.IResolvable); resetDisablePublicIpv4(): void; get disablePublicIpv4Input(): any; get disk(): any; private _enableIpv6?; get enableIpv6(): boolean | cdktf.IResolvable; set enableIpv6(value: boolean | cdktf.IResolvable); resetEnableIpv6(): void; get enableIpv6Input(): any; get features(): any; private _firewallGroupId?; get firewallGroupId(): string; set firewallGroupId(value: string); resetFirewallGroupId(): void; get firewallGroupIdInput(): string; get gatewayV4(): any; private _hostname?; get hostname(): string; set hostname(value: string); resetHostname(): void; get hostnameInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _imageId?; get imageId(): string; set imageId(value: string); resetImageId(): void; get imageIdInput(): string; get internalIp(): any; private _ipxeChainUrl?; get ipxeChainUrl(): string; set ipxeChainUrl(value: string); resetIpxeChainUrl(): void; get ipxeChainUrlInput(): string; private _isoId?; get isoId(): string; set isoId(value: string); resetIsoId(): void; get isoIdInput(): string; get kvm(): any; private _label?; get label(): string; set label(value: string); resetLabel(): void; get labelInput(): string; get mainIp(): any; get netmaskV4(): any; get os(): any; private _osId?; get osId(): number; set osId(value: number); resetOsId(): void; get osIdInput(): number; private _plan?; get plan(): string; set plan(value: string); get planInput(): string; get powerStatus(): any; get ram(): any; private _region?; get region(): string; set region(value: string); get regionInput(): string; private _reservedIpId?; get reservedIpId(): string; set reservedIpId(value: string); resetReservedIpId(): void; get reservedIpIdInput(): string; private _scriptId?; get scriptId(): string; set scriptId(value: string); resetScriptId(): void; get scriptIdInput(): string; get serverStatus(): any; private _snapshotId?; get snapshotId(): string; set snapshotId(value: string); resetSnapshotId(): void; get snapshotIdInput(): string; private _sshKeyIds?; get sshKeyIds(): string[]; set sshKeyIds(value: string[]); resetSshKeyIds(): void; get sshKeyIdsInput(): string[]; get status(): any; private _tags?; get tags(): string[]; set tags(value: string[]); resetTags(): void; get tagsInput(): string[]; private _userData?; get userData(): string; set userData(value: string); resetUserData(): void; get userDataInput(): string; private _userScheme?; get userScheme(): string; set userScheme(value: string); resetUserScheme(): void; get userSchemeInput(): string; get v6MainIp(): any; get v6Network(): any; get v6NetworkSize(): any; get vcpuCount(): any; private _vpc2Ids?; get vpc2Ids(): string[]; set vpc2Ids(value: string[]); resetVpc2Ids(): void; get vpc2IdsInput(): string[]; private _vpcIds?; get vpcIds(): string[]; set vpcIds(value: string[]); resetVpcIds(): void; get vpcIdsInput(): string[]; private _backupsSchedule; get backupsSchedule(): InstanceBackupsScheduleOutputReference; putBackupsSchedule(value: InstanceBackupsSchedule): void; resetBackupsSchedule(): void; get backupsScheduleInput(): InstanceBackupsSchedule; private _timeouts; get timeouts(): InstanceTimeoutsOutputReference; putTimeouts(value: InstanceTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }