gcore.AiCluster
Explore with Pulumi AI
Represent GPU cluster
Example Usage
Prerequisite
import * as pulumi from "@pulumi/pulumi";
import * as gcore from "@pulumi/gcore";
const project = gcore.getProject({
name: "Default",
});
const region = gcore.getRegion({
name: "Luxembourg-2",
});
const network = new gcore.Network("network", {
type: "vlan",
projectId: project.then(project => project.id),
regionId: region.then(region => region.id),
});
const subnet = new gcore.Subnet("subnet", {
cidr: "192.168.10.0/24",
networkId: network.networkId,
projectId: project.then(project => project.id),
regionId: region.then(region => region.id),
});
const keypair = new gcore.Keypair("keypair", {
projectId: project.then(project => project.id),
sshkeyName: "my-keypair",
publicKey: "ssh-ed25519 ...your public key... gcore@gcore.com",
});
import pulumi
import pulumi_gcore as gcore
project = gcore.get_project(name="Default")
region = gcore.get_region(name="Luxembourg-2")
network = gcore.Network("network",
type="vlan",
project_id=project.id,
region_id=region.id)
subnet = gcore.Subnet("subnet",
cidr="192.168.10.0/24",
network_id=network.network_id,
project_id=project.id,
region_id=region.id)
keypair = gcore.Keypair("keypair",
project_id=project.id,
sshkey_name="my-keypair",
public_key="ssh-ed25519 ...your public key... gcore@gcore.com")
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
project, err := gcore.GetProject(ctx, &gcore.GetProjectArgs{
Name: "Default",
}, nil)
if err != nil {
return err
}
region, err := gcore.GetRegion(ctx, &gcore.GetRegionArgs{
Name: "Luxembourg-2",
}, nil)
if err != nil {
return err
}
network, err := gcore.NewNetwork(ctx, "network", &gcore.NetworkArgs{
Type: pulumi.String("vlan"),
ProjectId: pulumi.String(project.Id),
RegionId: pulumi.String(region.Id),
})
if err != nil {
return err
}
_, err = gcore.NewSubnet(ctx, "subnet", &gcore.SubnetArgs{
Cidr: pulumi.String("192.168.10.0/24"),
NetworkId: network.NetworkId,
ProjectId: pulumi.String(project.Id),
RegionId: pulumi.String(region.Id),
})
if err != nil {
return err
}
_, err = gcore.NewKeypair(ctx, "keypair", &gcore.KeypairArgs{
ProjectId: pulumi.String(project.Id),
SshkeyName: pulumi.String("my-keypair"),
PublicKey: pulumi.String("ssh-ed25519 ...your public key... gcore@gcore.com"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcore = Pulumi.Gcore;
return await Deployment.RunAsync(() =>
{
var project = Gcore.GetProject.Invoke(new()
{
Name = "Default",
});
var region = Gcore.GetRegion.Invoke(new()
{
Name = "Luxembourg-2",
});
var network = new Gcore.Network("network", new()
{
Type = "vlan",
ProjectId = project.Apply(getProjectResult => getProjectResult.Id),
RegionId = region.Apply(getRegionResult => getRegionResult.Id),
});
var subnet = new Gcore.Subnet("subnet", new()
{
Cidr = "192.168.10.0/24",
NetworkId = network.NetworkId,
ProjectId = project.Apply(getProjectResult => getProjectResult.Id),
RegionId = region.Apply(getRegionResult => getRegionResult.Id),
});
var keypair = new Gcore.Keypair("keypair", new()
{
ProjectId = project.Apply(getProjectResult => getProjectResult.Id),
SshkeyName = "my-keypair",
PublicKey = "ssh-ed25519 ...your public key... gcore@gcore.com",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcore.GcoreFunctions;
import com.pulumi.gcore.inputs.GetProjectArgs;
import com.pulumi.gcore.inputs.GetRegionArgs;
import com.pulumi.gcore.Network;
import com.pulumi.gcore.NetworkArgs;
import com.pulumi.gcore.Subnet;
import com.pulumi.gcore.SubnetArgs;
import com.pulumi.gcore.Keypair;
import com.pulumi.gcore.KeypairArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var project = GcoreFunctions.getProject(GetProjectArgs.builder()
.name("Default")
.build());
final var region = GcoreFunctions.getRegion(GetRegionArgs.builder()
.name("Luxembourg-2")
.build());
var network = new Network("network", NetworkArgs.builder()
.type("vlan")
.projectId(project.applyValue(getProjectResult -> getProjectResult.id()))
.regionId(region.applyValue(getRegionResult -> getRegionResult.id()))
.build());
var subnet = new Subnet("subnet", SubnetArgs.builder()
.cidr("192.168.10.0/24")
.networkId(network.networkId())
.projectId(project.applyValue(getProjectResult -> getProjectResult.id()))
.regionId(region.applyValue(getRegionResult -> getRegionResult.id()))
.build());
var keypair = new Keypair("keypair", KeypairArgs.builder()
.projectId(project.applyValue(getProjectResult -> getProjectResult.id()))
.sshkeyName("my-keypair")
.publicKey("ssh-ed25519 ...your public key... gcore@gcore.com")
.build());
}
}
resources:
network:
type: gcore:Network
properties:
type: vlan
projectId: ${project.id}
regionId: ${region.id}
subnet:
type: gcore:Subnet
properties:
cidr: 192.168.10.0/24
networkId: ${network.networkId}
projectId: ${project.id}
regionId: ${region.id}
keypair:
type: gcore:Keypair
properties:
projectId: ${project.id}
sshkeyName: my-keypair
publicKey: ssh-ed25519 ...your public key... gcore@gcore.com
variables:
project:
fn::invoke:
function: gcore:getProject
arguments:
name: Default
region:
fn::invoke:
function: gcore:getRegion
arguments:
name: Luxembourg-2
Basic example
Creating GPU cluster of one node with one public interface and metadata provided
import * as pulumi from "@pulumi/pulumi";
import * as gcore from "@pulumi/gcore";
const gpuCluster = new gcore.AiCluster("gpuCluster", {
flavor: "bm3-ai-1xlarge-h100-80-8",
imageId: "37c4fa17-1f18-4904-95f2-dbf39d0318fe",
clusterName: "my-gpu-cluster",
keypairName: "my-keypair",
instancesCount: 1,
interfaces: [{
type: "external",
}],
clusterMetadata: {
"my-metadata-key": "my-metadata-value",
},
projectId: data.gcore_project.project.id,
regionId: data.gcore_region.region.id,
});
import pulumi
import pulumi_gcore as gcore
gpu_cluster = gcore.AiCluster("gpuCluster",
flavor="bm3-ai-1xlarge-h100-80-8",
image_id="37c4fa17-1f18-4904-95f2-dbf39d0318fe",
cluster_name="my-gpu-cluster",
keypair_name="my-keypair",
instances_count=1,
interfaces=[{
"type": "external",
}],
cluster_metadata={
"my-metadata-key": "my-metadata-value",
},
project_id=data["gcore_project"]["project"]["id"],
region_id=data["gcore_region"]["region"]["id"])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := gcore.NewAiCluster(ctx, "gpuCluster", &gcore.AiClusterArgs{
Flavor: pulumi.String("bm3-ai-1xlarge-h100-80-8"),
ImageId: pulumi.String("37c4fa17-1f18-4904-95f2-dbf39d0318fe"),
ClusterName: pulumi.String("my-gpu-cluster"),
KeypairName: pulumi.String("my-keypair"),
InstancesCount: pulumi.Float64(1),
Interfaces: gcore.AiClusterInterfaceArray{
&gcore.AiClusterInterfaceArgs{
Type: pulumi.String("external"),
},
},
ClusterMetadata: pulumi.StringMap{
"my-metadata-key": pulumi.String("my-metadata-value"),
},
ProjectId: pulumi.Any(data.Gcore_project.Project.Id),
RegionId: pulumi.Any(data.Gcore_region.Region.Id),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcore = Pulumi.Gcore;
return await Deployment.RunAsync(() =>
{
var gpuCluster = new Gcore.AiCluster("gpuCluster", new()
{
Flavor = "bm3-ai-1xlarge-h100-80-8",
ImageId = "37c4fa17-1f18-4904-95f2-dbf39d0318fe",
ClusterName = "my-gpu-cluster",
KeypairName = "my-keypair",
InstancesCount = 1,
Interfaces = new[]
{
new Gcore.Inputs.AiClusterInterfaceArgs
{
Type = "external",
},
},
ClusterMetadata =
{
{ "my-metadata-key", "my-metadata-value" },
},
ProjectId = data.Gcore_project.Project.Id,
RegionId = data.Gcore_region.Region.Id,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcore.AiCluster;
import com.pulumi.gcore.AiClusterArgs;
import com.pulumi.gcore.inputs.AiClusterInterfaceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var gpuCluster = new AiCluster("gpuCluster", AiClusterArgs.builder()
.flavor("bm3-ai-1xlarge-h100-80-8")
.imageId("37c4fa17-1f18-4904-95f2-dbf39d0318fe")
.clusterName("my-gpu-cluster")
.keypairName("my-keypair")
.instancesCount(1)
.interfaces(AiClusterInterfaceArgs.builder()
.type("external")
.build())
.clusterMetadata(Map.of("my-metadata-key", "my-metadata-value"))
.projectId(data.gcore_project().project().id())
.regionId(data.gcore_region().region().id())
.build());
}
}
resources:
gpuCluster:
type: gcore:AiCluster
properties:
flavor: bm3-ai-1xlarge-h100-80-8
imageId: 37c4fa17-1f18-4904-95f2-dbf39d0318fe
clusterName: my-gpu-cluster
keypairName: my-keypair
instancesCount: 1
interfaces:
- type: external
clusterMetadata:
my-metadata-key: my-metadata-value
projectId: ${data.gcore_project.project.id}
regionId: ${data.gcore_region.region.id}
Creating GPU cluster with two interfaces
This example demonstrates how to create a baremetal GPU cluster with two network interfaces: one public and one private.
import * as pulumi from "@pulumi/pulumi";
import * as gcore from "@pulumi/gcore";
const gpuCluster = new gcore.AiCluster("gpuCluster", {
flavor: "bm3-ai-1xlarge-h100-80-8",
imageId: "37c4fa17-1f18-4904-95f2-dbf39d0318fe",
clusterName: "my-gpu-cluster",
keypairName: "my-keypair",
instancesCount: 1,
interfaces: [
{
type: "external",
},
{
type: "subnet",
networkId: gcore_network.network.id,
subnetId: gcore_subnet.subnet.id,
},
],
projectId: data.gcore_project.project.id,
regionId: data.gcore_region.region.id,
});
import pulumi
import pulumi_gcore as gcore
gpu_cluster = gcore.AiCluster("gpuCluster",
flavor="bm3-ai-1xlarge-h100-80-8",
image_id="37c4fa17-1f18-4904-95f2-dbf39d0318fe",
cluster_name="my-gpu-cluster",
keypair_name="my-keypair",
instances_count=1,
interfaces=[
{
"type": "external",
},
{
"type": "subnet",
"network_id": gcore_network["network"]["id"],
"subnet_id": gcore_subnet["subnet"]["id"],
},
],
project_id=data["gcore_project"]["project"]["id"],
region_id=data["gcore_region"]["region"]["id"])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := gcore.NewAiCluster(ctx, "gpuCluster", &gcore.AiClusterArgs{
Flavor: pulumi.String("bm3-ai-1xlarge-h100-80-8"),
ImageId: pulumi.String("37c4fa17-1f18-4904-95f2-dbf39d0318fe"),
ClusterName: pulumi.String("my-gpu-cluster"),
KeypairName: pulumi.String("my-keypair"),
InstancesCount: pulumi.Float64(1),
Interfaces: gcore.AiClusterInterfaceArray{
&gcore.AiClusterInterfaceArgs{
Type: pulumi.String("external"),
},
&gcore.AiClusterInterfaceArgs{
Type: pulumi.String("subnet"),
NetworkId: pulumi.Any(gcore_network.Network.Id),
SubnetId: pulumi.Any(gcore_subnet.Subnet.Id),
},
},
ProjectId: pulumi.Any(data.Gcore_project.Project.Id),
RegionId: pulumi.Any(data.Gcore_region.Region.Id),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcore = Pulumi.Gcore;
return await Deployment.RunAsync(() =>
{
var gpuCluster = new Gcore.AiCluster("gpuCluster", new()
{
Flavor = "bm3-ai-1xlarge-h100-80-8",
ImageId = "37c4fa17-1f18-4904-95f2-dbf39d0318fe",
ClusterName = "my-gpu-cluster",
KeypairName = "my-keypair",
InstancesCount = 1,
Interfaces = new[]
{
new Gcore.Inputs.AiClusterInterfaceArgs
{
Type = "external",
},
new Gcore.Inputs.AiClusterInterfaceArgs
{
Type = "subnet",
NetworkId = gcore_network.Network.Id,
SubnetId = gcore_subnet.Subnet.Id,
},
},
ProjectId = data.Gcore_project.Project.Id,
RegionId = data.Gcore_region.Region.Id,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcore.AiCluster;
import com.pulumi.gcore.AiClusterArgs;
import com.pulumi.gcore.inputs.AiClusterInterfaceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var gpuCluster = new AiCluster("gpuCluster", AiClusterArgs.builder()
.flavor("bm3-ai-1xlarge-h100-80-8")
.imageId("37c4fa17-1f18-4904-95f2-dbf39d0318fe")
.clusterName("my-gpu-cluster")
.keypairName("my-keypair")
.instancesCount(1)
.interfaces(
AiClusterInterfaceArgs.builder()
.type("external")
.build(),
AiClusterInterfaceArgs.builder()
.type("subnet")
.networkId(gcore_network.network().id())
.subnetId(gcore_subnet.subnet().id())
.build())
.projectId(data.gcore_project().project().id())
.regionId(data.gcore_region().region().id())
.build());
}
}
resources:
gpuCluster:
type: gcore:AiCluster
properties:
flavor: bm3-ai-1xlarge-h100-80-8
imageId: 37c4fa17-1f18-4904-95f2-dbf39d0318fe
clusterName: my-gpu-cluster
keypairName: my-keypair
instancesCount: 1
interfaces:
- type: external
- type: subnet
networkId: ${gcore_network.network.id}
subnetId: ${gcore_subnet.subnet.id}
projectId: ${data.gcore_project.project.id}
regionId: ${data.gcore_region.region.id}
Create AiCluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new AiCluster(name: string, args: AiClusterArgs, opts?: CustomResourceOptions);
@overload
def AiCluster(resource_name: str,
args: AiClusterArgs,
opts: Optional[ResourceOptions] = None)
@overload
def AiCluster(resource_name: str,
opts: Optional[ResourceOptions] = None,
flavor: Optional[str] = None,
interfaces: Optional[Sequence[AiClusterInterfaceArgs]] = None,
cluster_name: Optional[str] = None,
image_id: Optional[str] = None,
keypair_name: Optional[str] = None,
project_name: Optional[str] = None,
instances_count: Optional[float] = None,
cluster_metadata: Optional[Mapping[str, str]] = None,
ai_cluster_id: Optional[str] = None,
password: Optional[str] = None,
project_id: Optional[float] = None,
cluster_status: Optional[str] = None,
region_id: Optional[float] = None,
region_name: Optional[str] = None,
security_groups: Optional[Sequence[AiClusterSecurityGroupArgs]] = None,
user_data: Optional[str] = None,
username: Optional[str] = None,
volumes: Optional[Sequence[AiClusterVolumeArgs]] = None)
func NewAiCluster(ctx *Context, name string, args AiClusterArgs, opts ...ResourceOption) (*AiCluster, error)
public AiCluster(string name, AiClusterArgs args, CustomResourceOptions? opts = null)
public AiCluster(String name, AiClusterArgs args)
public AiCluster(String name, AiClusterArgs args, CustomResourceOptions options)
type: gcore:AiCluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args AiClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args AiClusterArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args AiClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AiClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args AiClusterArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var aiClusterResource = new Gcore.AiCluster("aiClusterResource", new()
{
Flavor = "string",
Interfaces = new[]
{
new Gcore.Inputs.AiClusterInterfaceArgs
{
NetworkId = "string",
PortId = "string",
SubnetId = "string",
Type = "string",
},
},
ClusterName = "string",
ImageId = "string",
KeypairName = "string",
ProjectName = "string",
InstancesCount = 0,
ClusterMetadata =
{
{ "string", "string" },
},
AiClusterId = "string",
Password = "string",
ProjectId = 0,
ClusterStatus = "string",
RegionId = 0,
RegionName = "string",
SecurityGroups = new[]
{
new Gcore.Inputs.AiClusterSecurityGroupArgs
{
Id = "string",
},
},
UserData = "string",
Username = "string",
Volumes = new[]
{
new Gcore.Inputs.AiClusterVolumeArgs
{
ImageId = "string",
Attachments = new[]
{
new Gcore.Inputs.AiClusterVolumeAttachmentArgs
{
AttachedAt = "string",
AttachmentId = "string",
Device = "string",
InstanceName = "string",
ServerId = "string",
VolumeId = "string",
},
},
CreatedAt = "string",
CreatorTaskId = "string",
Name = "string",
Size = 0,
Source = "string",
Status = "string",
UpdatedAt = "string",
VolumeId = "string",
VolumeImageMetadata =
{
{ "string", "string" },
},
VolumeType = "string",
},
},
});
example, err := gcore.NewAiCluster(ctx, "aiClusterResource", &gcore.AiClusterArgs{
Flavor: pulumi.String("string"),
Interfaces: gcore.AiClusterInterfaceArray{
&gcore.AiClusterInterfaceArgs{
NetworkId: pulumi.String("string"),
PortId: pulumi.String("string"),
SubnetId: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
ClusterName: pulumi.String("string"),
ImageId: pulumi.String("string"),
KeypairName: pulumi.String("string"),
ProjectName: pulumi.String("string"),
InstancesCount: pulumi.Float64(0),
ClusterMetadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
AiClusterId: pulumi.String("string"),
Password: pulumi.String("string"),
ProjectId: pulumi.Float64(0),
ClusterStatus: pulumi.String("string"),
RegionId: pulumi.Float64(0),
RegionName: pulumi.String("string"),
SecurityGroups: gcore.AiClusterSecurityGroupArray{
&gcore.AiClusterSecurityGroupArgs{
Id: pulumi.String("string"),
},
},
UserData: pulumi.String("string"),
Username: pulumi.String("string"),
Volumes: gcore.AiClusterVolumeArray{
&gcore.AiClusterVolumeArgs{
ImageId: pulumi.String("string"),
Attachments: gcore.AiClusterVolumeAttachmentArray{
&gcore.AiClusterVolumeAttachmentArgs{
AttachedAt: pulumi.String("string"),
AttachmentId: pulumi.String("string"),
Device: pulumi.String("string"),
InstanceName: pulumi.String("string"),
ServerId: pulumi.String("string"),
VolumeId: pulumi.String("string"),
},
},
CreatedAt: pulumi.String("string"),
CreatorTaskId: pulumi.String("string"),
Name: pulumi.String("string"),
Size: pulumi.Float64(0),
Source: pulumi.String("string"),
Status: pulumi.String("string"),
UpdatedAt: pulumi.String("string"),
VolumeId: pulumi.String("string"),
VolumeImageMetadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
VolumeType: pulumi.String("string"),
},
},
})
var aiClusterResource = new AiCluster("aiClusterResource", AiClusterArgs.builder()
.flavor("string")
.interfaces(AiClusterInterfaceArgs.builder()
.networkId("string")
.portId("string")
.subnetId("string")
.type("string")
.build())
.clusterName("string")
.imageId("string")
.keypairName("string")
.projectName("string")
.instancesCount(0)
.clusterMetadata(Map.of("string", "string"))
.aiClusterId("string")
.password("string")
.projectId(0)
.clusterStatus("string")
.regionId(0)
.regionName("string")
.securityGroups(AiClusterSecurityGroupArgs.builder()
.id("string")
.build())
.userData("string")
.username("string")
.volumes(AiClusterVolumeArgs.builder()
.imageId("string")
.attachments(AiClusterVolumeAttachmentArgs.builder()
.attachedAt("string")
.attachmentId("string")
.device("string")
.instanceName("string")
.serverId("string")
.volumeId("string")
.build())
.createdAt("string")
.creatorTaskId("string")
.name("string")
.size(0)
.source("string")
.status("string")
.updatedAt("string")
.volumeId("string")
.volumeImageMetadata(Map.of("string", "string"))
.volumeType("string")
.build())
.build());
ai_cluster_resource = gcore.AiCluster("aiClusterResource",
flavor="string",
interfaces=[{
"network_id": "string",
"port_id": "string",
"subnet_id": "string",
"type": "string",
}],
cluster_name="string",
image_id="string",
keypair_name="string",
project_name="string",
instances_count=0,
cluster_metadata={
"string": "string",
},
ai_cluster_id="string",
password="string",
project_id=0,
cluster_status="string",
region_id=0,
region_name="string",
security_groups=[{
"id": "string",
}],
user_data="string",
username="string",
volumes=[{
"image_id": "string",
"attachments": [{
"attached_at": "string",
"attachment_id": "string",
"device": "string",
"instance_name": "string",
"server_id": "string",
"volume_id": "string",
}],
"created_at": "string",
"creator_task_id": "string",
"name": "string",
"size": 0,
"source": "string",
"status": "string",
"updated_at": "string",
"volume_id": "string",
"volume_image_metadata": {
"string": "string",
},
"volume_type": "string",
}])
const aiClusterResource = new gcore.AiCluster("aiClusterResource", {
flavor: "string",
interfaces: [{
networkId: "string",
portId: "string",
subnetId: "string",
type: "string",
}],
clusterName: "string",
imageId: "string",
keypairName: "string",
projectName: "string",
instancesCount: 0,
clusterMetadata: {
string: "string",
},
aiClusterId: "string",
password: "string",
projectId: 0,
clusterStatus: "string",
regionId: 0,
regionName: "string",
securityGroups: [{
id: "string",
}],
userData: "string",
username: "string",
volumes: [{
imageId: "string",
attachments: [{
attachedAt: "string",
attachmentId: "string",
device: "string",
instanceName: "string",
serverId: "string",
volumeId: "string",
}],
createdAt: "string",
creatorTaskId: "string",
name: "string",
size: 0,
source: "string",
status: "string",
updatedAt: "string",
volumeId: "string",
volumeImageMetadata: {
string: "string",
},
volumeType: "string",
}],
});
type: gcore:AiCluster
properties:
aiClusterId: string
clusterMetadata:
string: string
clusterName: string
clusterStatus: string
flavor: string
imageId: string
instancesCount: 0
interfaces:
- networkId: string
portId: string
subnetId: string
type: string
keypairName: string
password: string
projectId: 0
projectName: string
regionId: 0
regionName: string
securityGroups:
- id: string
userData: string
username: string
volumes:
- attachments:
- attachedAt: string
attachmentId: string
device: string
instanceName: string
serverId: string
volumeId: string
createdAt: string
creatorTaskId: string
imageId: string
name: string
size: 0
source: string
status: string
updatedAt: string
volumeId: string
volumeImageMetadata:
string: string
volumeType: string
AiCluster Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The AiCluster resource accepts the following input properties:
- Cluster
Name string - GPU Cluster Name
- Flavor string
- Flavor ID (name)
- Image
Id string - Image ID
- Interfaces
List<Ai
Cluster Interface> - Networks managed by user and associated with the cluster
- Ai
Cluster stringId - The ID of this resource.
- Cluster
Metadata Dictionary<string, string> - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- Cluster
Status string - GPU Cluster status
- Instances
Count double - Number of servers in the GPU cluster
- Keypair
Name string - The name of the SSH keypair to use for the GPU servers
- Password string
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- Project
Id double - Project ID, only one of projectid or projectname should be set
- Project
Name string - Project name, only one of projectid or projectname should be set
- Region
Id double - Region ID, only one of regionid or regionname should be set
- Region
Name string - Region name, only one of regionid or regionname should be set
- Security
Groups List<AiCluster Security Group> - Security groups attached to the cluster
- User
Data string - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- Username string
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- Volumes
List<Ai
Cluster Volume> - List of volumes attached to the cluster
- Cluster
Name string - GPU Cluster Name
- Flavor string
- Flavor ID (name)
- Image
Id string - Image ID
- Interfaces
[]Ai
Cluster Interface Args - Networks managed by user and associated with the cluster
- Ai
Cluster stringId - The ID of this resource.
- Cluster
Metadata map[string]string - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- Cluster
Status string - GPU Cluster status
- Instances
Count float64 - Number of servers in the GPU cluster
- Keypair
Name string - The name of the SSH keypair to use for the GPU servers
- Password string
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- Project
Id float64 - Project ID, only one of projectid or projectname should be set
- Project
Name string - Project name, only one of projectid or projectname should be set
- Region
Id float64 - Region ID, only one of regionid or regionname should be set
- Region
Name string - Region name, only one of regionid or regionname should be set
- Security
Groups []AiCluster Security Group Args - Security groups attached to the cluster
- User
Data string - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- Username string
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- Volumes
[]Ai
Cluster Volume Args - List of volumes attached to the cluster
- cluster
Name String - GPU Cluster Name
- flavor String
- Flavor ID (name)
- image
Id String - Image ID
- interfaces
List<Ai
Cluster Interface> - Networks managed by user and associated with the cluster
- ai
Cluster StringId - The ID of this resource.
- cluster
Metadata Map<String,String> - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- cluster
Status String - GPU Cluster status
- instances
Count Double - Number of servers in the GPU cluster
- keypair
Name String - The name of the SSH keypair to use for the GPU servers
- password String
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- project
Id Double - Project ID, only one of projectid or projectname should be set
- project
Name String - Project name, only one of projectid or projectname should be set
- region
Id Double - Region ID, only one of regionid or regionname should be set
- region
Name String - Region name, only one of regionid or regionname should be set
- security
Groups List<AiCluster Security Group> - Security groups attached to the cluster
- user
Data String - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- username String
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- volumes
List<Ai
Cluster Volume> - List of volumes attached to the cluster
- cluster
Name string - GPU Cluster Name
- flavor string
- Flavor ID (name)
- image
Id string - Image ID
- interfaces
Ai
Cluster Interface[] - Networks managed by user and associated with the cluster
- ai
Cluster stringId - The ID of this resource.
- cluster
Metadata {[key: string]: string} - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- cluster
Status string - GPU Cluster status
- instances
Count number - Number of servers in the GPU cluster
- keypair
Name string - The name of the SSH keypair to use for the GPU servers
- password string
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- project
Id number - Project ID, only one of projectid or projectname should be set
- project
Name string - Project name, only one of projectid or projectname should be set
- region
Id number - Region ID, only one of regionid or regionname should be set
- region
Name string - Region name, only one of regionid or regionname should be set
- security
Groups AiCluster Security Group[] - Security groups attached to the cluster
- user
Data string - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- username string
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- volumes
Ai
Cluster Volume[] - List of volumes attached to the cluster
- cluster_
name str - GPU Cluster Name
- flavor str
- Flavor ID (name)
- image_
id str - Image ID
- interfaces
Sequence[Ai
Cluster Interface Args] - Networks managed by user and associated with the cluster
- ai_
cluster_ strid - The ID of this resource.
- cluster_
metadata Mapping[str, str] - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- cluster_
status str - GPU Cluster status
- instances_
count float - Number of servers in the GPU cluster
- keypair_
name str - The name of the SSH keypair to use for the GPU servers
- password str
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- project_
id float - Project ID, only one of projectid or projectname should be set
- project_
name str - Project name, only one of projectid or projectname should be set
- region_
id float - Region ID, only one of regionid or regionname should be set
- region_
name str - Region name, only one of regionid or regionname should be set
- security_
groups Sequence[AiCluster Security Group Args] - Security groups attached to the cluster
- user_
data str - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- username str
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- volumes
Sequence[Ai
Cluster Volume Args] - List of volumes attached to the cluster
- cluster
Name String - GPU Cluster Name
- flavor String
- Flavor ID (name)
- image
Id String - Image ID
- interfaces List<Property Map>
- Networks managed by user and associated with the cluster
- ai
Cluster StringId - The ID of this resource.
- cluster
Metadata Map<String> - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- cluster
Status String - GPU Cluster status
- instances
Count Number - Number of servers in the GPU cluster
- keypair
Name String - The name of the SSH keypair to use for the GPU servers
- password String
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- project
Id Number - Project ID, only one of projectid or projectname should be set
- project
Name String - Project name, only one of projectid or projectname should be set
- region
Id Number - Region ID, only one of regionid or regionname should be set
- region
Name String - Region name, only one of regionid or regionname should be set
- security
Groups List<Property Map> - Security groups attached to the cluster
- user
Data String - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- username String
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- volumes List<Property Map>
- List of volumes attached to the cluster
Outputs
All input properties are implicitly available as output properties. Additionally, the AiCluster resource produces the following output properties:
- Created
At string - Datetime when the GPU cluster was created
- Creator
Task stringId - Task that created this entity
- Id string
- The provider-assigned unique ID for this managed resource.
- Image
Name string - Image name
- Poplar
Servers List<AiCluster Poplar Server> - GPU cluster servers list
- Task
Id string - Task ID associated with the cluster
- Task
Status string - Task status
- Created
At string - Datetime when the GPU cluster was created
- Creator
Task stringId - Task that created this entity
- Id string
- The provider-assigned unique ID for this managed resource.
- Image
Name string - Image name
- Poplar
Servers []AiCluster Poplar Server - GPU cluster servers list
- Task
Id string - Task ID associated with the cluster
- Task
Status string - Task status
- created
At String - Datetime when the GPU cluster was created
- creator
Task StringId - Task that created this entity
- id String
- The provider-assigned unique ID for this managed resource.
- image
Name String - Image name
- poplar
Servers List<AiCluster Poplar Server> - GPU cluster servers list
- task
Id String - Task ID associated with the cluster
- task
Status String - Task status
- created
At string - Datetime when the GPU cluster was created
- creator
Task stringId - Task that created this entity
- id string
- The provider-assigned unique ID for this managed resource.
- image
Name string - Image name
- poplar
Servers AiCluster Poplar Server[] - GPU cluster servers list
- task
Id string - Task ID associated with the cluster
- task
Status string - Task status
- created_
at str - Datetime when the GPU cluster was created
- creator_
task_ strid - Task that created this entity
- id str
- The provider-assigned unique ID for this managed resource.
- image_
name str - Image name
- poplar_
servers Sequence[AiCluster Poplar Server] - GPU cluster servers list
- task_
id str - Task ID associated with the cluster
- task_
status str - Task status
- created
At String - Datetime when the GPU cluster was created
- creator
Task StringId - Task that created this entity
- id String
- The provider-assigned unique ID for this managed resource.
- image
Name String - Image name
- poplar
Servers List<Property Map> - GPU cluster servers list
- task
Id String - Task ID associated with the cluster
- task
Status String - Task status
Look up Existing AiCluster Resource
Get an existing AiCluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: AiClusterState, opts?: CustomResourceOptions): AiCluster
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
ai_cluster_id: Optional[str] = None,
cluster_metadata: Optional[Mapping[str, str]] = None,
cluster_name: Optional[str] = None,
cluster_status: Optional[str] = None,
created_at: Optional[str] = None,
creator_task_id: Optional[str] = None,
flavor: Optional[str] = None,
image_id: Optional[str] = None,
image_name: Optional[str] = None,
instances_count: Optional[float] = None,
interfaces: Optional[Sequence[AiClusterInterfaceArgs]] = None,
keypair_name: Optional[str] = None,
password: Optional[str] = None,
poplar_servers: Optional[Sequence[AiClusterPoplarServerArgs]] = None,
project_id: Optional[float] = None,
project_name: Optional[str] = None,
region_id: Optional[float] = None,
region_name: Optional[str] = None,
security_groups: Optional[Sequence[AiClusterSecurityGroupArgs]] = None,
task_id: Optional[str] = None,
task_status: Optional[str] = None,
user_data: Optional[str] = None,
username: Optional[str] = None,
volumes: Optional[Sequence[AiClusterVolumeArgs]] = None) -> AiCluster
func GetAiCluster(ctx *Context, name string, id IDInput, state *AiClusterState, opts ...ResourceOption) (*AiCluster, error)
public static AiCluster Get(string name, Input<string> id, AiClusterState? state, CustomResourceOptions? opts = null)
public static AiCluster get(String name, Output<String> id, AiClusterState state, CustomResourceOptions options)
resources: _: type: gcore:AiCluster get: id: ${id}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Ai
Cluster stringId - The ID of this resource.
- Cluster
Metadata Dictionary<string, string> - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- Cluster
Name string - GPU Cluster Name
- Cluster
Status string - GPU Cluster status
- Created
At string - Datetime when the GPU cluster was created
- Creator
Task stringId - Task that created this entity
- Flavor string
- Flavor ID (name)
- Image
Id string - Image ID
- Image
Name string - Image name
- Instances
Count double - Number of servers in the GPU cluster
- Interfaces
List<Ai
Cluster Interface> - Networks managed by user and associated with the cluster
- Keypair
Name string - The name of the SSH keypair to use for the GPU servers
- Password string
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- Poplar
Servers List<AiCluster Poplar Server> - GPU cluster servers list
- Project
Id double - Project ID, only one of projectid or projectname should be set
- Project
Name string - Project name, only one of projectid or projectname should be set
- Region
Id double - Region ID, only one of regionid or regionname should be set
- Region
Name string - Region name, only one of regionid or regionname should be set
- Security
Groups List<AiCluster Security Group> - Security groups attached to the cluster
- Task
Id string - Task ID associated with the cluster
- Task
Status string - Task status
- User
Data string - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- Username string
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- Volumes
List<Ai
Cluster Volume> - List of volumes attached to the cluster
- Ai
Cluster stringId - The ID of this resource.
- Cluster
Metadata map[string]string - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- Cluster
Name string - GPU Cluster Name
- Cluster
Status string - GPU Cluster status
- Created
At string - Datetime when the GPU cluster was created
- Creator
Task stringId - Task that created this entity
- Flavor string
- Flavor ID (name)
- Image
Id string - Image ID
- Image
Name string - Image name
- Instances
Count float64 - Number of servers in the GPU cluster
- Interfaces
[]Ai
Cluster Interface Args - Networks managed by user and associated with the cluster
- Keypair
Name string - The name of the SSH keypair to use for the GPU servers
- Password string
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- Poplar
Servers []AiCluster Poplar Server Args - GPU cluster servers list
- Project
Id float64 - Project ID, only one of projectid or projectname should be set
- Project
Name string - Project name, only one of projectid or projectname should be set
- Region
Id float64 - Region ID, only one of regionid or regionname should be set
- Region
Name string - Region name, only one of regionid or regionname should be set
- Security
Groups []AiCluster Security Group Args - Security groups attached to the cluster
- Task
Id string - Task ID associated with the cluster
- Task
Status string - Task status
- User
Data string - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- Username string
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- Volumes
[]Ai
Cluster Volume Args - List of volumes attached to the cluster
- ai
Cluster StringId - The ID of this resource.
- cluster
Metadata Map<String,String> - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- cluster
Name String - GPU Cluster Name
- cluster
Status String - GPU Cluster status
- created
At String - Datetime when the GPU cluster was created
- creator
Task StringId - Task that created this entity
- flavor String
- Flavor ID (name)
- image
Id String - Image ID
- image
Name String - Image name
- instances
Count Double - Number of servers in the GPU cluster
- interfaces
List<Ai
Cluster Interface> - Networks managed by user and associated with the cluster
- keypair
Name String - The name of the SSH keypair to use for the GPU servers
- password String
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- poplar
Servers List<AiCluster Poplar Server> - GPU cluster servers list
- project
Id Double - Project ID, only one of projectid or projectname should be set
- project
Name String - Project name, only one of projectid or projectname should be set
- region
Id Double - Region ID, only one of regionid or regionname should be set
- region
Name String - Region name, only one of regionid or regionname should be set
- security
Groups List<AiCluster Security Group> - Security groups attached to the cluster
- task
Id String - Task ID associated with the cluster
- task
Status String - Task status
- user
Data String - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- username String
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- volumes
List<Ai
Cluster Volume> - List of volumes attached to the cluster
- ai
Cluster stringId - The ID of this resource.
- cluster
Metadata {[key: string]: string} - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- cluster
Name string - GPU Cluster Name
- cluster
Status string - GPU Cluster status
- created
At string - Datetime when the GPU cluster was created
- creator
Task stringId - Task that created this entity
- flavor string
- Flavor ID (name)
- image
Id string - Image ID
- image
Name string - Image name
- instances
Count number - Number of servers in the GPU cluster
- interfaces
Ai
Cluster Interface[] - Networks managed by user and associated with the cluster
- keypair
Name string - The name of the SSH keypair to use for the GPU servers
- password string
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- poplar
Servers AiCluster Poplar Server[] - GPU cluster servers list
- project
Id number - Project ID, only one of projectid or projectname should be set
- project
Name string - Project name, only one of projectid or projectname should be set
- region
Id number - Region ID, only one of regionid or regionname should be set
- region
Name string - Region name, only one of regionid or regionname should be set
- security
Groups AiCluster Security Group[] - Security groups attached to the cluster
- task
Id string - Task ID associated with the cluster
- task
Status string - Task status
- user
Data string - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- username string
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- volumes
Ai
Cluster Volume[] - List of volumes attached to the cluster
- ai_
cluster_ strid - The ID of this resource.
- cluster_
metadata Mapping[str, str] - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- cluster_
name str - GPU Cluster Name
- cluster_
status str - GPU Cluster status
- created_
at str - Datetime when the GPU cluster was created
- creator_
task_ strid - Task that created this entity
- flavor str
- Flavor ID (name)
- image_
id str - Image ID
- image_
name str - Image name
- instances_
count float - Number of servers in the GPU cluster
- interfaces
Sequence[Ai
Cluster Interface Args] - Networks managed by user and associated with the cluster
- keypair_
name str - The name of the SSH keypair to use for the GPU servers
- password str
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- poplar_
servers Sequence[AiCluster Poplar Server Args] - GPU cluster servers list
- project_
id float - Project ID, only one of projectid or projectname should be set
- project_
name str - Project name, only one of projectid or projectname should be set
- region_
id float - Region ID, only one of regionid or regionname should be set
- region_
name str - Region name, only one of regionid or regionname should be set
- security_
groups Sequence[AiCluster Security Group Args] - Security groups attached to the cluster
- task_
id str - Task ID associated with the cluster
- task_
status str - Task status
- user_
data str - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- username str
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- volumes
Sequence[Ai
Cluster Volume Args] - List of volumes attached to the cluster
- ai
Cluster StringId - The ID of this resource.
- cluster
Metadata Map<String> - A map of metadata items. Key-value pairs for GPU cluster metadata. Example: {'environment': 'production', 'owner': 'user'}
- cluster
Name String - GPU Cluster Name
- cluster
Status String - GPU Cluster status
- created
At String - Datetime when the GPU cluster was created
- creator
Task StringId - Task that created this entity
- flavor String
- Flavor ID (name)
- image
Id String - Image ID
- image
Name String - Image name
- instances
Count Number - Number of servers in the GPU cluster
- interfaces List<Property Map>
- Networks managed by user and associated with the cluster
- keypair
Name String - The name of the SSH keypair to use for the GPU servers
- password String
- A password for servers in GPU cluster. This parameter is used to set a password for the Admin user on a Windows instance, a default user or a new user on a Linux instance
- poplar
Servers List<Property Map> - GPU cluster servers list
- project
Id Number - Project ID, only one of projectid or projectname should be set
- project
Name String - Project name, only one of projectid or projectname should be set
- region
Id Number - Region ID, only one of regionid or regionname should be set
- region
Name String - Region name, only one of regionid or regionname should be set
- security
Groups List<Property Map> - Security groups attached to the cluster
- task
Id String - Task ID associated with the cluster
- task
Status String - Task status
- user
Data String - User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
- username String
- A name of a new user in the Linux instance. It may be passed with a 'password' parameter
- volumes List<Property Map>
- List of volumes attached to the cluster
Supporting Types
AiClusterInterface, AiClusterInterfaceArgs
- network_
id str - Network ID
- port_
id str - Network ID the subnet belongs to. Port will be plugged in this network
- subnet_
id str - Port is assigned to IP address from the subnet
- type str
- Network type
AiClusterPoplarServer, AiClusterPoplarServerArgs
- Addresses
List<Ai
Cluster Poplar Server Address> - Creator
Task stringId - Flavor Dictionary<string, string>
- Flavor
Id string - Instance
Created string - Instance
Description string - Instance
Id string - Instance
Name string - Metadata Dictionary<string, string>
- Security
Groups List<AiCluster Poplar Server Security Group> - Status string
- Task
Id string - Task
State string - Vm
State string - Volumes
List<Ai
Cluster Poplar Server Volume>
- Addresses
[]Ai
Cluster Poplar Server Address - Creator
Task stringId - Flavor map[string]string
- Flavor
Id string - Instance
Created string - Instance
Description string - Instance
Id string - Instance
Name string - Metadata map[string]string
- Security
Groups []AiCluster Poplar Server Security Group - Status string
- Task
Id string - Task
State string - Vm
State string - Volumes
[]Ai
Cluster Poplar Server Volume
- addresses
List<Ai
Cluster Poplar Server Address> - creator
Task StringId - flavor Map<String,String>
- flavor
Id String - instance
Created String - instance
Description String - instance
Id String - instance
Name String - metadata Map<String,String>
- security
Groups List<AiCluster Poplar Server Security Group> - status String
- task
Id String - task
State String - vm
State String - volumes
List<Ai
Cluster Poplar Server Volume>
- addresses
Ai
Cluster Poplar Server Address[] - creator
Task stringId - flavor {[key: string]: string}
- flavor
Id string - instance
Created string - instance
Description string - instance
Id string - instance
Name string - metadata {[key: string]: string}
- security
Groups AiCluster Poplar Server Security Group[] - status string
- task
Id string - task
State string - vm
State string - volumes
Ai
Cluster Poplar Server Volume[]
- addresses
Sequence[Ai
Cluster Poplar Server Address] - creator_
task_ strid - flavor Mapping[str, str]
- flavor_
id str - instance_
created str - instance_
description str - instance_
id str - instance_
name str - metadata Mapping[str, str]
- security_
groups Sequence[AiCluster Poplar Server Security Group] - status str
- task_
id str - task_
state str - vm_
state str - volumes
Sequence[Ai
Cluster Poplar Server Volume]
- addresses List<Property Map>
- creator
Task StringId - flavor Map<String>
- flavor
Id String - instance
Created String - instance
Description String - instance
Id String - instance
Name String - metadata Map<String>
- security
Groups List<Property Map> - status String
- task
Id String - task
State String - vm
State String - volumes List<Property Map>
AiClusterPoplarServerAddress, AiClusterPoplarServerAddressArgs
AiClusterPoplarServerAddressAddress, AiClusterPoplarServerAddressAddressArgs
AiClusterPoplarServerSecurityGroup, AiClusterPoplarServerSecurityGroupArgs
- Name string
- Name string
- name String
- name string
- name str
- name String
AiClusterPoplarServerVolume, AiClusterPoplarServerVolumeArgs
- Delete
On boolTermination - Id string
- Delete
On boolTermination - Id string
- delete
On BooleanTermination - id String
- delete
On booleanTermination - id string
- delete_
on_ booltermination - id str
- delete
On BooleanTermination - id String
AiClusterSecurityGroup, AiClusterSecurityGroupArgs
- Id string
- Security group ID
- Id string
- Security group ID
- id String
- Security group ID
- id string
- Security group ID
- id str
- Security group ID
- id String
- Security group ID
AiClusterVolume, AiClusterVolumeArgs
- Image
Id string - Volume ID. Mandatory if volume is pre-existing volume
- Attachments
List<Ai
Cluster Volume Attachment> - Attachment list
- Created
At string - Datetime when the volume was created
- Creator
Task stringId - Task that created this entity
- Name string
- Volume name
- Size double
- Volume size, GiB
- Source string
- Currently available only value
- Status string
- Volume status
- Updated
At string - Datetime when the volume was last updated
- Volume
Id string - Volume ID
- Volume
Image Dictionary<string, string>Metadata - Image information for volumes that were created from image
- Volume
Type string - Volume type
- Image
Id string - Volume ID. Mandatory if volume is pre-existing volume
- Attachments
[]Ai
Cluster Volume Attachment - Attachment list
- Created
At string - Datetime when the volume was created
- Creator
Task stringId - Task that created this entity
- Name string
- Volume name
- Size float64
- Volume size, GiB
- Source string
- Currently available only value
- Status string
- Volume status
- Updated
At string - Datetime when the volume was last updated
- Volume
Id string - Volume ID
- Volume
Image map[string]stringMetadata - Image information for volumes that were created from image
- Volume
Type string - Volume type
- image
Id String - Volume ID. Mandatory if volume is pre-existing volume
- attachments
List<Ai
Cluster Volume Attachment> - Attachment list
- created
At String - Datetime when the volume was created
- creator
Task StringId - Task that created this entity
- name String
- Volume name
- size Double
- Volume size, GiB
- source String
- Currently available only value
- status String
- Volume status
- updated
At String - Datetime when the volume was last updated
- volume
Id String - Volume ID
- volume
Image Map<String,String>Metadata - Image information for volumes that were created from image
- volume
Type String - Volume type
- image
Id string - Volume ID. Mandatory if volume is pre-existing volume
- attachments
Ai
Cluster Volume Attachment[] - Attachment list
- created
At string - Datetime when the volume was created
- creator
Task stringId - Task that created this entity
- name string
- Volume name
- size number
- Volume size, GiB
- source string
- Currently available only value
- status string
- Volume status
- updated
At string - Datetime when the volume was last updated
- volume
Id string - Volume ID
- volume
Image {[key: string]: string}Metadata - Image information for volumes that were created from image
- volume
Type string - Volume type
- image_
id str - Volume ID. Mandatory if volume is pre-existing volume
- attachments
Sequence[Ai
Cluster Volume Attachment] - Attachment list
- created_
at str - Datetime when the volume was created
- creator_
task_ strid - Task that created this entity
- name str
- Volume name
- size float
- Volume size, GiB
- source str
- Currently available only value
- status str
- Volume status
- updated_
at str - Datetime when the volume was last updated
- volume_
id str - Volume ID
- volume_
image_ Mapping[str, str]metadata - Image information for volumes that were created from image
- volume_
type str - Volume type
- image
Id String - Volume ID. Mandatory if volume is pre-existing volume
- attachments List<Property Map>
- Attachment list
- created
At String - Datetime when the volume was created
- creator
Task StringId - Task that created this entity
- name String
- Volume name
- size Number
- Volume size, GiB
- source String
- Currently available only value
- status String
- Volume status
- updated
At String - Datetime when the volume was last updated
- volume
Id String - Volume ID
- volume
Image Map<String>Metadata - Image information for volumes that were created from image
- volume
Type String - Volume type
AiClusterVolumeAttachment, AiClusterVolumeAttachmentArgs
- Attached
At string - Attachment creation datetime
- Attachment
Id string - ID of attachment object
- Device string
- Block device name in guest
- Instance
Name string - Instance name (if attached and server name is known)
- Server
Id string - Instance ID
- Volume
Id string - Volume ID
- Attached
At string - Attachment creation datetime
- Attachment
Id string - ID of attachment object
- Device string
- Block device name in guest
- Instance
Name string - Instance name (if attached and server name is known)
- Server
Id string - Instance ID
- Volume
Id string - Volume ID
- attached
At String - Attachment creation datetime
- attachment
Id String - ID of attachment object
- device String
- Block device name in guest
- instance
Name String - Instance name (if attached and server name is known)
- server
Id String - Instance ID
- volume
Id String - Volume ID
- attached
At string - Attachment creation datetime
- attachment
Id string - ID of attachment object
- device string
- Block device name in guest
- instance
Name string - Instance name (if attached and server name is known)
- server
Id string - Instance ID
- volume
Id string - Volume ID
- attached_
at str - Attachment creation datetime
- attachment_
id str - ID of attachment object
- device str
- Block device name in guest
- instance_
name str - Instance name (if attached and server name is known)
- server_
id str - Instance ID
- volume_
id str - Volume ID
- attached
At String - Attachment creation datetime
- attachment
Id String - ID of attachment object
- device String
- Block device name in guest
- instance
Name String - Instance name (if attached and server name is known)
- server
Id String - Instance ID
- volume
Id String - Volume ID
Import
import using <project_id>:<region_id>:<cluster_id> format
$ pulumi import gcore:index/aiCluster:AiCluster cluster1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- gcore g-core/terraform-provider-gcore
- License
- Notes
- This Pulumi package is based on the
gcore
Terraform Provider.