import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface GpuVirtualClusterConfig extends cdktf.TerraformMetaArguments { /** * Flavor name for the GPU cluster * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#flavor GpuVirtualCluster#flavor} */ readonly flavor: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#id GpuVirtualCluster#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 GPU cluster * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#name GpuVirtualCluster#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#project_id GpuVirtualCluster#project_id} */ readonly projectId?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#project_name GpuVirtualCluster#project_name} */ readonly projectName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#region_id GpuVirtualCluster#region_id} */ readonly regionId?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#region_name GpuVirtualCluster#region_name} */ readonly regionName?: string; /** * Number of servers in the GPU cluster * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#servers_count GpuVirtualCluster#servers_count} */ readonly serversCount: number; /** * Tags to associate with the GPU cluster * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#tags GpuVirtualCluster#tags} */ readonly tags?: { [key: string]: string; }; /** * servers_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#servers_settings GpuVirtualCluster#servers_settings} */ readonly serversSettings: GpuVirtualClusterServersSettings; } export interface GpuVirtualClusterServersSettingsCredentials { /** * Password for the instance * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#password GpuVirtualCluster#password} */ readonly password?: string; /** * Name of the keypair to use for SSH access * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#ssh_key_name GpuVirtualCluster#ssh_key_name} */ readonly sshKeyName?: string; /** * Username for the instance * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#username GpuVirtualCluster#username} */ readonly username?: string; } export declare function gpuVirtualClusterServersSettingsCredentialsToTerraform(struct?: GpuVirtualClusterServersSettingsCredentialsOutputReference | GpuVirtualClusterServersSettingsCredentials): any; export declare function gpuVirtualClusterServersSettingsCredentialsToHclTerraform(struct?: GpuVirtualClusterServersSettingsCredentialsOutputReference | GpuVirtualClusterServersSettingsCredentials): any; export declare class GpuVirtualClusterServersSettingsCredentialsOutputReference 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(): GpuVirtualClusterServersSettingsCredentials | undefined; set internalValue(value: GpuVirtualClusterServersSettingsCredentials | undefined); private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; private _sshKeyName?; get sshKeyName(): string; set sshKeyName(value: string); resetSshKeyName(): void; get sshKeyNameInput(): string; private _username?; get username(): string; set username(value: string); resetUsername(): void; get usernameInput(): string; } export interface GpuVirtualClusterServersSettingsInterfaceFloatingIp { /** * Source of the floating IP * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#source GpuVirtualCluster#source} */ readonly source: string; } export declare function gpuVirtualClusterServersSettingsInterfaceFloatingIpToTerraform(struct?: GpuVirtualClusterServersSettingsInterfaceFloatingIpOutputReference | GpuVirtualClusterServersSettingsInterfaceFloatingIp): any; export declare function gpuVirtualClusterServersSettingsInterfaceFloatingIpToHclTerraform(struct?: GpuVirtualClusterServersSettingsInterfaceFloatingIpOutputReference | GpuVirtualClusterServersSettingsInterfaceFloatingIp): any; export declare class GpuVirtualClusterServersSettingsInterfaceFloatingIpOutputReference 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(): GpuVirtualClusterServersSettingsInterfaceFloatingIp | undefined; set internalValue(value: GpuVirtualClusterServersSettingsInterfaceFloatingIp | undefined); private _source?; get source(): string; set source(value: string); get sourceInput(): string; } export interface GpuVirtualClusterServersSettingsInterface { /** * IP address for the interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#ip_address GpuVirtualCluster#ip_address} */ readonly ipAddress?: string; /** * IP family for the interface (dual, ipv4, ipv6) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#ip_family GpuVirtualCluster#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/gpu_virtual_cluster#name GpuVirtualCluster#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/gpu_virtual_cluster#network_id GpuVirtualCluster#network_id} */ readonly networkId?: string; /** * Required if type is 'subnet' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#subnet_id GpuVirtualCluster#subnet_id} */ readonly subnetId?: string; /** * Interface type (subnet, any_subnet, external) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#type GpuVirtualCluster#type} */ readonly type: string; /** * floating_ip block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#floating_ip GpuVirtualCluster#floating_ip} */ readonly floatingIp?: GpuVirtualClusterServersSettingsInterfaceFloatingIp; } export declare function gpuVirtualClusterServersSettingsInterfaceToTerraform(struct?: GpuVirtualClusterServersSettingsInterface | cdktf.IResolvable): any; export declare function gpuVirtualClusterServersSettingsInterfaceToHclTerraform(struct?: GpuVirtualClusterServersSettingsInterface | cdktf.IResolvable): any; export declare class GpuVirtualClusterServersSettingsInterfaceOutputReference 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(): GpuVirtualClusterServersSettingsInterface | cdktf.IResolvable | undefined; set internalValue(value: GpuVirtualClusterServersSettingsInterface | cdktf.IResolvable | undefined); 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 _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _type?; get type(): string; set type(value: string); get typeInput(): string; private _floatingIp; get floatingIp(): GpuVirtualClusterServersSettingsInterfaceFloatingIpOutputReference; putFloatingIp(value: GpuVirtualClusterServersSettingsInterfaceFloatingIp): void; resetFloatingIp(): void; get floatingIpInput(): GpuVirtualClusterServersSettingsInterfaceFloatingIp; } export declare class GpuVirtualClusterServersSettingsInterfaceList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: GpuVirtualClusterServersSettingsInterface[] | 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): GpuVirtualClusterServersSettingsInterfaceOutputReference; } export interface GpuVirtualClusterServersSettingsVolume { /** * Boot order for the volume * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#boot_index GpuVirtualCluster#boot_index} */ readonly bootIndex: number; /** * Whether to delete the volume when the cluster is terminated * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#delete_on_termination GpuVirtualCluster#delete_on_termination} */ readonly deleteOnTermination?: boolean | cdktf.IResolvable; /** * ID of the image to use (required if source is 'image') * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#image_id GpuVirtualCluster#image_id} */ readonly imageId?: string; /** * Name of the volume * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#name GpuVirtualCluster#name} */ readonly name: string; /** * Size of the volume in GB * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#size GpuVirtualCluster#size} */ readonly size: number; /** * ID of the snapshot to use (required if source is 'snapshot') * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#snapshot_id GpuVirtualCluster#snapshot_id} */ readonly snapshotId?: string; /** * Volume source (new, image, snapshot) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#source GpuVirtualCluster#source} */ readonly source: string; /** * Tags to associate with the volume * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#tags GpuVirtualCluster#tags} */ readonly tags?: { [key: string]: string; }; /** * Type of volume * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#type GpuVirtualCluster#type} */ readonly type: string; } export declare function gpuVirtualClusterServersSettingsVolumeToTerraform(struct?: GpuVirtualClusterServersSettingsVolume | cdktf.IResolvable): any; export declare function gpuVirtualClusterServersSettingsVolumeToHclTerraform(struct?: GpuVirtualClusterServersSettingsVolume | cdktf.IResolvable): any; export declare class GpuVirtualClusterServersSettingsVolumeOutputReference 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(): GpuVirtualClusterServersSettingsVolume | cdktf.IResolvable | undefined; set internalValue(value: GpuVirtualClusterServersSettingsVolume | cdktf.IResolvable | undefined); private _bootIndex?; get bootIndex(): number; set bootIndex(value: number); get bootIndexInput(): number; private _deleteOnTermination?; get deleteOnTermination(): boolean | cdktf.IResolvable; set deleteOnTermination(value: boolean | cdktf.IResolvable); resetDeleteOnTermination(): void; get deleteOnTerminationInput(): any; private _imageId?; get imageId(): string; set imageId(value: string); resetImageId(): void; get imageIdInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _size?; get size(): number; set size(value: number); get sizeInput(): number; private _snapshotId?; get snapshotId(): string; set snapshotId(value: string); resetSnapshotId(): void; get snapshotIdInput(): string; private _source?; get source(): string; set source(value: string); get sourceInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _type?; get type(): string; set type(value: string); get typeInput(): string; } export declare class GpuVirtualClusterServersSettingsVolumeList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: GpuVirtualClusterServersSettingsVolume[] | 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): GpuVirtualClusterServersSettingsVolumeOutputReference; } export interface GpuVirtualClusterServersSettings { /** * List of security group IDs to associate with the cluster * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#security_groups GpuVirtualCluster#security_groups} */ readonly securityGroups?: string[]; /** * User data to provide to the instance for cloud-init * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#user_data GpuVirtualCluster#user_data} */ readonly userData?: string; /** * credentials block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#credentials GpuVirtualCluster#credentials} */ readonly credentials?: GpuVirtualClusterServersSettingsCredentials; /** * interface block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#interface GpuVirtualCluster#interface} */ readonly interface: GpuVirtualClusterServersSettingsInterface[] | cdktf.IResolvable; /** * volume block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#volume GpuVirtualCluster#volume} */ readonly volume: GpuVirtualClusterServersSettingsVolume[] | cdktf.IResolvable; } export declare function gpuVirtualClusterServersSettingsToTerraform(struct?: GpuVirtualClusterServersSettingsOutputReference | GpuVirtualClusterServersSettings): any; export declare function gpuVirtualClusterServersSettingsToHclTerraform(struct?: GpuVirtualClusterServersSettingsOutputReference | GpuVirtualClusterServersSettings): any; export declare class GpuVirtualClusterServersSettingsOutputReference 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(): GpuVirtualClusterServersSettings | undefined; set internalValue(value: GpuVirtualClusterServersSettings | undefined); private _securityGroups?; get securityGroups(): string[]; set securityGroups(value: string[]); resetSecurityGroups(): void; get securityGroupsInput(): string[]; private _userData?; get userData(): string; set userData(value: string); resetUserData(): void; get userDataInput(): string; private _credentials; get credentials(): GpuVirtualClusterServersSettingsCredentialsOutputReference; putCredentials(value: GpuVirtualClusterServersSettingsCredentials): void; resetCredentials(): void; get credentialsInput(): GpuVirtualClusterServersSettingsCredentials; private _interface; get interface(): GpuVirtualClusterServersSettingsInterfaceList; putInterface(value: GpuVirtualClusterServersSettingsInterface[] | cdktf.IResolvable): void; get interfaceInput(): any; private _volume; get volume(): GpuVirtualClusterServersSettingsVolumeList; putVolume(value: GpuVirtualClusterServersSettingsVolume[] | cdktf.IResolvable): void; get volumeInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster gcore_gpu_virtual_cluster} */ export declare class GpuVirtualCluster extends cdktf.TerraformResource { static readonly tfResourceType = "gcore_gpu_virtual_cluster"; /** * Generates CDKTF code for importing a GpuVirtualCluster 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 GpuVirtualCluster to import * @param importFromId The id of the existing GpuVirtualCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/gpu_virtual_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the GpuVirtualCluster 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/gpu_virtual_cluster gcore_gpu_virtual_cluster} 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 GpuVirtualClusterConfig */ constructor(scope: Construct, id: string, config: GpuVirtualClusterConfig); private _flavor?; get flavor(): string; set flavor(value: string); get flavorInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): 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 _serversCount?; get serversCount(): number; set serversCount(value: number); get serversCountInput(): number; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _serversSettings; get serversSettings(): GpuVirtualClusterServersSettingsOutputReference; putServersSettings(value: GpuVirtualClusterServersSettings): void; get serversSettingsInput(): GpuVirtualClusterServersSettings; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }