import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface Instancev2Config extends cdktf.TerraformMetaArguments { /** * If true, application ports will be allowed in the security group for instances created * from the marketplace application template * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#allow_app_ports Instancev2#allow_app_ports} */ readonly allowAppPorts?: boolean | cdktf.IResolvable; /** * Flavor ID * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#flavor_id Instancev2#flavor_id} */ readonly flavorId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#id Instancev2#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; /** * Name of the keypair to use for the instance * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#keypair_name Instancev2#keypair_name} */ readonly keypairName?: string; /** * Create one or more metadata items for the instance * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#metadata_map Instancev2#metadata_map} */ readonly metadataMap?: { [key: string]: string; }; /** * Name of the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#name Instancev2#name} */ readonly name?: string; /** * Instance name template. You can use forms 'ip_octets', 'two_ip_octets', 'one_ip_octet' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#name_template Instancev2#name_template} */ readonly nameTemplate?: string; /** * * For Linux instances, 'username' and 'password' are used to create a new user. * When only 'password' is provided, it is set as the password for the default user of the image. 'user_data' is ignored * when 'password' is specified. For Windows instances, 'username' cannot be specified. Use the 'password' field to set * the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users * on Windows. The password of the Admin user cannot be updated via 'user_data' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#password Instancev2#password} */ readonly password?: string; /** * Project ID, only one of project_id or project_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#project_id Instancev2#project_id} */ readonly projectId?: number; /** * Project name, only one of project_id or project_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#project_name Instancev2#project_name} */ readonly projectName?: string; /** * Region ID, only one of region_id or region_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#region_id Instancev2#region_id} */ readonly regionId?: number; /** * Region name, only one of region_id or region_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#region_name Instancev2#region_name} */ readonly regionName?: string; /** * ID of the server group to use for the instance * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#server_group Instancev2#server_group} */ readonly serverGroup?: string; /** * * String in base64 format. For Linux instances, 'user_data' is ignored when 'password' field is provided. * For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'user_data' * * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#user_data Instancev2#user_data} */ readonly userData?: string; /** * * For Linux instances, 'username' and 'password' are used to create a new user. For Windows * instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#username Instancev2#username} */ readonly username?: string; /** * Current vm state, use stopped to stop vm and active to start * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#vm_state Instancev2#vm_state} */ readonly vmState?: string; /** * configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#configuration Instancev2#configuration} */ readonly configuration?: Instancev2Configuration[] | cdktf.IResolvable; /** * interface block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#interface Instancev2#interface} */ readonly interface: Instancev2Interface[] | cdktf.IResolvable; /** * volume block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#volume Instancev2#volume} */ readonly volume: Instancev2Volume[] | cdktf.IResolvable; } export interface Instancev2AddressesNet { } export declare function instancev2AddressesNetToTerraform(struct?: Instancev2AddressesNet): any; export declare function instancev2AddressesNetToHclTerraform(struct?: Instancev2AddressesNet): any; export declare class Instancev2AddressesNetOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): Instancev2AddressesNet | undefined; set internalValue(value: Instancev2AddressesNet | undefined); get addr(): any; get type(): any; } export declare class Instancev2AddressesNetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): Instancev2AddressesNetOutputReference; } export interface Instancev2Addresses { } export declare function instancev2AddressesToTerraform(struct?: Instancev2Addresses): any; export declare function instancev2AddressesToHclTerraform(struct?: Instancev2Addresses): any; export declare class Instancev2AddressesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): Instancev2Addresses | undefined; set internalValue(value: Instancev2Addresses | undefined); private _net; get net(): Instancev2AddressesNetList; } export declare class Instancev2AddressesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): Instancev2AddressesOutputReference; } export interface Instancev2MetadataReadOnly { } export declare function instancev2MetadataReadOnlyToTerraform(struct?: Instancev2MetadataReadOnly): any; export declare function instancev2MetadataReadOnlyToHclTerraform(struct?: Instancev2MetadataReadOnly): any; export declare class Instancev2MetadataReadOnlyOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): Instancev2MetadataReadOnly | undefined; set internalValue(value: Instancev2MetadataReadOnly | undefined); get key(): any; get readOnly(): any; get value(): any; } export declare class Instancev2MetadataReadOnlyList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): Instancev2MetadataReadOnlyOutputReference; } export interface Instancev2Configuration { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#key Instancev2#key} */ readonly key: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#value Instancev2#value} */ readonly value: string; } export declare function instancev2ConfigurationToTerraform(struct?: Instancev2Configuration | cdktf.IResolvable): any; export declare function instancev2ConfigurationToHclTerraform(struct?: Instancev2Configuration | cdktf.IResolvable): any; export declare class Instancev2ConfigurationOutputReference 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(): Instancev2Configuration | cdktf.IResolvable | undefined; set internalValue(value: Instancev2Configuration | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string; private _value?; get value(): string; set value(value: string); get valueInput(): string; } export declare class Instancev2ConfigurationList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: Instancev2Configuration[] | 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): Instancev2ConfigurationOutputReference; } export interface Instancev2Interface { /** * The id of the existing floating IP that will be attached to the interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#existing_fip_id Instancev2#existing_fip_id} */ readonly existingFipId?: string; /** * IP address for the interface. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#ip_address Instancev2#ip_address} */ readonly ipAddress?: string; /** * IP family for the interface, available values are 'dual', 'ipv4' and 'ipv6' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#ip_family Instancev2#ip_family} */ readonly ipFamily?: string; /** * Name of interface, should be unique for the instance * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#name Instancev2#name} */ readonly name: string; /** * required if type is 'subnet' or 'any_subnet' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#network_id Instancev2#network_id} */ readonly networkId?: string; /** * Order of attaching interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#order Instancev2#order} */ readonly order?: number; /** * required if type is 'reserved_fixed_ip' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#port_id Instancev2#port_id} */ readonly portId?: string; /** * list of security group IDs, they will be attached to exact interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#security_groups Instancev2#security_groups} */ readonly securityGroups: string[]; /** * required if type is 'subnet' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#subnet_id Instancev2#subnet_id} */ readonly subnetId?: string; /** * Available value is 'subnet', 'any_subnet', 'external', 'reserved_fixed_ip' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#type Instancev2#type} */ readonly type?: string; } export declare function instancev2InterfaceToTerraform(struct?: Instancev2Interface | cdktf.IResolvable): any; export declare function instancev2InterfaceToHclTerraform(struct?: Instancev2Interface | cdktf.IResolvable): any; export declare class Instancev2InterfaceOutputReference 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(): Instancev2Interface | cdktf.IResolvable | undefined; set internalValue(value: Instancev2Interface | cdktf.IResolvable | undefined); private _existingFipId?; get existingFipId(): string; set existingFipId(value: string); resetExistingFipId(): void; get existingFipIdInput(): string; private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); resetIpAddress(): void; get ipAddressInput(): string; private _ipFamily?; get ipFamily(): string; set ipFamily(value: string); resetIpFamily(): void; get ipFamilyInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _networkId?; get networkId(): string; set networkId(value: string); resetNetworkId(): void; get networkIdInput(): string; private _order?; get order(): number; set order(value: number); resetOrder(): void; get orderInput(): number; private _portId?; get portId(): string; set portId(value: string); resetPortId(): void; get portIdInput(): string; private _securityGroups?; get securityGroups(): string[]; set securityGroups(value: string[]); get securityGroupsInput(): string[]; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; } export declare class Instancev2InterfaceList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: Instancev2Interface[] | 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): Instancev2InterfaceOutputReference; } export interface Instancev2Volume { /** * If boot_index==0 volumes can not detached * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#boot_index Instancev2#boot_index} */ readonly bootIndex?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#volume_id Instancev2#volume_id} */ readonly volumeId: string; } export declare function instancev2VolumeToTerraform(struct?: Instancev2Volume | cdktf.IResolvable): any; export declare function instancev2VolumeToHclTerraform(struct?: Instancev2Volume | cdktf.IResolvable): any; export declare class Instancev2VolumeOutputReference 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(): Instancev2Volume | cdktf.IResolvable | undefined; set internalValue(value: Instancev2Volume | cdktf.IResolvable | undefined); get attachmentTag(): any; private _bootIndex?; get bootIndex(): number; set bootIndex(value: number); resetBootIndex(): void; get bootIndexInput(): number; get deleteOnTermination(): any; get id(): any; get imageId(): any; get name(): any; get size(): any; get typeName(): any; private _volumeId?; get volumeId(): string; set volumeId(value: string); get volumeIdInput(): string; } export declare class Instancev2VolumeList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: Instancev2Volume[] | 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): Instancev2VolumeOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2 gcore_instancev2} */ export declare class Instancev2 extends cdktf.TerraformResource { static readonly tfResourceType = "gcore_instancev2"; /** * Generates CDKTF code for importing a Instancev2 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 Instancev2 to import * @param importFromId The id of the existing Instancev2 that should be imported. Refer to the {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/instancev2#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Instancev2 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/g-core/gcore/0.32.5/docs/resources/instancev2 gcore_instancev2} 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 Instancev2Config */ constructor(scope: Construct, id: string, config: Instancev2Config); private _addresses; get addresses(): Instancev2AddressesList; private _allowAppPorts?; get allowAppPorts(): boolean | cdktf.IResolvable; set allowAppPorts(value: boolean | cdktf.IResolvable); resetAllowAppPorts(): void; get allowAppPortsInput(): any; private _flavor; get flavor(): any; private _flavorId?; get flavorId(): string; set flavorId(value: string); get flavorIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _keypairName?; get keypairName(): string; set keypairName(value: string); resetKeypairName(): void; get keypairNameInput(): string; get lastUpdated(): any; private _metadataMap?; get metadataMap(): { [key: string]: string; }; set metadataMap(value: { [key: string]: string; }); resetMetadataMap(): void; get metadataMapInput(): { [key: string]: string; }; private _metadataReadOnly; get metadataReadOnly(): Instancev2MetadataReadOnlyList; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _nameTemplate?; get nameTemplate(): string; set nameTemplate(value: string); resetNameTemplate(): void; get nameTemplateInput(): string; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _projectName?; get projectName(): string; set projectName(value: string); resetProjectName(): void; get projectNameInput(): string; private _regionId?; get regionId(): number; set regionId(value: number); resetRegionId(): void; get regionIdInput(): number; private _regionName?; get regionName(): string; set regionName(value: string); resetRegionName(): void; get regionNameInput(): string; private _serverGroup?; get serverGroup(): string; set serverGroup(value: string); resetServerGroup(): void; get serverGroupInput(): string; get status(): any; private _userData?; get userData(): string; set userData(value: string); resetUserData(): void; get userDataInput(): string; private _username?; get username(): string; set username(value: string); resetUsername(): void; get usernameInput(): string; private _vmState?; get vmState(): string; set vmState(value: string); resetVmState(): void; get vmStateInput(): string; private _configuration; get configuration(): Instancev2ConfigurationList; putConfiguration(value: Instancev2Configuration[] | cdktf.IResolvable): void; resetConfiguration(): void; get configurationInput(): any; private _interface; get interface(): Instancev2InterfaceList; putInterface(value: Instancev2Interface[] | cdktf.IResolvable): void; get interfaceInput(): any; private _volume; get volume(): Instancev2VolumeList; putVolume(value: Instancev2Volume[] | cdktf.IResolvable): void; get volumeInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }